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()方法
**
