HttpServletResponse(response客户端响应信息)
**
- response.setCharacterEncoding(“UTF-8”);用来设置浏览器接收响应时的字符集
**
- PrintWriter pw=response.getWriter();
**
- int statusNumber=response.getStatus();获取状态响应码
**
- response.setStatus(状态响应码);设置状态响应码
**
- response.addCookie();Cookie是在客户端(浏览器端)存储的一个记录,new Cookie(“key”,”value”);key不可以为null和空串
**
- response.setRedirect(“path”);用于做请求重定向
转发和重定向的区别**
forword | sendRedirect |
---|---|
属于RequestDispatcher类 | 属于HTTPServletResponse类 |
rd.forword(req,resp); | response.sendRedirect(“path”); |
转发是在服务器内部完成的,浏览器不知道,服务器在内部传递req、resp,最终的展示可以获取请求的信息(一次请求) | 重定向是服务器告知浏览器,让浏览器重新再发一个请求,服务器需要解析新的请求,这时候传递的req、resp就是新的了(两次请求) |
转发的时候浏览器URL不会改变 | 重定向的时候浏览器的URL会改变 |
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
</head>
<body>
<form action="test.jsp" method="post">
测试数据:<input type="text" name="test" value=""><br>
<input type="submit" value="submit">
</form>
</body>
</html>
test.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String test=request.getParameter("test");
request.setAttribute("test",test);
session.setAttribute("test",test);
%>
<a href="TestSession.jsp">点一下</a>
</body>
</html>
TestSession.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
</head>
<body>
<%
String requestTest=(String) request.getAttribute("test");
String sessionTest=(String) session.getAttribute("test");
%>
展示结果:<br>
<%=requestTest%><br>
<%=sessionTest%>
</body>
</html>
最终结果
备注:图片中TestSession.jsp—-index.jsp TestSessionOne.jsp—-test.jsp TestSessionTwo.jsp—-TestSession.jsp
**
方法 | 返回值 |
---|---|
session.removeAttribute(“key”) | 无 |
session.setAttribute(“key”,Object) | 无 |
session.getAttribute(“key”) | Object |
session.getAttributeNames() | Enumeration |
获得session可以通过request的getSession()方法
**