JSP中四种属性保存范围

Posted Mr·Liu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP中四种属性保存范围相关的知识,希望对你有一定的参考价值。

1.session

 1 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html>
 3 <html>
 4     <head>
 5         <title>Insert title here</title>
 6     </head>
 7     <body>
 8         <%
 9             //获取session ID  Manager 可以将session保存在本地上
10             String id = session.getId();       
11         %>
12         <h1><%=id %></h1>
13     </body>
14 </html>
 1 <%@ page language="java" contentType="text/html"
 2     pageEncoding="GBK"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <title>Insert title here</title>
 7 </head>
 8 <body>
 9     <%
10         if(session.isNew()){
11     %>
12         <h1>欢迎新用户</h1>
13     <%            
14         }else{
15     %>
16             <h1>老用户</h1>
17         <%                    
18         }        
19     %>
20 </body>
21 </html>
 1 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html>
 3 <html>
 4     <head>
 5         <title>Insert title here</title>
 6     </head>
 7     <body>
 8         <%
 9             long start = session.getCreationTime(); //创建此会话的时间
10             long end = session.getLastAccessedTime();//客户端上一次发送与此会话关联的请求的时间,最后一次操作此会话时间
11             long time = (end-start)/1000;  // 毫秒转换为秒
12         %>
13         <h1>您已经在此网页停留了<%=time %></h1>
14     </body>
15 </html>

2.request

 1 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html>
 3 <html>
 4     <head>
 5         <title>Insert title here</title>
 6     </head>
 7     <body>
 8         <%
 9             Cookie c1 = new Cookie("hw","hello world");
10             Cookie c2 = new Cookie("hi","nice to meet you");
11             c1.setMaxAge(300);//设置最大生存时间300秒
12             c2.setMaxAge(30); //设置最大生存时间30秒
13             response.addCookie(c1);
14             response.addCookie(c2);            
15         %>
16     </body>
17 </html>
 1 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html>
 3 <html>
 4     <head>
 5         <title>Insert title here</title>
 6     </head>
 7     <body>
 8         <%
 9             Cookie [] c = request.getCookies();
10             if(c!=null){
11                 for(int i=0;i<c.length;i++){
12         %>
13                 <h1>name:<%=c[i].getName() %>--value:<%=c[i].getValue() %></h1>        
14         <%             
15                 }                
16             }            
17         %>
18     </body>
19 </html>

3.定时刷新

 1 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html>
 3 <html>
 4     <head>
 5         <title>Insert title here</title>
 6     </head>
 7     <body>
 8         <%!
 9             int count = 0; 
10         %>
11         <%
12             response.setHeader("refresh","1"); //每隔1秒刷新一次
13         %>
14         <h3>已经刷新了<%=count++ %></h3>
15     </body>
16 </html>

4.定时跳转页面一

 1 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html>
 3 <html>
 4     <head>
 5         <title>Insert title here</title>
 6     </head>
 7     <body>
 8         <h1>访问错误,5秒后跳转至首页,如果没有跳转,请点击<a href=hello.jsp>这里</a></h1>
 9         <%!
10             int count = 0; 
11         %>
12         <%
13             response.setHeader("refresh","5; url=hello.jsp");
14         %>
15     </body>
16 </html>

4.定时跳转页面二

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta http-equiv="refresh" content="5;url=hello.jsp" charset="utf-8">
 5 <title>Insert title here</title>
 6 </head>
 7 <body>
 8     <h1>访问错误,5秒后跳转至首页,如果没有跳转,请点击<a href=hello.jsp>这里</a></h1>
 9 </body>
10 </html>

5.重定向

 1 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html>
 3 <html>
 4     <head>
 5         <title>Insert title here</title>
 6     </head>
 7     <body>
 8         <%
 9             response.sendRedirect("hello.jsp");
10          %>
11     </body>
12 </html>

6.addcookie

 1 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html>
 3 <html>
 4     <head>
 5         <title>Insert title here</title>
 6     </head>
 7     <body>
 8         <%
 9             Cookie c1 = new Cookie("hw","hello world");
10             Cookie c2 = new Cookie("hi","nice to meet you");
11             c1.setMaxAge(300);//设置最大生存时间300秒
12             c2.setMaxAge(30); //设置最大生存时间30秒
13             response.addCookie(c1);
14             response.addCookie(c2);            
15         %>
16     </body>
17 </html>
 1 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html>
 3 <html>
 4     <head>
 5         <title>Insert title here</title>
 6     </head>
 7     <body>
 8         <%
 9             Cookie [] c = request.getCookies();
10             if(c!=null){
11                 for(int i=0;i<c.length;i++){
12         %>
13                 <h1>name:<%=c[i].getName() %>--value:<%=c[i].getValue() %></h1>        
14         <%             
15                 }                
16             }            
17         %>
18     </body>
19 </html>

7.练习

 1 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html>
 3 <html>
 4     <head>
 5         <title>Insert title here</title>
 6     </head>
 7     <body>
 8         <form action="login.jsp" method="post">
 9             用户名:<input type="text" name="uname" ><br/>
10             密    码:<input type="password" name="upass" ><br/>
11             <input type="submit" value="登陆">
12             <input type="reset" value="清空">
13         </form>
14         <%
15             //用户名scott,密码orcl
16             String name=request.getParameter("uname");
17             String password=request.getParameter("upass");
18             
19         if(!(name==null||"".equals(name.trim())||password==null||"".equals(password.trim()))){
20             if("scott".equals(name)&&"orcl".equals(password)){
21                 response.setHeader("refresh","2;url=welcome.jsp");//2秒后跳转welcome页面
22                 session.setAttribute("userName",name); //传值
23         %>
24                 <h1>登陆成功,两秒后跳转至欢迎页 </h1>
25                 <h1>如果没有跳转,请点击<a href="welcome.jsp">这里</a></h1>
26         <% 
27             }else{
28         %>
29                 <h3>用户名或密码错误,请重新登陆...</h3>
30         <% 
31                 response.setHeader("refresh","2;url=login.jsp");
32             }
33         }else{            
34         }
35         %>        
36     </body>
37 </html>
 1 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html>
 3 <html>
 4     <head>
 5         <title>Insert title here</title>
 6     </head>
 7     <body>
 8         <%
 9             session.invalidate();
10             response.setHeader("refresh","2;login.jsp");
11         %>
12         <h2>注销成功,两秒后跳转至首页</h2>
13         <h1>如果没有跳转,请点击<a href="login.jsp">这里</a></h1>
14     </body>
15 </html>
 1 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
 2 <!DOCTYPE html>
 3 <html>
 4     <head>
 5         <title>Insert title here</title>
 6     </head>
 7     <body>
 8         <% 
 9         if(session.getAttribute("userName")!=null){    
10         %>                    
11             <h2>欢迎<%=session.getAttribute("userName") %>登陆本系统</h2>
12             <h1>注销请点击<a href="loginout.jsp">注销</a></h1>
13         <%    
14         }else{
15         %>
16             <h1>请先<a href="login.jsp">登录</a></h1>
17         <%    
18         }
19         %>
20     </body>
21 </html>

 

 

 



以上是关于JSP中四种属性保存范围的主要内容,如果未能解决你的问题,请参考以下文章

JSP中四种对象作用域都有哪些区别?

JSP中四种属性pagecontext request session applcation的解释

JSP属性的四种保存范围(page request session application)

JSP中四种传递参数的方法

02.JSP内置对象

JavaWeb---总结(十八)JSP属性范围