02_05 JSP内置对象之response

JSP内置对象之response

一、response概述

Response对象的主要作用是服务器对客户端请求的中响应,将web服务器处理后的结果发回给客户端。Response对象属于javax.servlet.http.HttpServletResponse接口的实例。它的常用方法有:


NO


方法


类型


描述


1


Public void addCookie(Cookie cookie)


普通


向客户端增加 Cookie


2


Public void setHeader(String name,  String value)


普通


设置回应的头信息


3


Public void sendRedirect(String  location) thorws IOException


普通


页面跳转

二、response设置头信息

例:定时刷新页面

<%@ pagecontentType="text/html" pageEncoding="GBK"%>
<html>
<head>
    <title>response</title>
</head>
<body>
<%!
    //定认全局变量
    intcount = 0;
%>
<%
    response.setHeader("refresh","5");       //设置5秒刷新一次
%>
 
<H2>您已访问了<%=++count%>次</H2>
</body>
</html>

例2页面定时跳转

<%@ pagecontentType="text/html" pageEncoding="GBK"%>
<html>
<head>
    <title>response</title>
</head>
<body>
<H2>3秒后跳转到hello.htm页面,如没有跳转请按<a href="hello.htm">这里</a>!</H2>
<%
    response.setHeader("refresh", "3;URL=hello.htm");
%>
</body>
</html>
<!doctype html>
<html>
<head>
    <metacharset="UTF-8">
    <title>udbful</title>
</head>
<body>
    <h2>HELLO</h2>
</body>
</html>

对于语句response.setHeader("refresh","3; URL=hello.htm");在等同html中的代码:<META HTTP-EQUIV="refresh" CONTENT="5;URL=hello.htm">

只是JSP一般用于动态网页,HTML更多用于静态网页中。

更改如下:

<!doctype html>
<html>
<head>
    <metacharset="GBK">
    <title>udbful</title>
</head>
<META HTTP-EQUIV="refresh"CONTENT="5; URL=hello.htm">
<body>
    <H2>3秒后跳转到hello.htm页面,如没有跳转请按<a href="hello.htm">这里</a>!</H2>
</body>
</html>

三、页面跳转(客户端跳转)

1.使用头信息方法可以设置页面跳转外,更常用的是sendRedirect() 方法完成页面跳转。

<%@ page contentType="text/html"pageEncoding="GBK"%>
<html>
<head>
    <title>response</title>
</head>
<body>
<%
    response.sendRedirect("hello.htm");       //直接跳转
%>
</body>
</html>

2.服务器端跳转与客户端跳转的简单区别

服务器端跳转:<jsp:forward>

客户端跳转:response.sendRedirect()/response.setHeader()/超链接等

服务器端跳转地址栏不变,客户端跳转地址栏有变化;

在使用 request属性范转时,只有服务端跳转才能够将request范围的属性保存到跳转页面,而客户端跳转无法保存;

服务器端跳转时则执行到跳转语句时会立刻进行跳转,客户端跳转是在整个页面执行完之后才跳转执行跳转。

根据上一条区别,在使用了JDBC操作时,一定要在服务器执行跳转之前关闭数据库(不然马上执行跳转),否则就无法将数据连接关闭了。

服务器端跳转比客户端跳转更常用。

例略

四、操作Cookie

Cookie 是服务器端保存在客户端的信息。常用的方法有:


NO


方法


类型


描述


1


Public Cookie(String name, String  value)


构造


2


Public String getName()


普通


取得名称


3


Public String getValue()


普通


取得内容


4


Public void setMaxAge(int expiry)


普通


设置Cookie保存时间,以秒记


5


Public void addCookie(Cookie cookie)


普通


向客户端设置Cookie


6


Public Cookie[] getCookies()


普通


取得客户端Cookie

例1设置浏览器Cookie

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
	<title>response</title>
</head>
<body>
<%
	Cookie c1 = new Cookie("zzg", "123456");		//定义新的Cookie对象
	Cookie c2 = new Cookie("abc", "zzgqweqw");		//
	response.addCookie(c1);		//向客户端增加Cookie
	response.addCookie(c2);
%>
</body>
</html>

例2 取得浏览器Cookie

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
	<title>response</title>
</head>
<body>
<%
	Cookie c[] = request.getCookies();		//取得Cookies
	for(int x=0; x<c.length; x++){
%>
	<h2><%=c[x].getName()%>--><%=c[x].getValue()%></h2>
<%
	}
%>
</body>
</html>

设置Cookie时一定要添加其保存的时间,不然再次打开浏览器时则无法再取得。

而且一个浏览器一般保存Cookie的数量也是有限的,一般为300个左右。

例3为Cookie添加保存时间

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
	<title>response</title>
</head>
<body>
<%
	Cookie c1 = new Cookie("zzg", "123456");		//定义新的Cookie对象
	Cookie c2 = new Cookie("abc", "zzgqweqw");		//
	c1.setMaxAge(60);		//保存60秒
	c2.setMaxAge(60000000);		//保存60000000秒
	response.addCookie(c1);		//向客户端增加Cookie
	response.addCookie(c2);
%>
</body>
</html>

以上内容参考JAVAWEB开发实战经典(名师讲坛)

时间: 2024-10-04 09:05:05

02_05 JSP内置对象之response的相关文章

JSP内置对象之------response、session、application

1. 重定向和转发 response.sendRedirect("地址"); a. 页面地址显示最终页面 b. 不可向后传递参数 c. 跳到外部站点 request.getRequestDispatcher("地址").forward(request, response); a. 页面地址显示请求页面 b. 可以向后传递参数 c. 不可以跳到外部站点 通俗的来说两者的区别就是: 重定向:发出两次请求,不能够共享前一次请求中封装的参数信息 转发:   发一次请求 2.

JSP内置对象——九大内置对象简介与四种作用域范围以及Web程序的请求和响应模式

最近在学习JSP相关基础知识,我们都知道JSP当中存在一组不使用new关键字就可以在脚本和表达式中使用的对象,在Web开发中经常使用.为了能更好的理解这些对象,在此对JSP内置对象作一些归纳. 目录: JSP内置对象——九大内置对象简介与四种作用域范围以及Web程序的请求和响应模式 JSP内置对象——out(待更新) JSP内置对象——request/response(待更新) JSP内置对象——session(待更新) JSP内置对象——application(待更新) JSP内置对象——其他

Jsp — 内置对象request、response 配置servlet

1. 访问动态网页 使用URL实现页面访问: URL:统一资源定位符,即常说的网址: URL是唯一能识别Internet上具体的计算机.目录或文件夹的命名约定: 组成:第一部分:协议     第二部分:主机的IP地址,主机或端口号,是每台计算机的唯一标识:     第三部分:项目资源的地址,如目录和文件夹名等. 2. Jsp文件中的注释 ① 在jsp中写java脚本使用<% %>来括起来 ② 在jsp中如果要输出一个表达式使用<%= %> ③ 在jsp中如果要定义一个方法使用<

Jsp 内置对象

JSP内置对象是 Web 容器创建的一组对象 JSP内置对象的名称是 JSP 的保留字 JSP内置对象是可以直接在 JSP 页面使用的对象,无需使用 “new” 获取实例 -request 对象:用于处理客户端请求,主要方法如下: String getParameter(String name) 根据页面表单组件名称获取页面提交数据 String[ ] getParameterValues(String name) 获取一个页面表单组件对应多个值时的用户的请求数据 void setCharact

jsp 内置对象(五)

1.Request对象 该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以 获取用户提交的信息. 当Request对象获取客户提交的汉字字符时,会出现乱码问题,必须进行特殊处理.首先,将获取的 字符串用ISO-8859-1进行编码,并将编码存发岛一个字节数组中,然后再将这个数组转化为字符串对象 即可.如下: String textContent=request.getParameter("boy") byte b[]=textContent.get

JSP内置对象详解

jsp中内置对象:request.response.session.applecation.out.pagecontesx.config.page.exception.cookie 1.request:是javax.servlet.httpservletRequest类型的对象,该对象是用户客户端的请求信息,主要用户接受客户端通过http协议传送到服务器的数据! (包括头部信息.系统信息.请求方式以及请求信息参数),jsp内置对象Web容器所创建的一组对象! 生命周期:jsp发出请求一个requ

JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础

JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次都要先创建这些对象,然后再去使用它们,这样就显得十分繁琐了,为了方便使用者,Sun公司在开发JSP的时候,把一些对象设置为内置对象,开发者在JSP页面编程的时候不必声明这些对象就能直接使用,这就是JSP的内置对象. 那么JSP对象有哪些呢? JSP内置对象          对应的类型   备注 R

Jsp内置对象的简单说明

声明 实习森的理解层次,希望有错大家一起纠正 本文主要信息来自网友共享的一个JSPAPI,不是特别全,只是对jsp内置对象进行了简单的介绍,这里我总结了一下 正文 Jsp主要内置了9个对象,分别为:Application.Exception.Out.PageContext.Page.Request.Response.Session以及Config,详细如下: Application对象 基础介绍: Application对象实现了不同用户之间的数据共享,声明周期最长了,服务器启动的时候,Appl

Jsp内置对象及EL表达式的使用

一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response  HttpServletResponse session HttpSession(有开关的:page指令的session属性的取值) application  ServletContext config  ServletConfig page this(当前Servlet对象) exception java.lang.Throwable(有开关