web服务器会针对收到的每一个http请求。分别创建request和response对象。
request:代表请求对象,获取客户端提交的数据。
response:代表响应对象,向客户端输出数据。
设置编码
request.setCharacterEncoding("utf-8"); //获取中文参数
response.setContentType("text/html;charset=GBK"); //设置编码,可输出中文
请求转发和重定向
请求转发:地址不变,是服务器行为(你找我,我没有,我帮你找),可用request域对象传输数据
//转发到当前应用下的a.jsp
request.setAttribute("message", "请求转发可以使用request域对象");
request.getRequestDispatcher("/a.jsp").forward(request, response);
接着在a.jsp中可以直接取出request域对象的值
<%
String message=(String)request.getAttribute("message");
String num = (String)this.getServletContext().getAttribute("num");
%>
普通方式取出request域对象里面的值:<%=message %><br/>
EL取出request域对象里面的值: ${message }<br/>
重定向:地址变,是客户端行为(你找我,我没有,你再去找)
response.sendRedirect("/a/b.jsp"); //重定向到a应用的b.jsp
response.sendRedirect("a/b.jsp"); //重定向到当前应用a文件夹下的b.jsp
response.sendRedirect("http://baidu.com"); //直接转到url