浅谈response

概述


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>密&nbsp;&nbsp;码:<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>

猜你喜欢

转载自blog.csdn.net/qq_39021393/article/details/81141853
今日推荐