JSP内置对象
Posted xoxobool
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP内置对象相关的知识,希望对你有一定的参考价值。
1.request
服务器端接收参数。
1)给请求的对象添加数据用request.setAttribute(key,value)
2)从请求的对象中取出数据是request.getAttribute(key)
3)接收cookie(一些网站的记录存储在本地,类似淘宝的记住用户登录)
cookie存的是key,value,ck.getName()--->key
<% //检查Cookie //获得Cookie集合 Cookie[] cks=request.getCookies(); for(Cookie ck:cks) { out.write(ck.getName()+"="+URLDecoder.decode(ck.getValue())+"<br>"); } %>
2.response
服务器端发送数据,浏览器接收。
1)发送信息时,不缓存,立即向浏览器发送。
2)发送cookie
//创建cookie Cookie ck = new Cookie("cardid",cardid); ck.setMaxAge(10 *24 *60*60); //设置过期时间 response.addCookie(ck); //发送 String username="张三"; //对中文进行转码 Cookie ck1 = new Cookie("username",URLEncoder.encode("张三")); response.addCookie(ck1);
3.session
会话对象,记住当前用户信息。
1)setAttribute("key",object)
2)getAttribute("key") ,返回的是对象的属性值
跳转页面之后,request不能获取数据,但是session可以得到数据
<% //判断session String cardid=session.getAttribute("cardid").toString(); out.write("cardid="+cardid); %>
<a href="Testlogin.jsp">测试是否已成功登录的页面</a>
<% Object obj=session.getAttribute("cardid"); if(obj==null) { out.print("你没有登录"); response.setHeader("refresh", "2;url=loginin.jsp"); } else { out.print("cardid="+obj.toString()); //销毁所有session //session.invalidate(); //移除某个属性 session.removeAttribute("cardid"); } %>
设置session超时时间 setMaxInactiveInterval(秒数) 默认tomcat的session20分钟,超过20分钟,没有请求发送给服务器,session就会失效
时间是重置的,在未达到请求时间时,依次过来的请求,都会重设时间
4.application
是服务器共享的对象
//获取application属性 int count=Integer.parseInt(application.getAttribute("count").toString()); out.print("<br>网站计时器:"+count++); application.setAttribute("count", count); %>
以上是关于JSP内置对象的主要内容,如果未能解决你的问题,请参考以下文章