J2EE 之JavaServlet

 一、JavaServlet概述

 什么是JavaServlet

   JavaServlet是位于Web服务器内部的、运行于服务器端的、独立于平台和协议的Java应用程序(以下简称Servlet),可以生成动态的Web。

   Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

   Servlet的运行需要在web.xml中进行描述和注册。

 

二、Servlet的特点

1 .高效性:Servlet采用了多线程的处理机制,有效地节省了处理时间和资源分配,提高了处理效率。

2 .开发的方便性:Servlet提供了大量的实用工具例程,用户可以非常方便地学习并在此基础上开发出所需的应用程序。

3.强大的功能性:Servlet为用户提供了许多以往CGI很难实现的功能,这些强大的功能为用户的Web开发提供了很好的支持。

4.可移植性:Servlet的定义和开发具有完善的标准。因此,Servlet不需修改或只需简单调整即可移植到Apache、Microsoft IIS等支持Servlet的Web服务器上。几乎所有的主流服务器都直接或通过插件支持Servlet。

5.安全性:Servlet是由Java编写的,所以它可以使用Java的安全框架;ServletAPI被实现为类型安全的;容器也会对Servlet的安全进行管理。

三、Servlet编程基础

   Servlet架构由javax.servlet和javax.servlet.http两个Java包组成。在javax.servlet包中定义了所有的Servlet类都必须实行或扩展的通用接口和类。

   在javax.servlet.http包中定义了采用http通信的HttpServlet类。

  所有的Servlet 对象都要实现Servlet 接口。已经实现了Servlet 接口的javax.servlet.GenericServlet 和javax.servlet.http.HttpServlet 这两个抽象类的子类来间接实现Servlet 接口。

四、Servlet接口

  用户编写的Servlet程序都必须实现javax.servlet.Servlet接口,该接口是ServletAPI的核心,在这个接口中有5个方法必须实现。

init()方法

service()方法

destroy()方法

getServletConfig()方法

getServletInfo()方法

下面进行详细介绍。

1. init()方法

格式 :public void init(ServletConfig config) throws ServletException

  说明:该方法用于初始化一个Servlet类实例,并将其加载到内存中。接口规定对任何Servlet实例,在一个生命周期中此方法只能被调用一次。如果此方法没有正常结束就会抛出一个ServletException异常, 而Servlet不再执行。随后对它的调用会由Servlet容器对它重新载入并再次运行该方法。

2. service()方法

  格式:publicvoid service(ServletRequest req,ServletResponse res) throwsServletException,IOException
说明:Servlet成功初始化后该方法会被调用,用于处理用户请求。该方法在Servlet生命周期中可执行很多次,每个用户的请求都会执行一次service()方法,完成与相应客户端的交互。

3. destroy()方法

  格式:publicvoid destroy()

  说明:该方法用于终止Servlet服务,销毁一个Servlet实例。

4. getServletConfig()方法

  格式:publicServletConfig getServletConfig()

  说明:该方法可获得ServletConfig对象,里面包含该Servlet的初始化信息,如初始化参数和ServletContext对象。

5. getServletInfo()方法

  格式:publicString getServletInfo()
说明:此方法返回一个String对象,该对象包含Servlet的信息,例如开发者、创建日期、描述信息等。

  上述方法中的init()、service()、destroy()方法是Servlet的生命周期方法,由Servlet自动调用,如当服务器关闭时,就会自动调用destroy()方法。

   实际上,Servlet为用户提供了两个更适用于编程的抽象类javax.servlet.GenericServlet和 javax.servlet.http.HttpServlet,这两个抽象类间接实现了Servlet 接口。

   GenericServlet抽象类继承了Servlet接口并实现了javax.servlet.Servlet接口中除了service()方法以外的其他所有方法,这样用户只需实现一个service()方法即可。

   HttpServlet抽象类则是针对http协议而定义的,是GenericServlet类的子类,它仅支持基于http协议的请求或响应。

五、Servlet程序的编译

  创建Servlet程序的过程

1、打开Eclipse,然后在Java2e 项目中的java Resources\src目录中创建一个数据包,包名为serv

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值