Javaweb 会话跟踪学习记录(2)—Session

10

  • 通过会话对象的 setMaxInactiveInterval() 方法设置会话的最大不活动时间(个别):

session.setMaxInactiveInterval(600); //单位为”秒“

  • 会话对象除了在超过最大不活动时间自动失效外,也可以通过调用invalidate() 方法让其立即失效。

  • 示例:设置会话立即失效:session.invalidate ();

  • 服务器在执行会话失效代码后,会清除会话对象及其所有会话域属性,同时响应客户端浏览器清除 Cookie 中的 JSESSIONID 。

  • 在实际应用中,此方法多用来实现系统的“安全退出”,使客户端和服务器彻底结束此次回话,清除所有会话相关信息,防止会话劫持等黑客攻击。

5.演示

演示使用Session实现购物车

创建phoneChoose.jsp

<%@ page language=“java” contentType=“text/html; charset=UTF-8”

pageEncoding=“UTF-8”%>

Insert title here

<%

//session.removeAttribute(“shoppingCar”);

//session.invalidate();

%>

<%

out.print(“

手机商城



”);

%>

华为P30   

华为mate30

iphone11 

iphone12 

小米10pro  

三星S20   

iqoo3    

vivo NEX3  

创建ShoppingCarServlet

package com;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

/**

  • Servlet implementation class ShoppingCarServlet

*/

@WebServlet(“/ShoppingCarServlet”)

public class ShoppingCarServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

  • @see HttpServlet#HttpServlet()

*/

public ShoppingCarServlet() {

super();

// TODO Auto-generated constructor stub

}

/**

  • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse

  •  response)
    

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

request.setCharacterEncoding(“utf-8”);

HttpSession session = request.getSession();

Map<String, Integer> car = (Map<String, Integer>) session.getAttribute(“shoppingCar”);

if (car == null) {

car = new HashMap<>();

}

String[] phones = request.getParameterValues(“phone”);

if (phones != null && phones.length > 0) {

for (String phone : phones) {

// 判断购物车中是否有某手机的购买信息

if (car.get(phone) != null) {

int num = car.get(phone);

car.put(phone, num + 1);

} else {

// 第一次购买手机

car.put(phone, 1);

}

}

}

session.setAttribute(“shoppingCar”, car);

response.sendRedirect(“ShoppingListServlet”);

}

/**

  • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse

  •  response)
    

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

创建ShoppingListServlet

package com;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Map;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

/**

  • Servlet implementation class ShoppingListServlet

*/

@WebServlet(“/ShoppingListServlet”)

public class ShoppingListServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

  • @see HttpServlet#HttpServlet()

*/

如何快速更新自己的技术积累?

  • 在现有的项目里,深挖技术,比如用到netty可以把相关底层代码和要点都看起来。
  • 如果不知道目前的努力方向,就看自己的领导或公司里技术强的人在学什么。
  • 知道努力方向后不知道该怎么学,就到处去找相关资料然后练习。
  • 学习以后不知道有没有学成,则可以通过面试去检验。

我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目

八年CRUD,疫情备战三个月,三面头条、四面阿里拿offer面经分享

八年CRUD,疫情备战三个月,三面头条、四面阿里拿offer面经分享

和要点都看起来。

  • 如果不知道目前的努力方向,就看自己的领导或公司里技术强的人在学什么。
  • 知道努力方向后不知道该怎么学,就到处去找相关资料然后练习。
  • 学习以后不知道有没有学成,则可以通过面试去检验。

我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目

[外链图片转存中…(img-JBHh320R-1719263873151)]

[外链图片转存中…(img-LGVGdVaM-1719263873152)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值