1.使用输出流构建响应
例子
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the GET method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
这种写法不利于程序的维护以及编写
不利于重用
设置响应状态码:
setStatus
sendError
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//response.setStatus(500);
//response.sendError(404, "not found");
//response.setContentType("text/html");
response.sendRedirect("result.html");
}
前台重定向
将需要发送给客户端的url作为httpServletResponse中sendRedirect方法中的参数,服务器会返回一个状态码3xx及location字段一遍告诉浏览器进行重定向
重定向的地址栏会发生变化,说明发了两次请求,一次显式发,一次浏览器得到状态码,重新又发了一次,这就是前台重定向。如果有数据要展示的话就不合适了,那么就要使用后台转发了。