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("正在登录.......");
}
}