sesssion小计

设置session的超时时间:

1.设置tomcat/conf/web.xml下:

<session-config>
<session-timeout>30</session-timeout>
</session-config>

2.在工作工程中web.xml中设置:

<session-config>
<session-timeout>15</session-timeout>
</session-config>

3.在代码中设置:

session.setMaxInactiveInterval(30*60);

优先执行等级是:1<2<3;

方法2修改超时时间时,存在HttpSessionListener监听器去监听session的创建与销毁;

方法1设置超时时间为0或者-1 可以不限制session失效时间

session最长超时时间为24小时,即1440分钟,设置工程中的session-timeout即可;

在前端设置session永不过期:

1.在保持session的页面里添加:

<iframe width=0 height=0 src="/blog/SessionKeeper.asp"> 
</iframe> 

在同一目录下新建SessionKeeper.asp文件:

 <html> 
<head> 
<meta http-equiv="Refresh" content="900000;url=sessionKeeper.asp"> 
<!--每隔900秒刷新一下自己,为了和服务器通讯一下,保持session不会丢--> 
</head> 
</html>

2.用javascript:window.setTimeout("functionname()",10000);每隔一段时间时间自动调用一个函数的方法,当然函数里还是要去连接一个空的文件;

在保持session的页面中添加:

<script id=Back language=javascript></script> 

<script language=javascript> 
function keepsession(){ 
document.all["Back"].src="/blog/SessionKeeper.asp?RandStr="+Math.random(); 
//这里的RandStr=Math.random只是为了让每次back.src的值不同,防止同一地址刷新无效的情况 
window.setTimeout("keepsession()",900000); //每隔900秒调用一下本身 
} 
keepsession(); 
</script> 

同样需要在同一目录下面添加一个空的sessionKeeper.asp文件即可;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
购物车是一个常见的电子商务功能,通常用于存储用户选择的商品和其数量。在JSP中,可以使用Session来实现购物车功能。 首先,需要在用户添加商品到购物车时,将商品信息存储到Session中。可以使用以下代码示例: ```jsp <% String productId = request.getParameter("productId"); int quantity = Integer.parseInt(request.getParameter("quantity")); // 获取购物车对象,如果不存在则创建 HttpSession session = request.getSession(); ShoppingCart cart = (ShoppingCart) session.getAttribute("cart"); if (cart == null) { cart = new ShoppingCart(); session.setAttribute("cart", cart); } // 将商品添加到购物车 Product product = getProductById(productId); cart.addItem(product, quantity); %> ``` 在上述代码中,首先获取用户提交的商品ID和数量。然后,从Session中获取购物车对象,如果购物车不存在则创建一个新的购物车对象。最后,将商品和数量添加到购物车中。 购物车对象可以定义如下: ```java import java.util.ArrayList; import java.util.List; public class ShoppingCart { private List<CartItem> items = new ArrayList<>(); public void addItem(Product product, int quantity) { for (CartItem item : items) { if (item.getProduct().getId().equals(product.getId())) { item.setQuantity(item.getQuantity() + quantity); return; } } items.add(new CartItem(product, quantity)); } public List<CartItem> getItems() { return items; } public int getTotalQuantity() { int total = 0; for (CartItem item : items) { total += item.getQuantity(); } return total; } public double getTotalPrice() { double total = 0; for (CartItem item : items) { total += item.getSubtotal(); } return total; } } public class CartItem { private Product product; private int quantity; public CartItem(Product product, int quantity) { this.product = product; this.quantity = quantity; } public Product getProduct() { return product; } public void setProduct(Product product) { this.product = product; } public int getQuantity() { return quantity; } public void setQuantity(int quantity) { this.quantity = quantity; } public double getSubtotal() { return product.getPrice() * quantity; } } ``` 上述代码定义了一个购物车对象和一个购物车项对象,购物车项包含了商品和数量信息。购物车对象包含了多个购物车项,并提供了计算总数量和总价格的方法。 在JSP页面中,可以使用以下代码来显示购物车信息: ```jsp <% HttpSession session = request.getSession(); ShoppingCart cart = (ShoppingCart) session.getAttribute("cart"); if (cart == null || cart.getTotalQuantity() == 0) { out.println("购物车为空"); } else { out.println("<table>"); out.println("<tr><th>商品</th><th>数量</th><th>单价</th><th>小计</th></tr>"); for (CartItem item : cart.getItems()) { out.println("<tr>"); out.println("<td>" + item.getProduct().getName() + "</td>"); out.println("<td>" + item.getQuantity() + "</td>"); out.println("<td>" + item.getProduct().getPrice() + "</td>"); out.println("<td>" + item.getSubtotal() + "</td>"); out.println("</tr>"); } out.println("<tr><td colspan=\"3\">总计:</td><td>" + cart.getTotalPrice() + "</td></tr>"); out.println("</table>"); } %> ``` 在上述代码中,首先从Session中获取购物车对象,如果购物车为空则显示“购物车为空”提示信息。否则,使用HTML表格显示购物车中的商品信息和总价。 综上所述,使用Session来实现购物车功能可以很方便地存储和获取用户选择的商品信息,并支持计算总数量和总价格。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值