Servlet没有main方法,他们受控于另外一个Java应用,这个java应用称之为容器。Tomcat就是一个容器。
容器来管理和运行servlet,会带来如下的好处:通信支持、生命周期管理、多线程支持、生命方式实现安全、JSP支持。
容器处理请求的的大体流程:
1、用户点击一个链接、其URL指向一个servlet而不是一个静态资源
2、容器看出来是请求指向servlet,所以容器创建两个对象httpservletrequest和httpservletresponse。
3、容器根据请求的url找到对应的servlet,为这个servlet创建或者分配一个线程,并把请求和响应对象传递给这个servlet线程。
4、容器调用servlet的service()方法。根据不同的请求,service()方法会调用doget或者dopost方法。
5、对应的doget或者dopost方法生产动态页面,并把这个页面填入响应对象。记住,容器还有响应对象的一个应用。
6、线程结束、容器把相应响应对象转换为一个http响应,把他发回给客户,同时删除请求和响应对象。
一个servlet有三个名字:特殊的部署名、完整的路径名和公共的url名。这样就可以利用部署描述文件将url映射到具体的servlet。当然,部署描述文件还有其他的作用。
servlet功能的简化,实现servlet和业务逻辑、表现层的分离,就是mvc的基本思路。MVC就是把业务逻辑从servlet中抽离出来,把他放在一个模型里。所谓模型就是一个可以重复利用的普通java。模型是业务数据和处理业务数据的逻辑的组合。
Servlet ----controller
Model -----pojo
View -----jsp