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对象的区别的主要内容,如果未能解决你的问题,请参考以下文章

js中call和apply的区别

如何在 pandas 中使用 apply 函数来实现这个 iterrow 案例?

apply的用法

call和apply的区别

Applied Nonparametric Statistics-lec9

在JS中,call()方法和apply()方法到底该怎么应用?