深入理解Servlet

Posted 邵鸿鑫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入理解Servlet相关的知识,希望对你有一定的参考价值。

简介

  Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

  servlet通常被称为服务器端小程序,试运行在服务端的程序, 用于处理以及响应客户端的请求。

servlet的配置

  编辑好的servlet源文件并不能响应用户请求,还必须将其编译成class文件,将编译好的class文件放到WEB-INF/classes路径下,如果servlet有包,则还需要将class文件放到包路径下。

servlet的生命周期

  我们编写的JSP页面最终将由web容器编译成对应的servlet,当servlet在容器中运行时,其实例的创建及销毁等都不是有程序猿决定的,而是由web容器进行控制的。

访问servlet的配置参数

  配置servlet是,还可以增加额外的配置参数,通过使用配置参数,可以实现提供更好的可移植性,避免将参数以编码方式写在程序代码中。

servlet配置参数有两种方式

  通过@WebServlet的initParams属性来指定。

  通过在web.xml文件的<servlet.../>元素中添加<init-param.../>子元素来指定。

 前面文章介绍过,JSP本质上就是servlet,JSP通过编译生成对应的servlet。servlet的效率非常低,尤其是当使用servlet生成表象层页面的时候,页面中所有的html标签都需要通过servlet的输出流来输出,因此极其繁琐。而且servlet是标准的Java类,必须有程序员开发、修改,前端以及美工不易操作,这对于分工来说也是一大弊端。

servlet作为表现出有以下三大缺点

  开发效率地

  程序可移植性差

  程序可维护性差

在标准的mvc模式中servlet仅作为控制器使用,JavaEE应用架构正是遵循mvc模式的,其中JSP仅作为表现层技术,其作用有两点:

  负责收集用户请求参数

  将应用的处理结果、状态、数据呈现给用户。

以上是关于深入理解Servlet的主要内容,如果未能解决你的问题,请参考以下文章

深入理解java:4. 框架编程

深入理解Servlet3.0异步请求

深入理解Tomcat

深入理解JSP

深入理解Tomcat系列之五:Context容器和Wrapper容器

JavaWeb--深入Servlet与JSP(运行原理)