zoukankan      html  css  js  c++  java
  • HttpSession

    模拟购物车页面页面

    package cn.soldier.session;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    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;
    
    /*
     * 模拟购物车页面页面
     * */
    @WebServlet("/sessionDemo1")
    public class SessionDemo1 extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        protected void doGet(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
            response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
            HttpSession session = request.getSession();
            session.setAttribute("buy", "电视机");
    
            /*
             * encodeUrl
             * 
             * 为url构造JSESESSIONID,防止用户禁用cookie后,session失效。
             * 第一次访问时encodeUrl会构造JSESESSIONID,
             *  当判断到用户浏览器没有禁用cookie会关闭构造JSESESSIONID
             */
            String url1 = response.encodeUrl("ServletDemo/sessionDemo1");
            String url2 = response.encodeUrl("ServletDemo/sessionDemo2");
    
            out.write("<a href='" + url1 + "'>购买</a></br><a href='" + url2
                    + "'>结账</a>");
    
            // 使session失效
            /* session.invalidate(); */
    
        }
    
        protected void doPost(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
            doGet(request, response);
    
        }
    }

    模拟结账页面

    package cn.soldier.session;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    /**
     * 模拟结账页面
     */
    @WebServlet("/sessionDemo2")
    public class SessionDemo2 extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        protected void doGet(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
            response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
    
            HttpSession session = request.getSession();
            String sessionId = session.getId();
            //设置cookie 是为了防止浏览器关闭用户丢失Session。
            Cookie cookie = new Cookie("JSESESSIONID",sessionId);
            cookie.setPath("day07");
            cookie.setMaxAge(60*30);
            response.addCookie(cookie);
            
            String product = (String) session.getAttribute("buy");
            out.write("您购买了" + product+"<br />");
            
            String url1 =response.encodeUrl("ServletDemo/sessionDemo1");
            String url2 =response.encodeUrl("ServletDemo/sessionDemo2");
            
            out.write("<a href='"+url1+"'>购买</a></br><a href='"+url2+"'>结账</a>");
    
        }
    
        protected void doPost(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
    
        }
    }
  • 相关阅读:
    第六周学习心得
    syncnavigator关于win10、win8系统无法注册机进行激活的问题
    使用SyncNavigator轻松实现数据库异地同步、断点续传、异构同步
    数据库同步的正确打开方式
    使用SyncNavigator实现数据库异地同步。
    聊聊MySQL主从数据库同步的那些事儿
    高并发架构系列:数据库主从同步的3种一致性方案实现,及优劣比较
    MySQL binlog数据库同步技术总结
    数据库同步的两种方式
    某省肿瘤医院 — 数据备份 + 数据库同步
  • 原文地址:https://www.cnblogs.com/lhy_2011/p/4044820.html
Copyright © 2011-2022 走看看