模擬購物車頁面頁面
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 { } }