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字段一遍告訴瀏覽器進行重定向
重定向的地址欄會發生變化,說明發了兩次請求,一次顯式發,一次瀏覽器得到狀態碼,重新又發了一次,這就是前臺重定向。如果有數據要展示的話就不合適了,那麼就要使用後臺轉發了。