【java web学习小结】JSP的response对象的动态响应实例
一、response对象response对象和request对象相对应,用于响应客户请求,由服务器向客户端输出信息。当服务器向客户端传送数据时,JSP容器会自动创建response对象并请信息封装到response对象中,当JSP容器处理完请求后,response对象会被销毁。response和request结合起来完成动态网页的交互功能。二、response 对象的常用方法Sen...
一、response对象
response对象和request对象相对应,用于响应客户请求,由服务器向客户端输出信息。当服务器向客户端传送数据时,JSP容器会自动创建response对象并请信息封装到response对象中,当JSP容器处理完请求后,response对象会被销毁。response和request结合起来完成动态网页的交互功能。
二、response 对象的常用方法
-
SendRedirect(String url)--使用指定的重定向位置url向客户端发送重定向响应
-
setDateHeader(String name,long date)--使用给定的名称和日期值设置一个响应报头,如果指定的名称已经设置,则新值会覆盖旧值
-
setHeader(String name,String value)--使用给定的名称和值设置一个响应报头,如果指定的名称已经设置,则新值会覆盖旧值
-
setHeader(String name,int value)--使用给定的名称和整数值设置一个响应报头,如果指定的名称已经设置,则新值会覆盖旧值
-
setContentType(String type)--为响应设置内容类型,其参数值可以为text/html,text/plain,application/x_msexcel或application/msword
-
setContentLength(int len)--为响应设置内容长度
-
setLocale(java.util.Locale loc)--为响应设置地区信息
三、实战实例
编写两个JSP页面input.jsp和result.jsp。input.jsp页面提交一个数字给result.jsp页面,result.jsp页面使用response对象做出动态响应。
input.jsp的具体要求
input.jsp提供表单,用户在表单中输入一个数字,提交给result.jsp页面。
input.jsp代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head>
<title></title>
</head>
<body bgcolor="yellow">
<form action="result.jsp" method="post">
输入数字:<input type="text" name="num"> 
<input type="submit" value="提交">
</form>
</body>
</html>
result.jsp的具体要求
result.jsp页面首先使用request对象获得input.jsp页面提交的数字,然后根据数字的大小作出不同的响应。如果数字小与0,response对象的调用setContentType(String s)方法将contentType属性的值设置为text/plain,同时输出数字的平方;如果数字大于等于0并且小于100,response对象的调用setContentType(String s)方法将contentType属性的值设置为application/msword,同时输出数字的立方;如果数字大于等于100,response对象调用setStatus(int n)方法将状态行的内容设置为404;如果用户在input.jsp页面输入了非数字,response对象调用sendRedirect(URL url)方法将用户的重定向到input.jsp页面。
result.jsp代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head>
<title></title>
</head>
<body bgcolor=cyan><font size=3>
<%
request.setCharacterEncoding("utf-8");
String str=request.getParameter("num");
try
{ double a=Double.parseDouble(str);
if(a<0)
{
response.setContentType("text/plain;charset=GB2312"); //设置响应的MIMI类型
out.println(a+"的平方:"+(a*a));
}
else if(0<=a&&a<100)
{
response.setContentType("application/msword;charset=GB2312"); //设置响应的MIMI类型
out.println(a+"的立方:"+(a*a*a));
}
else
{ response. setStatus(404);
}
}
catch(Exception e)
{
response.sendRedirect("input.jsp"); //请求重定向
}%>
</font>
</body>
</html>
运行结果:
更多推荐
所有评论(0)