application.setAttribute
时间: 2023-08-01 21:14:57 浏览: 167
application.setAttribute 是一个用于在 Java Web 应用程序中设置和获取应用程序范围属性的方法。它允许开发者在整个应用程序中共享数据。这些属性可以在整个应用程序的生命周期内访问和修改。
例如,可以使用以下代码设置一个名为 "counter" 的应用程序范围属性,并将其初始化为 0:
```java
int counter = 0;
application.setAttribute("counter", counter);
```
然后,您可以在应用程序中的任何位置获取和修改此属性的值:
```java
int counter = (int) application.getAttribute("counter");
counter++;
application.setAttribute("counter", counter);
```
这样,您就可以在应用程序中的不同部分共享和操作 "counter" 属性的值。
相关问题
【设计实现】设计两个页面1.jsp、 2.jsp,理解JSP中四种作用范围的区别:page,request,session,application。 1.jsp中分别在四个范围内存储四个字符串,其主要代码如下: pageContext.setAttribute("p","pagestr"); request.setAttribute("r","requeststr"); session.setAttribute("s","sessionstr"); application.setAttribute
("a","applicationstr");
在2.jsp中,获取并输出四个字符串的值,代码如下:
```
<%@ page language="java" %>
<%@ page import="java.io.*, javax.servlet.*, javax.servlet.http.*"%>
<html>
<head>
<title>Scope Example</title>
</head>
<body>
<h1>Scope Example</h1>
<p>Page scope: <%= pageContext.getAttribute("p") %></p>
<p>Request scope: <%= request.getAttribute("r") %></p>
<p>Session scope: <%= session.getAttribute("s") %></p>
<p>Application scope: <%= application.getAttribute("a") %></p>
</body>
</html>
```
在页面中,我们使用 JSP 的四种作用范围来存储数据,然后在另一个页面中获取并输出这些值。在这个例子中,我们使用了以下作用域:
1. page:这是最小的作用域,只能在当前 JSP 页面内访问。
2. request:这个作用域可以在同一个请求中的多个 JSP 页面之间传递数据。
3. session:这个作用域可以在整个用户会话期间传递数据,即用户在登录之后访问的所有页面都可以访问这些数据。
4. application:这个作用域可以在整个 Web 应用程序中传递数据,即在多个用户会话之间共享数据。
注意,这些作用域中的数据是在服务器端存储的,而不是在客户端。因此,它们是安全的,并且不会被用户篡改或窃取。
while (rs.next()) { application.setAttribute("id", rs.getString("spid")); application.setAttribute("goods_name", rs.getString("itemname")); application.setAttribute("goodspic", rs.getString("price")); //application.setAttribute("blob", rs.getString("blob")); %> <tr> <td width = "100px" height = "42px"> <input name="one" type="checkbox" onclick="myOne()"/> </label> </td> <td width = "135px" height = "42px"><%=application.getAttribute("id") %></td> <td width = "150px" height = "42px"><%=application.getAttribute("goods_name")%></td> <td width = "150px" height = "42px" id="price"> <img src="yuan.jpg" width="20" heigth="20"> <%=application.getAttribute("goodspic")%> </td> <td width = "240px" height = "42px" id="car"> <input type="button" class="decrease" value="-"> <input type="text" class="quantity" value="1"/> <input type="button" class="increase" value="+"> </td> <td width = "135px" height = "42px"> <input type="button" class="deldet" value="删除此商品"> </td> </tr> <% } %>根据以上代码编写购物车价格总计并当页显示
可以在代码中加入以下部分来实现购物车价格总计并当页显示:
```
<%
double total = 0;
ResultSet rs = ... // 数据库查询代码
while (rs.next()) {
// ... 数据库查询结果处理代码
double price = Double.parseDouble((String)application.getAttribute("goodspic"));
total += price;
// ... HTML代码
}
%>
<tr>
<td colspan="3"></td>
<td>总计:</td>
<td colspan="2"><%= total %></td>
</tr>
```
其中,`total` 变量用来存储购物车中所有商品的价格总和,`price` 变量用来存储当前商品的价格,`Double.parseDouble()` 方法用来将字符串类型的价格转换为浮点数类型。在 HTML 代码中,使用 `<td>` 元素来显示总计价格。这里使用了 `colspan` 属性来让总计这一行占据两列,以便居中显示。
阅读全文