2017.10.9 response对象application对象session对象的区别

听闻少年二字,当与平庸相斥。这篇文章主要讲述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
【2017.10.9 response对象application对象session对象的区别】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="https://www.songbingjia.com/android/< %=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="https://www.songbingjia.com/android/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=https://www.songbingjia.com/android/‘http://www.sohu.com‘> < font size=‘15‘ color=‘red‘> 登陆< /font> < /a>"); out.print("< br> < a href=‘javascript:history.back()‘> 后退< /a> ......"); %> < /body> < /HTML>

 

    推荐阅读