深入理解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仅作为表现层技术,其作用有两点:

负责收集用户请求参数

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

时间: 2024-10-24 03:06:39

深入理解Servlet的相关文章

理解Servlet和Servlet容器、Web服务器等概念

转载自http://blog.csdn.net/iAm333 之前在开源中国看到一篇文章<初学 Java Web 开发,请远离各种框架,从 Servlet 开发>,觉得很不错.想到自己之前一直对各种框架执迷不悟,顿感惭愧.于是,看了孙鑫的<Servlet/JSP深入详解:基于Tomcat的Web开发>.林信良的<JSP&Servlet学习笔记(第二版)>以及网上其他一些相关的资料,将自己的理解整理如下. Web技术 随着互联网技术的发展,基于HTTP和HTML的

深刻理解Servlet运行机制和生命周期

servlet 运行在servlet 容器中,其生命周期由容器来管理.servlet 的生命周期通过 javax.servlet.Servlet接口中的init(),servce(),和destory();方法表示.1,加载和实例化servlet 容器负责加载和实例化servlet 当容器启动或在容器中检测到需要这个servlet来响应一个请求 时.创建servlet实例.容器通过java 的反射API来创建servlet实例.所以servlet中不应该提供带参数的构造函数.2,初始化在serv

【转】怎样理解Servlet的单实例多线程

转自 http://blog.chinaunix.net/uid-7374279-id-3687149.html 首先明确:Servlet是单实例的,即对于同一种业务请求只有一个是实例.不同的业务请求可以通过分发来产生多个实例.其次:单实例的原因我想是因为单实例足可以处理某一个请求,就像ibatis的Querydao.UpdateDao一样都是单实例的.再次:为什么单实例足可以处理某一个请求,因为Servlet是单实例多线程的.http://hiyachen.cublog.cn  [email 

理解Servlet

题记:框架横行,似乎已经忘记JavaWeb最基础Servlet是如何工作的,这也是为什么要写这篇文章. Servlet是Java语言应用到Web的扩展技术,是运行在Web应用服务器上的Java程序.与普通的Java程序不同的是它可以对Web浏览器或其他HTTP客户端程序发送的请求进行处理.是位于服务器内部的服务器端的Java应用程序. 核心API类关系 Servlet接口: public void init(ServletConfig config);Servlet初始化后,Servlet容器调

理解Servlet过滤器(javax.servlet.Filter)

佟强  2009年12月14日 过滤器(Filter)的概念 过滤器位于客户端和web应用程序之间,用于检查和修改两者之间流过的请求和响应.在请求到达Servlet/JSP之前,过滤器截获请求.在响应送给客户端之前,过滤器截获响应.多个过滤器形成一个过滤器链,过滤器链中不同过滤器的先后顺序由部署文件web.xml中过滤器映射<filter-mapping>的顺序决定.最先截获客户端请求的过滤器将最后截获Servlet/JSP的响应信息.过滤器的链式结构 可以为一个Web应用组件部署多个过滤器,

对于servlet初步理解

Servlet在MVC框架中经常担当控制器(Controller)的角色,其作用类似于调度员,下面我们就根据一个简单JavaEE的示例来理解Servlet的机制和原理. 树结构如上,其中 login.jsp作为测试用户登录页面. welcome.jsp作为登录成功页面 DaDao.java作为数据库操作类 LoginServlet.java就是我们所说的Servlet类 我们来看具体内容: login.jsp <%@ page language="java" contentTyp

javaWeb基础核心之一Servlet

既然是做JAVA开发的,先从一些基本的整理起来,算是知识回顾,加深记忆. 第一篇想到那理到哪,可能有点乱,不是太会排版,见谅,估计可能也就我自己看的懂. servlet在百度百科上的定义是这样的: Servlet(Server Applet),全称Java Servlet,未有中文译文.是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成动态Web内容.狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况

[Servlet]Servlet的工作流程及注意事项

Servlet工作流程 利用Servlet完成的Web应用的实际工作流程是通过Tomcat服务器发布服务,客户端与服务器端之间的交互遵循Http协议完成的.具体工作流程如下: 客户端浏览器向服务器端发送请求. 服务器端由Tomcat服务器提供的Servlet容器解析接收到的请求. 通过Web应用程序的配置文件web.xml,解析到对应执行的Servlet. Servlet完成客户端发送的请求逻辑,并完成向客户端发送的响应内容. 由Tomcat服务器提供的Servlet容器向客户端浏览器进行响应.

Servlet的学习(一)

初识Servlet Servlet是一门专门用于开发动态web资源的技术,Sun公司在其API中提供了一个Servlet接口(当然,我们不会去直接实现这个接口,而是去继承其实现类会更好),因此,狭义的Servlet是指这个接口,广义的Servlet是指任何实现了这个Servlet接口的类. 使用Servlet开发一个动态web资源,其实就是开发一个Java程序向浏览器输出数据. Servlet其实就是一个运行在服务器上得Java程序,Servlet是J2EE十三门技术中的一种,因此我们不能去看J