JSP内置对象

1.request浏览器

服务器端接收参数。缓存

1)给请求的对象添加数据用request.setAttribute(key,value)tomcat

2)从请求的对象中取出数据是request.getAttribute(key)服务器

3)接收cookie(一些网站的记录存储在本地,相似淘宝的记住用户登陆)cookie

cookie存的是key,value,ck.getName()--->keysession

<%
//检查Cookie
//得到Cookie集合
Cookie[] cks=request.getCookies();
for(Cookie ck:cks)
{
    out.write(ck.getName()+"="+URLDecoder.decode(ck.getValue())+"<br>");
}
%>

2.responseapp

服务器端发送数据,浏览器接收。jsp

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);
%>
相关文章
相关标签/搜索