简介
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仅作为表现层技术,其作用有两点:
负责收集用户请求参数
将应用的处理结果、状态、数据呈现给用户。