Session存字符串数据
用Session存字符串数据
什么是Session:
-
服务器会给每一个用户(浏览器)创建一个Session对象
-
一个Session独占一个浏览器,只要浏览器没有关闭,这个Session就存在
-
用户登录之后,整个网站都可以访问 ---->保存用户信息;保存购物车信息 等等..
-
Session能存字符串,也能存入用户信息
Session和Cookie的区别:
-
Cookie是把用户的数据写给用户的浏览器,浏览器保存(可以保存多个)
-
Session把用户的数据写到用户独占Session中,服务器保存(保存重要信息,减少服务器资源浪费)
-
使用场景:
-
保存一个登陆用户的信息
-
购物车信息
-
在整个网站中经常会使用的数据,我们将它保存在Session中
以下1-5执行的是:在Demo01类中用Session存字符串数据(王赞),在Demo02类中用Session读字符串数据。

1 package com.wang.servlet; 2 import javax.servlet.ServletException; 3 import javax.servlet.http.HttpServlet; 4 import javax.servlet.http.HttpServletRequest; 5 import javax.servlet.http.HttpServletResponse; 6 import javax.servlet.http.HttpSession; 7 import java.io.IOException; 8 public class SessionDemo01 extends HttpServlet { 9 @Override 10 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 11 //解决乱码问题 12 resp.setCharacterEncoding("UTF-8"); 13 req.setCharacterEncoding("UTF-8"); 14 resp.setContentType("text/html;charset=UTF-8"); 15 //得到Session 16 HttpSession session = req.getSession(); 17 //给session中存入东西 18 session.setAttribute("name","王赞"); 19 //获取Session的ID 20 String sessionId = session.getId(); 21 22 //判断Session是不是新创建的 23 if(session.isNew()) 24 { 25 resp.getWriter().write("Session创建成功,ID:"+sessionId); 26 } 27 else 28 { 29 resp.getWriter().write("Session已经在服务器中存在,ID:"+sessionId); 30 } 31 } 32 @Override 33 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 34 doGet(req, resp); 35 } 36 }
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 6 http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" 7 version="4.0" 8 metadata-complete="true"> 9 <!--注册和映射--> 10 <servlet> 11 <servlet-name>SessionDemo01</servlet-name> 12 <servlet-class>com.wang.servlet.SessionDemo01</servlet-class> 13 </servlet> 14 <servlet-mapping> 15 <servlet-name>SessionDemo01</servlet-name> 16 <url-pattern>/s1</url-pattern> 17 </servlet-mapping> 18 </web-app>

1 package com.wang.servlet; 2 3 import javax.servlet.ServletException; 4 import javax.servlet.http.HttpServlet; 5 import javax.servlet.http.HttpServletRequest; 6 import javax.servlet.http.HttpServletResponse; 7 import javax.servlet.http.HttpSession; 8 import java.io.IOException; 9 10 public class SessionDemo02 extends HttpServlet { 11 @Override 12 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 13 //解决乱码问题 14 resp.setCharacterEncoding("UTF-8"); 15 req.setCharacterEncoding("UTF-8"); 16 resp.setContentType("text/html;charset=UTF-8"); 17 //得到Session 18 HttpSession session = req.getSession(); 19 20 String name = (String) session.getAttribute("name"); 21 22 System.out.println(name.toString()); 23 } 24 @Override 25 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 26 doGet(req, resp); 27 } 28 }
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 6 http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" 7 version="4.0" 8 metadata-complete="true"> 9 <!--注册和映射--> 10 <servlet> 11 <servlet-name>SessionDemo01</servlet-name> 12 <servlet-class>com.wang.servlet.SessionDemo01</servlet-class> 13 </servlet> 14 <servlet-mapping> 15 <servlet-name>SessionDemo01</servlet-name> 16 <url-pattern>/s1</url-pattern> 17 </servlet-mapping> 18 <!--注册和映射--> 19 <servlet> 20 <servlet-name>SessionDemo02</servlet-name> 21 <servlet-class>com.wang.servlet.SessionDemo02</servlet-class> 22 </servlet> 23 <servlet-mapping> 24 <servlet-name>SessionDemo02</servlet-name> 25 <url-pattern>/s2</url-pattern> 26 </servlet-mapping> 27 </web-app>






浙公网安备 33010602011771号