6.1 servlet类的作用

servlet的作用就是响应HTTP请求,虽然JSP也能做到,但servlet的写法更规范,下面是一个servlet类LoginValidateServlet.java的例子:
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
 
@WebServlet("/login")
public class LoginValidateServlet extends HttpServlet{
    private static final long serialVersionUID=6033791887340351355L;
    /**
     doGet函数专门处理http的get请求,假设这里就是处理登录的请求
     */
    public void doGet(HttpServletRequest request,HttpServletResponse response){
        /*
         其他操作
         */
        }
    /**
    doPost函数专门处理http的post请求
     */
    public void doPost(HttpServletRequest request,HttpServletResponse response){
        /*
        和jsp里类似,取得post请求内参数的值
         */
        String username=request.getParameter("username");
        String password=request.getParameter("password");
        System.out.println("servelt响应:"+username+""+password);
        /*
        其他操作
         */
        }
}
但这里有个问题,网页访问到某个jsp的时候,这个jsp就能处理这个请求,那么这个servlet,如何才能和某个http请求绑定起来呢?换句话说,一个HTTP请求如何与某个servlet绑定?
关键就是第4行代码@WebServlet("/login"),这表明login这个请求已经和这个servlet绑定了
如果我们把前面登录页面的action部分,修改成login,那么http请求就会提交给LoginValidateServlet处理,如下图第8行所示,action写成了login。你也来试试吧。



练习题