概述
1、response对象即响应对象,表示服务器对的响应。主要用来将JSP处理后的结果传回客户端。response对象类型为javax.servlet.http.HttpServletResponse,与Servlet中的响应对象为同一对象
2、response对象用于HtppServletResponse接口的所有方法,其常用方法如下:
(1)void setContenType(String name):设置响应内容的类型和字符编码
(2)void sendRedirect(String url):重定向到指定的URL资源
实例
演示使用sendRedirect()方法,对loginValidate.jsp进行改进,登陆信息验证成功时重定向到用户页面main.jsp
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//从请求属性erroMsg中获取错误信息
String error = (String)request.getAttribute("errorMsg");
if(error != null)
out.print("<font color='red'>"+ error+"</font>");
%>
<form action="loginValidate.jsp" method="post">
<p>用户名:<input name="username" type="text"/></p>
<p>密 码:<input name="password" type="password"/></p>
<p><input name="submit" type="submit" value="登陆">
</form>
</body>
</html>
loginValidate.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//设置POST请求编码
request.setCharacterEncoding("UTF-8");
//获取请求参数
String username = request.getParameter("username");
String password = request.getParameter("password");
out.print(username);
out.print(password);
StringBuffer errorMsg = new StringBuffer();
//参数信息验证
if("".equals(username)){
errorMsg.append("用户名不能为空!<br>");
}
if("".equals(password)){
errorMsg.append("密码不能为空<br>");
}else if(password.length() < 6 || password.length() > 12)
errorMsg.append("密码长度在6-12位之间,<br>");
//将错误信息爆保存在请求域属性errorMsg中
request.setAttribute("errorMsg", errorMsg.toString());
if(errorMsg.toString().equals("")){
response.sendRedirect("main.jsp?username="+username);
}else{
%>
<jsp:forward page="login.jsp"></jsp:forward>
<%
}
%>
</body>
</html>
main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%=request.getParameter("username") %>
</body>
</html>