JSP数据交互:application和cookie

来源:互联网 发布:网络电视机如何使用 编辑:程序博客网 时间:2024/05/22 09:38

关于作用域的对比:

JSP内置对象application:  

       application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量。只要服务启动,则application对象就会存在。

       application统计网站访问次数实例:

     

 Cookie(形成在server(服务器)端,保存在客户端):

      cookieWeb服务器保存在客户端的一系列文本信息,根据域名和端口号区分是否保存成一个文件,文件大小为4k。注意:http://localhost:8080/newshttp://localhost:8080/news/util会形成两个cookie文件。


Cookie作用:

对特定对象的追踪

统计网页浏览次数

简化登陆

Cookie使用:

 


实际案例:

  register:  

<%@ 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 'register.jsp' starting page</title>  </head>    <body>  <%       Cookie[] cookies = request.getCookies();       if(cookies!=null){          for(Cookie item:cookies){            if(item.getName().equals("uname")){              session.setAttribute("uname", item.getValue());              response.sendRedirect(path+"/session/success.jsp");            }          }       }   %>    <form action = "/jspDay02/session/do.jsp" method = "post">       <input name = "uname"/>       <input name = "upwd" type="password"/>       <input type ="submit" value = "登陆"/>       </form>  </body></html>

do:

  

<%@ 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 uname = request.getParameter("uname");     String upwd = request.getParameter("upwd");     //3.跳转     if("admin".equals(uname)&&"1".equals(upwd)){         session.setAttribute("uname", uname);         //记录cookie         Cookie cookie = new Cookie("uname",uname);         Cookie cookiepwd = new Cookie("upwd",upwd);         cookie.setMaxAge(20);         response.addCookie(cookie);         response.addCookie(cookiepwd);         response.sendRedirect("/jspDay02/session/index.jsp");     }else{        response.sendRedirect("/jspDay02/session/register.jsp");     }   %>   

index(登陆显示):

<%@ 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("uname") %>    <a href="/jspDay02/session/out.jsp">注销</a>  </body></html>

out(实现注销功能):

<%@ 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 'out.jsp' starting page</title>  </head>    <body>    <%          //1.清除         session.removeAttribute("uname");         //2.跳转         response.sendRedirect("/jspDay02/session/register.jsp");    %>  </body></html>

Authenttication:

 

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>   <%      Object uname = session.getAttribute("uname");      if(uname == null){          response.sendRedirect(path+"/session/register.jsp");      }   %>



单击登陆:


单击注销后:


1 0
原创粉丝点击