Servlet處理響應10

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

發佈了48 篇原創文章 · 獲贊 1 · 訪問量 7491
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章