Servlet:
-
配置:两种方式 -> web.xml或Annotation
1)在web.xml中配置:
- 配置Servlet的名字:对应web.xml文件中的<servlet/>元素
- 配置Servlet的URL:对应web.xml文件中的<servlet-mapping/>元素
![](https://img.haomeiwen.com/i5750276/be642be0fd863c7b.png)
2)在Servlet类中通过@WebServlet Annotation配置:
配置常用属性有:name、urlPatterns、loadOnStartup、initParams
![](https://img.haomeiwen.com/i5750276/fb0d987bd79077c5.png)
- Servlet的生命周期:
1)创建Servlet实例(可设置为客户端第一次请求时或Web应用启动时创建)
2)Web容器调用Servlet的init方法,对Servlet进行初始化
3)Servlet初始化后,将一直存在于容器中,用于响应客户端的请求。
如果客户端发送GET请求,容器调用Servlet的doGet方法处理并响应请求;
如果客户端发送POST请求,容器调用Servlet的doPost方法处理并响应请求;
或者统一调用service()方法处理并响应请求
4)Web容器决定销毁Servlet时,先调用Servlet的destroy方法,通常在关闭Web应用之时销毁Servlet - Servlet的配置参数
LoadonStartup:设置应用启动时就创建Servlet- 方式1:在web.xml文件中通过<servlet/>元素的<load-on-startup... />子元素进行配置
- 方式2:通过@WebServlet Annotation 的loadOnStartup属性指定
initParams:为Servlet配置额外的初始化参数,存放多个servlet共用的参数 - 方式1:在web.xml文件中通过<servlet/>元素的<inti-param... />子元素进行配置
- 方式2:通过@WebServlet Annotation的initParams属性指定
Servlet通过ServletConfig对象的getinitParameter(String name)获取初始化参数
例子:将连接数据库的配置参数写在initParams中,Servlet通过Config对象获取参数后即可使用,多个Servlet共用的一些参数可放在initParams中
![](https://img.haomeiwen.com/i5750276/c4f74ba9d7bb122c.png)
- Servlet作为控制器:
JSP作为VIew层,JavaBean作为Model,Servlet转发来自JSP的请求,并通过Model实现数据交流
一个简单的MVC模型如下
- VIew层:login.jsp
![](https://img.haomeiwen.com/i5750276/85109c5514748490.png)
- Controller层:LoginServlet.java
![](https://img.haomeiwen.com/i5750276/3715f4eb1653967a.png)
- Model层:DbDao.java JDBC相关操作
![](https://img.haomeiwen.com/i5750276/1ab041ee982de210.png)
![](https://img.haomeiwen.com/i5750276/1472e51cb2f01914.png)
网友评论