2017.10.9 response对象application对象session对象的区别
Posted Legend
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017.10.9 response对象application对象session对象的区别相关的知识,希望对你有一定的参考价值。
1.response对象
response对象与request对象相对应,由服务器向客户端输出信息。当服务器向客户端传送数据时,
JSP容器会自动创建response对象并将信息封装到response对象中,当jsp容器处理完请求后,response
对象会被销毁。response和request结合起来完成动态网页的交互功能。
1.1 response对象的常用方法
response对象提供了页面重定向(sendRedirect)方法、设置状态行(setStatus)方法和设置文本类型(setContentType)方法
方法 说明
SendRedirect(String url) 使用指定的重定向位置url向客户端发送重定向响应
setDataHeader(String name,long data) 使用给定的名称和日期值设置一个响应报头,如果指定的名称已经设置,则新值会覆盖旧值
setHeader(String name,int value) 使用给定的名称和整数值设置一个响应报头,如果指定的名称已经设置,则新值会覆盖旧值
setContentType(String name,int value) 为响应设置内容类型,其参数值可以为tex/html、text/plain、application/x_msexcel或application/msword
setContentLength(int len) 为响应设置内容长度
setLocale(java.util.Local loc) 为响应设置地区信息
1.3重定向网页
使用response对象中的sendRedirect()方法
页面定时刷新或自动跳转
<%@ 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> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> 当前时间是:<%=new Date().toLocaleString()%><br/> <hr> <%response.setHeader("refresh","1"); %> </body> </html>
利用session对象获取会话信息并显示
<%@page contentType="text/html" import="java.util.*"pageEncoding="UTF-8" %> <html> <head> <title>利用session对象获取会话信息并显示</title> </head> <body> <hr> session的创建时间是: <%=new Date(session.getCreationTime())%><br/> session的ID号: <%session.getId();%><br/> 客户最近一次访问的是: <%=new java.sql.Time(session.getLastAccessedTime()) %> 两次请求间隔多长时间session将被取消(ms): <%=session.getMaxInactiveInterval() %><br/> 是否新创建的session:<%=session.isNew()?"是":"否"%> </body> </html>
案例-----统计网站访问人数
<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>统计网站访问人数及其当前在线人数</title> </head> <body text="blue"> <%! Integer yourNumber=new Integer(0); %> <% if(session.isNew()){ //如果是一个新的会话 Integer number=(Integer)application.getAttribute("Count"); if(number==null) //如果是第一个访问本站 { number=new Integer(1); } else { number=new Integer(number.intValue()+1); } application.setAttribute("Count",number); yourNumber=(Integer)application.getAttribute("Count"); } %> 欢迎访问本站,您是第<%=yourNumber %>个访问用户。 </body> </html>
利用out对象响应用户输出
<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%> <HTML> <head> <title>out的使用</title> </head> <body> 利用out对象输出的页面信息 <hr> <% out.print("aaa<br/>bbb"); out.print("<br>用户名或密码不正确,请重新<a href=‘http://www.sohu.com‘><font size=‘15‘ color=‘red‘>登陆</font></a>"); out.print("<br><a href=‘javascript:history.back()‘>后退</a>......"); %> </body> </HTML>
以上是关于2017.10.9 response对象application对象session对象的区别的主要内容,如果未能解决你的问题,请参考以下文章
如何在 pandas 中使用 apply 函数来实现这个 iterrow 案例?