保證前端傳送請求方式與後端響應方式一致(五)
阿新 • • 發佈:2018-11-22
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("正在登入.......");
}
}