Servlet可以用以下三种方法实现:
- 实现Servlet接口
- 继承GenericServlet类
- 继承HttpServlet类
其中第三种最常用。
Servlet接口要求实现类实现所有抽象方法;GenericServlet对不常用的方法进行了空实现,继承只需对Service方法进行实现;HttpServlet对所有方法进行了空实现,可以重写doGet方法和doPost方法来应对method=get或=post的请求。实现后Web容器通过反射创建对象,调用Service方法(使用反射而不用构造器是因为反射不需要import,且可以通过Object 对象名 = class对象.newInstance()构建,耦合度更低,不需要频繁重编译、部署项目)。
html页面和servlet的简单交互:
get方法的参数以url?key=value&key=value&…的形式传输,post方法将方法放在请求体中。
HTML页面中的form标签action参数写想要跳转的url(相对路径),同时在Servlet上写@WebServlet标签写入这个url或者在xml中以、的形式配置,Web容器就会在有请求时调用这个Servlet。
以上全为个人理解,欢迎指正。