第三章JSP資料互動(=)
阿新 • • 發佈:2019-01-02
jsp內建物件application
在更大範圍內儲存資料
作用域對比:
request 單次請求
session N次請求 一次對話
application 整個應用 N次對話
作用域比較
page <request<session<application
cookie:
cookie是web伺服器儲存在客戶端的一系列文字資訊、
每個瀏覽器獨享各自的cookie 不能交叉訪問
記憶體級別 :關閉瀏覽器cookie生命週期結束
硬碟級別:有效的生命週期內 永久保留
cookie的作用
對特定物件的追蹤
統計網頁瀏覽次數
簡化登入
安全效能:容易資訊洩露
cookie只能儲存字串
不能儲存中文如果存可以轉化為Unicode編碼
cookIe 物件的幾個常用方法
設定cookie的有效期 以秒為單位
//記錄
Cookie cookie=new Cookie("txtname",name);
Cookie cookpwd=new Cookie("txtpwd",pwd);
//新增
response.addCookie(cookie);
response.addCookie(cookpwd);
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>開始頁面</title> </head> <body> <form action="do.jsp" method="get"> 使用者名稱:<input type="text" name="txtname"/> 密碼: <input type="password" name="txtpwd"/> <input type="submit" value="提交"/> </form> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
//1.防止亂碼
request.setCharacterEncoding("utf-8");
//2.接收資料 String name=request.getParameter("txtname"); String pwd=request.getParameter("txtpwd");
//3.跳轉
if("admin".equals(name)&&"admin".equals(pwd))
{
//認證通過
//轉發到success.jsp
//記錄session ,用Session記錄登入身份
session.setAttribute("names", name);
//session.setMaxInactiveInterval(60);
request.getRequestDispatcher("index.jsp").forward(request,response);}else{response.sendRedirect("begin.jsp");}
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
歡迎您 <%=session.getAttribute("names") %>
<hr/>
<a href="<%=path %>/logout.jsp">登出</a>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
//1.清除session
session.removeAttribute("txtname");
//2.跳轉到登入
response.sendRedirect("/day03/begin.jsp");
%>