大家好,欢迎来到IT知识分享网。
今天我们分享一下Servlet技术,主要讲述了Servlet开发入门、Servlet高级应用、ServletConfig和ServletContext。
一、Servlet开发入门
针对Servlet技术的开发,SUN公司提供了一系列接口和类,其中最重要的是javax.servlet.Servlet接口。Servlet就是一种实现了Servlet接口的类,它是由web容器负责创建并调用,用于接收和响应用户的请求。在Java中,任何对象都有生命周期,Servlet也不例外。通过一张图来描述Servlet的生命周期。
l Servlet的生命周期可分为三个阶段,具体如下:
初始化阶段
运行阶段
销毁阶段
二、Servlet高级应用
由于大多数Web应用都是通过HTTP协议和客户端进行交互,因此,在Servlet 接口中,提供了一个抽象类javax.servlet.http.HttpServlet。HttpServlet是GenericServlet的子类,专门用于创建应用于HTTP协议的Servlet。
l 通过查看HttpServlet的源代码,发现HttpServlet主要有两大功能:
(1)根据用户请求方式的不同,定义相应的doXxx()方法处理用户请求,例如,与GET请求方式对应的doGet()方法,与POST方式对应的doPost()方法。
(2)通过service()方法将HTTP请求和响应分别转为HttpServletRequest和HttpServletResponse类型的对象。
l HttpServlet中的doGet()和doPost()方法
由于大多数客户端的请求方式都是GET和POST,因此学习如何使用HttpServlet中doGet()和doPost()方法变得相当重要。
l 使用Eclipse工具开发Servlet
(1)新建Web工程
选择新建工程界面的【Dynamic Web Project】选项,单击【Next】按钮,进入填写工程信息的界面。
(2)创建Servlet程序
右击src文件,选择【New】à【Other】选项,进入创建Servlet的界面
选择【Servlet】选项,单击【Next】按钮,进入填写Servlet信息的界面
点击【Next】按钮,进入配置Servlet的界面
不作任何修改,采用默认设置的内容,点击【Next】按钮,进入下一个配置界面
选择“Inherited abstract methods”、“doGet”和“doPost”方法,点击【Finish】按钮,完成Servlet的创建
由于Eclipse工具在创建Servlet时会自动将Servlet的相关配置文件添加到web.xml,因此,打开web.xml文件,可以看到TestServlet01的虚拟映射路径自动进行了配置
Servlet创建成功后,为了更好演示Servlet的运行效果,在创建好的Servlet中添加一些代码
(3)部署和访问Servlet
打开【Servers】选项卡,选中部署Web应用的Tomcat服务器,右击并选择【add and Remove】选项
单击【Add and Remove】选项,进入部署Web应用的界面
选中“chapter04”,点击【Add】按钮,将chapter04工程添加到Tomcat服务器中
点击【Finish】按钮,完成Web应用的部署。
启动Eclipse中的Tomcat服务器,在浏览器的地址栏中输入URL地址http://localhost:8080/chapter04/TestServlet01访问TestServlet01
l Servlet虚拟路径的映射
在web.xml文件中,一个<servlert-mapping>元素用于映射一个Servlet的对外访问路径,该路径也称为虚拟路径。
创建好的Servlet只有映射成虚拟路径,客户端才能对其进行访问。
在映射Servlet时,有一些细节问题需要注意,如Servlet的多重映射、在映射路径中使用通配符、配置缺省的Servlet等。
三、ServletConfig和ServletContext
l ServletConfig接口
在Servlet运行期间,经常需要一些辅助信息,例如,文件使用的编码,使用Servlet程序的公司等,这些信息可以在web.xml文件中使用一个或多个<init-param>元素进行配置。
当Tomcat初始化一个Servlet时,会将该Servlet的配置信息封装到一个ServletConfig对象中,通过调用init(ServletConfig cofig)方法将ServletConfig对象传递给Servlet。
l ServletContext接口
当Servlet启动时,会为每个Web应用创建一个唯一的ServletContext对象代表
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/7039.html