1. 程式人生 > >第三章JSP資料互動(=)

第三章JSP資料互動(=)

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");

%>