session
session
- 什么是session?
服务器端会话技术 - api
(1)session的获取
HttpSession session=request.getSession()
(2)session属性操作
session.setAttribute("attr_name", attr_value);//设置属性
session.getAttribute(attr_name);//获取属性
a.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="/sessiontest/demo1">访问demo1</a>
<a href="/sessiontest/demo2">访问demo2</a>
<a href="/sessiontest/demo3">访问demo3</a>
</body>
</html>
Demo1Servlet
package com.oracle;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class Demo1Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//request.setAttribute("username", "zhangsan");
//请求转发
//request.getRequestDispatcher("/demo2").forward(request, response);
//创建session
HttpSession session = request.getSession();
System.out.println("Demo1Servlet增加username属性,值为lisi");
session.setAttribute("username", "lisi");
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
Demo2Servlet
package com.oracle;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class Demo2Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//String username = (String)request.getAttribute("username");
//System.out.println(username);//null 一次会话当中的第二次请求不能得到第一次请求的数据
HttpSession session = request.getSession();
String username = (String)session.getAttribute("username");
System.out.println("Demo2Servlet:" + username);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
Demo3Servlet
package com.oracle;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class Demo3Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
String username = (String)session.getAttribute("username");
System.out.println("Demo2Servlet:" + username);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}