1. 程式人生 > >保證前端傳送請求方式與後端響應方式一致(五)

保證前端傳送請求方式與後端響應方式一致(五)

 1、前端的頁面傳送的請求方式應當和伺服器端需要的請求方式一致

       --伺服器需要前端傳送POST請求,那前端就應該傳送POST請求,若傳送GET請求,伺服器應當提示錯誤資訊。

       --伺服器需要前端傳送GET請求,那前端就應該傳送GET請求,若傳送POST請求,伺服器應當提示錯誤資訊。

    2、怎麼完成以上的需求?

       --在javaweb程式中想辦法獲取應該請求是什麼型別的請求,POST?還是GET?

       --當我們獲取到請求方式之後,在javaweb程式中可以使用java語言中if語句進行判斷

          if("POST".equals(method)) {

 

          }else if("GET".equals(method)) {

 

          }

    3、怎麼在javaweb程式中獲取請求方式?

        --重點: HTTP的請求協議全部資訊被自動封裝到javax.servlet.http.HttpServletReques物件中

        --在HttpServletRequst介面型別中有一個方法叫做: String getMethod(); 可以獲取請求方式。

        --public interface javax.servlet.http.HttpServletRequest extends ServletRequest{

 

        }

    4、關於LoginServlet方法     

  public class LoginServlet extends GenericeServlet {



          @Override

          public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {

           // 將ServletRequest,ServletResponse強制型別轉換成帶有Http的介面型別

           HttpServletRequest request = (HttpServletRequest) req;

           HttpServletResponse response = (HttpServletResponse) res;



           response.setContentType("text/html;charset=UTF-8");

           PrintWriter out = response.getWriter();



           // 獲取瀏覽器傳送的請求方式

           String method = request.getMethod();

           // LoginServlet是處理登入的,要求前邊必須傳送POST請求

           if("GET".equals(method)) {

           // 前臺報錯

           out.print("405-您應當傳送POST請求");

           // 後臺報錯

           throw new RuntimeException("405-您應當傳送POST請求");

           }

           // 若程式能夠執行到這裡證明使用者傳送的請求是POST請求,程式應當正常執行

           out.print("正在登入.......");



          }



       }