servlet程序中,由于service方法只有一个,但是请求有post和get两种,因此需要请求的分发处理
在工程下的web文件夹下创建一个html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="http://localhost:8080/06_servlet1_war_exploded/hello" method="post">
<input type="submit">
</form>
<br/>
<form action="http://localhost:8080/06_servlet1_war_exploded/hello" method="get">
<input type="submit">
</form>
</body>
</html>
在servlet程序中的service方法中,通过ServletRequest对象的子类型,调用getMethod方法,获取请求的类型
/**
* service方法是专门用来处理请求和响应的(只要访问HelloServlet程序,他就会执行这个方法)
*/
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("3.service方法————HelloServlet被访问了");
/* ServletRequest对象中有一种getMethod方法
ServletRequest对象不能直接调用getMethod方法,他的子类型(子接口)可以使用
*/
HttpServletRequest httpServletRequest = (HttpServletRequest)servletRequest;
String method = httpServletRequest.getMethod();
// System.out.println(method);
if ("GET".equals(method)) {
System.out.println("get请求");
} else if ("POST".equals(method)) {
System.out.println("post请求");
}
}
注:有时候get请求和post请求很多,显得代码臃肿,有时会通过写doGet和doPost两个方法,通过方法调用去实现需要的功能。