`
zhiyongliu
  • 浏览: 126293 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

5 jsp内建对象之response

 
阅读更多

第五讲 jsp内建对象之response

 

response对象是一个javax.servlet.http.HttpServletResponse类的子类的对象
主要方法:
addCookie(Cookie cook)
addheader(String name,String value)
constrainsHeader(String name)
encodeURL()
flushBuffer()
getBufferSize()
getOutputStream()
sendError(int)
sendRedirect(String url)
setContentType(String contentType)
setHeader(String name,String value)
例子:
addCookie设置Cookie
cookie是客户端保存的一种资源,常用来自动登录网站等。
 index.jsp:
<%@page contentType="text/html;charset=gb2312"%>
<HTML>
       <HEAD>
              <TITLE>Cookie的使用</TITLE>
       </HEAD>
       <BODY>
       <%
              Cookie c1 = new Cookie("name","aaa") ;
              Cookie c2 = new Cookie("password","111") ;
 
              // 最大保存时间为60秒
              c1.setMaxAge(60) ;
              c2.setMaxAge(60) ;
 
              // 通过response对象将Cookie设置到客户端
              response.addCookie(c1) ;
              response.addCookie(c2) ;
       %>
       </BODY>
</HTML>
 
common.jsp:
<%@page contentType="text/html;charset=gb2312"%>
<HTML>
       <HEAD>
              <TITLE>Cookie的使用</TITLE>
       </HEAD>
       <BODY>
       <%
              // 通过request对象,取得客户端设置的全部Cookie
              // 实际上客户端的Cookie是通过HTTP头信息发送到服务器端上的
              Cookie c[] = request.getCookies() ;
       %>
       <%
              for(int i=0;i<c.length;i++)
              {
                     Cookie temp = c[i] ;
       %>
                     <h1><%=temp.getName()%> --> <%=temp.getValue()%></h1>
       <%
              }
       %>
       </BODY>
</HTML>
 
 
先后执行上面的两个页面,我们可以看到,客户端所保存的cookie会被服务器读取。如果超过了cookie保存时间,则第二个页面就会出错。
另外,如果上面的两个页面是在同一窗口中执行,则我们会看到JSESSIONID,这是服务设置一个默认的cookie到客户端。如果我们另外开窗口执行common.jsp,就不会看到它了,因为session的ID号只对同一窗口有效。

sendRedirect(String url)
sendRedirect()不需要直接编码URL,可以实现传递参数;
forward操作,两个页面之间可以通过request对象分享数据,而sendRedirect()方法不支持数据共享。
<jsp:forward> 通过<jsp:param>    传递参数;
response.sendRedirect则是用更直接的方式传递参数,举例:response.sendRedirect(“exam.jsp?id=28");

contentType

当请求一个JSP页面的时候,如果该页面用page指令设置页面的contentType属性的值是text/html,那么服务器将把静态页面部分发送给客户端。

也可以设置为其他一些相应类型,如:text/plain(文本文件)、application/x-msexcel(Excel文件)和application/msword(Word文件)等。
显示为Word文档
<%@ page contentType="text/html;charset=GBK" %>
<HTML>
 <BODY>
 <P>response对象 <BR>setContentType方法
 <P>将当前页面保存为word文档吗
 <%
 response.setContentType("application/msword;charset=GB2312");
 %>
 </BODY>
</HTML>

setHeader页面自动跳转
index.jsp:
<%@page contentType="text/html;charset=gb2312"%>
<HTML>
       <HEAD>
              <TITLE>自动跳转并传参数</TITLE>
       </HEAD>
       <BODY>
       <%
              response.setHeader("refresh","3;URL=common.jsp?ref=aaa") ;
       %>
       三秒后跳转!!!<br>
       如果没有跳转,请按<a href="common.jsp">这里</a>!!!
       </BODY>
</HTML>
 
 
setHeader禁用页面缓存

在实际的项目开发工程中,往往会用到禁用缓存技术,即如果通过后退按钮回到了某一页,也必须从服务器上重新读取,例如:
 
index.jsp:
<%@page contentType="text/html;charset=gb2312" import="java.util.Date"%>
<HTML>
       <HEAD>
       <%
       response.setHeader("Cache-Control","no-cache");
       response.setHeader("Pragma","no-cache"); 
       response.setDateHeader ("Expires", 0);
       %>
              <TITLE>禁用页面缓存</TITLE>
       </HEAD>
       <BODY>
       <%
              Date d = new Date();
              out.println(d.toLocaleString());
       %>
    <a href="http://www.g.cn">google</a>
       </BODY>
</HTML>
 
    我们运行这个例子,进入google,点击后退按钮回到index.jsp时,页面代码都会被执行一次。

分享到:
评论
1 楼 wangxiaoxiang 2015-09-21  

相关推荐

    JSP内建对象详解

    ### JSP内建对象详解 在Java Server Pages (JSP) 技术中,为了方便开发者操作页面数据和实现各种功能,内置了一系列的对象,这些对象提供了丰富的API来处理客户端请求和响应,使得开发者无需手动创建就可以直接使用...

    jsp教程之内建对象篇

    在Java Server Pages(JSP)技术中,内建对象是一组预定义的对象,它们为开发者提供了方便的功能,无需显式创建即可直接在页面上使用。这些内建对象是JSP生命周期的一部分,帮助简化Web开发过程,提高效率。本教程...

    JSP九大内建对象案例讲解

    在深入探讨JSP(JavaServer Pages)的九大内建对象之前,我们首先简要回顾一下JSP技术。...掌握这些内建对象,对于任何希望利用JSP技术构建高效、健壮的Web应用程序的开发者来说,都是必不可少的基础知识。

    JSP内建对象方法大全

    在JavaServer Pages (JSP) 中,内建对象是预定义的变量,可以直接在JSP页面中使用,无需显式声明。这些对象提供了方便的方法来处理各种任务,如请求处理、响应生成、会话管理等。以下是JSP内建对象及其相关方法的...

    4 JSP内建对象之request

    **JSP内建对象之request详解** 在JavaServer Pages (JSP) 技术中,内建对象扮演着核心角色,它们提供了与服务器交互的基本功能。"request"对象是这七个内建对象之一,它是 javax.servlet.http.HttpServletRequest ...

    jsp内建对象简介和使用

    下面将详细介绍JSP中的九个主要内建对象:`request`、`response`、`out`、`session`、`pageContext`、`application`、`config`、`page`以及`exception`(虽然在题目中未提及,但在实际开发中同样重要),并通过实例...

    JSP内建对象、使用JavaBean

    **JSP技术概述** JSP(JavaServer Pages)是Java平台上的动态...了解并熟练掌握JSP的语法、内建对象以及与JavaBean的交互,是成为专业Web开发者的必备技能。在实际项目中,通过案例实践能更好地理解和运用这些知识点。

    JSP内建对象

    ### JSP内建对象概述 JSP(JavaServer Pages)是一种基于Java的服务器端脚本技术,用于生成动态网页内容。在JSP中,开发者可以利用预定义的内建对象来简化开发流程,提高开发效率。本文将详细介绍JSP中的九大内建...

    jsp基本语法 及内建对象下载

    JSP的基本语法是其核心,而内建对象则是JSP强大功能的重要组成部分。本资料主要涵盖了JSP的基本语法及其9种内建对象的详细介绍和使用方法。 **一、JSP基本语法** 1. **声明(! %&gt;)**:用于在JSP页面中声明变量或...

    gddrxy-内建对象的使用 -互联网应用开发(jsp)二

    JSP内建对象是指在JSP页面中无需显式声明即可直接使用的对象,它们由JSP引擎自动创建并提供,包括`request`、`response`、`session`、`application`、`out`、`pageContext`、`page`、`config`和`exception`等。...

    JSP技术知识点考查 jsp动态建站技术

    response对象允许直接访问HttpServletResponse对象 session对象可能是状态管理上下文中使用最多的对话 &lt;jsp:param&gt;操作被用来以“名—值”队的形式为其他标签提供附加信息 &lt;jsp:include&gt;操作允许在请求是在现成的...

    详解JSP 内置对象request常见用法

    《详解JSP内置对象request的常见用法》 在Java Web开发中,JSP(JavaServer Pages)提供了几个内置对象,极大地简化了开发者的工作。其中,`request`对象是核心之一,它扮演着处理HTTP请求的重要角色。本文将深入...

    jsp建站动态教程

    【JSP建站动态教程】 JSP(JavaServer Pages)是一种由Sun Microsystems公司推出的动态网页技术,它允许开发者在HTML代码中嵌入Java代码,从而实现动态内容的生成。本教程将带你深入理解JSP的基础知识,助你快速...

    JSP网站建设上机实验指导书

    学生需要实现并分析多个示例程序,以理解JSP内建对象,如request(请求对象)、response(响应对象)、out(输出流对象)、session(会话对象)等,以及它们在处理用户请求和响应中的角色。此外,通过设计一个根据...

    JSP源码——中帆智能建站系统基础版JSP版_basic3.zip

    在开发JSP建站系统时,必须考虑到安全问题,如输入验证、防止SQL注入、XSS攻击等。同时,良好的编码规范和权限控制机制也是确保系统安全的重要环节。 8. **性能优化**: 考虑到网站的性能,JSP应用可能使用了缓存...

    JSP课程教学 课件

    【JSP课程教学课件】主要讲解了JSP的基础语法,包括JSP编译器、JSP注释、脚本元素、指令、动作以及内建对象,并特别提到了Cookie技术的应用。以下是各部分的详细说明: 一、JSP编译器: JSP编译器用于将JSP页面转化...

    javaee5编程郭庆j2ee-5-第5章jsp.ppt

    JSP提供了多种内建对象,如Request、Response、Session、Application等,这些对象可以直接在JSP页面中使用,无需显式创建,极大地简化了开发工作。 5.8 JSP四种属性范围 JSP的属性范围包括Page、Request、Session和...

    jsp_demo2.zip

    在JSP中,有九个内建对象,它们为开发者提供了丰富的功能,无需手动实例化即可直接使用,极大地提高了开发效率。本篇将详细介绍这九个内置对象及其应用场景。 1. **request**:请求对象,代表客户端发送到服务器的...

    基于JSP的博客源代码

    它们作为业务对象,存储和处理数据,可以通过JSP的内建动作标签(如`&lt;jsp:useBean&gt;`)来实例化和操作。 5. **数据库连接**:博客系统通常需要与数据库交互,存储和检索文章、评论等信息。JDBC(Java Database ...

    jsp学习基础课件(适用于初学者)

    4. **JSP内置对象**:涵盖九个内建对象,如request、response、session、application等,它们是JSP中用于处理用户请求、发送响应、管理会话和全局数据的关键工具。 5. **EL(Expression Language)和JSTL(JSP ...

Global site tag (gtag.js) - Google Analytics