response:响应对象,用于处理响应客户端请求,在(页面重定向)中使用
//response常用方法:
void addCookie(Cookie cookie); //服务端向客户端增加一个cookie对象
void sendRedirect("a.jsp"); throws IOException;//重定向(页面跳转的一种方式)到a.jsp中
void setContextType(String type); //设置服务端在响应时的编码
实例:
//登陆界面
<form action="check.jsp" method="get">
用戶名:<input type="text" name="uname" /><br />
密码:<input type="password" name="upwd" /><br />
<input type="submit" value= "登录"><br/>
</form>
//登录成功检查页面
<body>
<%
request.setCharacterEncoding("utf-8");
String name = request.getParameter("uname");
String pwd = request.getParameter("upwd");
String b="qq";
if(name.equals(b)){ //判断用户名是否是qq,如果不是则有误
response.sendRedirect("success.jsp"); //重定向
//request.getRequestDispatcher("success.jsp").forward(request,response); //也可用请求转发的形式跳转
}else{
out.print("用户名有误!");
}
%>
</body>
//登录成功界面
<body>
登陆成功
<br /> 欢迎您,
<%
String name =request.getParameter("uname");
out.print(name);
%>
铁汁。
</body>
请求转发与重定向的区别:
request.getRequestDispatcher("success.jsp").forward(request,response); //请求转发
response.sendRedirect("success.jsp"); //重定向
地址栏是否改变(请求转发不变停在check.jsp界面,重定向跳转成功则跳转到ssuccess.jsp中)
是否保留第一次请求时的数据(请求转发保留,重定向不保留)
请求的次数(请求转发为一次,重定向为两次)
请求转发
重定向
转发、重定向理解(例子):
转发:
张三(客户端)去银行办业务(张三以为把卡给了银行就能把事办了,即地址栏不变) --->请求一个银行窗口(服务端),但找的这个银行人员A不会处理,但他的同事B会处理,B处理好之后直接把银行卡给张三(对于张三来说银行卡只递交了一次,即请求转发了一次)。
重定向:
张三(客户端)去银行办业务 --->请求一个银行窗口(服务端),但银行人员A告诉他我不会,别找我去找B窗口(服务端),张三又去窗口B办理的业务(窗口变了即地址栏变了,递交了两次银行卡即请求了两次)。