Servlet是一个接口
|
GenericServlet 实现了Servlet方法,是一个抽象类
|
HttpServlet 实现了Servlet方法,也是一个抽象类
* GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象
* 将来定义Servlet时,可以继承GenericServlet,实现service()方法即可
* HttpServlet:对http协议的一种封装,简化操作
1. 定义类继承HttpServlet
2. 复写doGet/doPost方法
@WebServlet("/demo3")
public class ServletDemo3 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doGET.....");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doPOST.....");
}
}
当手动打开浏览器访问这个Servlet类的时候,控制台输出的是doGET.....
而如果在web下写一个html页面,定义form标签的method为post的话,如下面这样
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/demo3" method="post">
<input name="username">
<input type="submit" value="提交">
</form>
</body>
</html>
那么如果在页面里面的第一个框输入内容,点击提交,那么这就是post提交方式,控制台会输出doPOST.....