传智播客Servlet学习,Servlet的特点及运行过程

    有了Servlet的编写和运行经历以后,就很容易理解Servlet的特点及运行过程了,今天看的这集视频张老师讲了Servlet的特点,Servlet的运行过程。文字上有些地方很难理解,张老师对这些部分作图进行了讲解,就好理解多了。下面总结一下今天学习的重点。
Servlet的特点 
   Servlet是一个供Servlet引擎调用的java类,他不能独立运行,它的运行完全是由Servlet引擎来控制和调度。Servlet引擎是一种容器程序,他负责管理和维护所有Servlet对象的生命周期,Servlet的加载,执行流程,以及如何接收客户端发送的数据和如何将数据传输到客户端等具体的底层事务,都是由Servlet引擎来实现的。Servlet引擎负责将客户端的请求信息转交给Servlet和将Servlet生成的响应信息返回给客户端。
  Servlet是一种插件,它是一个提供了一些约定方法供容器去调用的类,它只负责在自身的方法中接受并处理容器传递进来的数据,以及生成并返回给容器去使用的数据和状态信息。
    Servlet最常见的应用在于读取Web浏览器传递给web服务器的参数和生成web服务器返回个web浏览器的动态网页文档内容,Servlet也能获取web浏览器发送的http请求行信息,以及生成用于web服务器发送的http响应消息中的状态行和响应头信息,Servlet还能获取web服务器和Servlet引擎自身的一些环境和状态信息。
 Servlet程序的运行过程就是它与Servlet引擎的交互过程,Servlet程序只与Servlet引擎打交道,他并不与web服务器和客户端进行任何直接的交互。
    Servlet本身是一个Java语言的应用,能完成普通Java程序所能完成的所有功能。可以访问本地文件系统,访问数据库,调用其他的Java类等,在Servlet中还可以将http请求/响应的状态信息保存到Servlet引擎中,从而实现web浏览器web服务器之间有状态的会话。
   web服务器上可以布置多个功能个不相同的Servlet,每个Servlet都应设置它可以处理何种样式的url请求,当符合的url请求到达时,Servlet引擎调用相应的Servlet进行处理。
    Servlet的运行过程
Servlet引擎按照这样的过程来调用一个Servlet程序,
 1,接受到访问某个Servlet的http请求之后,Servlet引擎首先检查是否已经装载并创建了该Servlet的实例对象,如果已经转载并创建了该Servlet的实例对象,Servlet引擎则直接执行第4步,否则实现第2步。
 2,装载并创建Servlet的一个实例对象。
 3,调用Servlet实例对象的init()方法,执行Servlet的一些初始化程序。
 4,创建一个用于封装Servlet请求消息的HttpServletRequest对象和一个代表Servlet响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
5 ,web应用程序停止或重启之前,Servlet引擎将卸载其中运行的Servlet。在卸载Servlet之前,Servlet引擎将调用Servlet的destroy()方法,以便在这个方法中执行Servlet的一些清尾工作,例如释放占用的资源。Servlet被Servlet引擎卸载后,将变成垃圾,等待java虚拟机垃圾收集器将其彻底从内存中清除。
对这个运行过程的一些说明:
  1,在<servlet>元素中嵌套一个<load-on-startup>子元素,web应用程序在启动时就可以转载并创建Servlet的实例对象,以及调用Servlet实例对象的init()方法。<load-on-startup>中的内容设置为0或一个正整数,这个数字越小,Servlet被加载的时间就越早。
 2,在Servlet的整个生命周期内,它的init方法只被调用一次,而对一个Servlet的每次访问请求都导致Servlet引擎调用一次Servlet的service()方法,对于每次访问请求,Servlet引擎都会创建一个新的HttpServletRequest请求对象和一个新的HttpServletResponse响应对象。
3 ,tomcat也提供了是否自动重新装载被修改的Servlet的配置选项,在<tomcat安装目录>/conf/server.xml文件中,可以将<context>元素的reloadable属性设置为TRUE,这样Tomcat就能自动重新装载该web应用程序的/WEB-INF/classes和/WEB-INF/lib目录下的发生了改变的类。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值