javaWeb二

关于Servlet:

在MVC建构中Servlet充当着控制器使用。Servlet被称为服务端小程序。用于处理客户端的请求及其响应。

Servlet是一个特殊的java类,这个类必须继承至HttpServlet,Servlet提供了不同的方法来响应客户端的请求。

---doGet:用于客户端的get请求

---doPost:用于客户端的post请求

---doPut:用于响应客户端的put请求

---doDelect:用于响应客户端的delect请求。

但事实上,客户端的请求只有get与post,Servlet需要解决那种请求就去重写那种方法。

但是大部分时候Servlet对用户请求处理多是一样的,所以我们,我们可以直接重写service()方法来代替前面几个方法

除此之外httpServlet还包含了一下两个方法:

--init(ServletConfig config):创建Servlet实例时,调用该方法来初始化Servlet资源

--destroy:销毁Serv;et实例时,自动调用该方法的回收机制

关于Servlet的配置:

我们想要Servlet响应客户端请求,就必须将Servlet编译之后产生的.Class文件放在WEB-INF/classes路径,除此之外我们还需将Servlet配置在Web应用当中

  1. 在Web.xml中进行配置
  2. 在Servlet中添加注解( Servlet 3 开始有的)

第一种:进行以下两个步骤

  1. 配置Servlet的名字:对应web.xml文件中的<servlet/>元素。
<servlet>
    <servlet-name>firstservlet</servlet-name>
    <servlet-class>database.data</servlet-class>
</servlet>
  1. 配置Servlet的URL:对应web.xml文件当中的<servlet-mapping/>元素。
<servlet-mapping>
    <servlet-name>firstservlet</servlet-name>
    <url-pattern></url-pattern>
</servlet-mapping>

第二种:

开发Servlet类时使用@WebServlet注释修饰该类,使用@WebServlet可以指定如下的属性:

属性           是否必要       说明

asyncSupported     否 指定Servlet是否支持异步操作模式

DisplayName      否   指定Servlet是否显示名称

InitParams      否    用于该Servlet的参数配置

LoadOnStartup 否  用于将Servlet配置成load-on-startup的Servlet

Name     否   用于指明该Servlet的名称

urlPatterns/value  是   指定Servlet的url的

如果使用注解来配置Servlet有两点要注意:

---不要在web.xml文件的根元素(<web-app.../>)中指出metadata-complete=”true”。

---不要在web.xml文件当中配置该Servlet

下面我们来讲解JSP/Servlet的声明周期:

JSP页面通过Web容器编译生成对应的Servlet,当Servlet的创建与销毁等多不是Web容器进行控制的。

创建Servlet实例有以下两个时机:

  1. 用户第一次请求某个Servlet时,系统创建该实例(大部分Servlet多是这个时间段创建的)
  2. Web应用程序启动的时候就创建了Servlet实例,及load-on-startup Servlet

Servlet的生命周期:

  1. 创建Servlet实例
  2. Web容器调用Servlet的init方法,对Servlet进行初始化
  3. Servlet初始化后,将会一直存在容器当中,用于响应用户的请求
  4. Web容器决定销毁Servlet时,先调用Servlet的destory方法,经常是关闭Web应用的时候销毁
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值