J2EE---Servlet

来源:互联网 发布:引流软件是什么意思 编辑:程序博客网 时间:2024/05/17 08:35

Servlet


是一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用来扩展服务器的功能,可以生成动态的Web页面。最大的用途是通过动态响应客户机请求来扩展服务器功能。Servlet不是从命令行启动的,而是由包含Java虚拟机的Web服务器进行加载协议请求和响应服务类

 

Servlet可以做什么


可以产生纯文本信息(这个功能不常用)

它可以读取客户端发送来的显式数据,比如表单数据

可以读取客户端发送来的隐式数据,比如请求报头

生成相应结果

发送显式数据给客户(HTMLXML

发送隐式数据给客户(状态代码;响应报头)

 

 

工作原理 


    •  运行在web服务器上的web容器里。
    •     客户机将请求发送到服务器。
    •     服务器上的Web容器实例化(装入)Servlet
    •     Web容器将请求信息发送到 Servlet。
    •     Servlet 创建一个响应,并将其返回到Web容器。
    •     Web容器将响应发回客户机。
    •    服务器关闭或Servlet空闲时间超过一定限度时,调用destory()方法退出。


 从这里可以看到客户机与Servlet间没有直接的交互。无论客户机对Servlet的请求还是Servlet对客户端的响应,都是通过Web服务器来实现的,这就大大提高了Servlet组件的可移植性.



基本的架构图

 


 

 

 

生命周期

 

实例化,初始化,就绪,销毁,回收



 

 

创建servlet


涉及以下四个步骤

1扩展httpservlet抽象类

所有的servlet必须直接或间接地实现servlet.servlet接口

必须扩展http.httpservlet

 

2重载适当的方法,主要是重写dogetgopost方法

3 http请求,获取该信息

4生成http响应,httpservletresponse对象生成响应,并将它返回到发出请求的客户机上

 

web应用的web-inf\classes下,并在部署描述文件web.xml中注册

 

部署 


部署Servlet主要是使得Web容器能够加载Servlet。

 

web.xml文件配置servlet

 

web.xml部署描述文件中注册和配置生命以及映射一个servlet示例

 

实例:

 

 1<!--第一个servlet程序配置 -->  2<servlet>  3<servlet-name>firstServlet</servlet-name>  4<servlet-class>HelloClientServlet的包路径</servlet-class>  5</servlet>  6<!--第一个servlet程序映射 -->  7<servlet-mapping>  8<servlet-name>firstServlet</servlet-name><!--必须与配置中的servlet-name相同 -->  9<url-pattern>/first.do</url-pattern> 10</servlet-mapping>

 

小结:

 servlet更倾向于服务的请求和应答,符合业务层。若利用servlet输出HTML语句来实现动态网页的,如果用它来开发整个网站,动态部分和静态页面的整合过程将变得无法想象。因此JSP出现了。

7 0
原创粉丝点击