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 {

    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM