Java Web基础:第七讲 Servlet运行原理

        Servlet运行原理与JSP的运行原理基本相同,不同之处在于JSP需要先转换成Java代码,而Servlet本身就是Java代码。 Servlet的运行原理如图所示。

      u       服务器接收到客户端的请求时,先判断用户所请求的Servlet对象是否存在:

n         如果存在,则直接调用Servlet 对象的Service 方法(间接调用doGet 方法或者doPost 方法);
n         如果不存在,则加载Servlet 类,创建Servlet 对象并实例化,然后调用init 方法进行初始化,之后调用Servlet 对象的Service 方法。
u       最后使用service 方法执行的结果对用户进行响应。
注意:在Servlet 的生命周期中,同一个Servlet 对象可以为多个客户端服务,多个客户端之间的区别在于服务器会为每个客户端创建不同的请求对象和响应对象,而执行的方法是相同的。加载Servlet 类,创建对象和调用初始化方法init 都只有一次。
Web 应用被卸载或者服务器被关闭的时候,系统卸载Servlet ,调用destroy 方法释放资源。
Servlet 的加载有两种方式:
u       第一次请求的时候加载;
u       服务器启动的时候加载;
两种方式各有利弊,如果第一次请求的时候加载,加载的速度比较慢,但是不浪费空间。如果是启动服务器的时候加载,第一次访问的时候就快了,但是如果一直没有人访问,则这段时间就浪费了空间。
加载Servlet 的方式可以在web.xml 中声明Servlet 的时候配置,如果希望在启动的时候加载HelloServlet ,使用下面的代码声明:
<servlet>
 <servlet-name>hello</servlet-name>
 <servlet-class>servlets.HelloServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>

    

 
李绪成 CSDN Blog http://blog.csdn.net/javaeeteacher
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值