Java开发之ServLet详解 您所在的位置:网站首页 皮克斯电影作品 Java开发之ServLet详解

Java开发之ServLet详解

2023-09-15 21:47| 来源: 网络整理| 查看: 265

一、什么是ServLet?

serverLet是javaEE中运行于服务器端的,用于接收和响应HTTP协议的请求的程序。

二、ServLet的三种实现方式 1、实现ServLet接口

步骤:

(1)实现ServLet接口

(2)重写包括service()等五个方法

(3)在web.xml中声明和配置ServLet

(4)部署该web项目并通过浏览器访问

2、继承GenericServLet抽象类

步骤:

(1)继承GenericServLet类

(2)重写service()方法

(3)在web.xml中声明和配置ServLet

(4)部署该web项目并通过浏览器访问

注意:GenericServLe抽象类是ServLet接口的实现类,GenericServLet已经帮我们实现好了包括init()、destory()等方法,我们只需要重写service()方法即可。

3、继承HTTPServLet类(常用)

步骤:

(HTTPServLet类

(2)重写doGet()方法和doPost()方法

(3)在web.xml中声明和配置ServLet

(4)部署该web项目并通过浏览器访问

注意:HTTPServLet是GenericServLet的派生类,其将GenericServLet的service()方法重写为了doGet()方法和doPost()方法,因此,我们只需要重写doGet()和doPost()方法即可,但由于这两个方法的方法体通常都是一样的,因此我们只需要写一个方法体即可,另一个方法的方法体直接调用写好的那个函数即可。

(*)web.xml中ServLet的配置方法

主要添加和配置标签和标签

三、ServLet的执行过程

1、客户端浏览器发起HTTP请求

2、Tomcat服务器解析请求地址url,找到对应的web应用程序

3、找到该web应用程序的web.xml文件

4、继续解析请求资源地址的url,找到对应的应用资源

5、执行service()方法(HTTPServLet是执行doGet()和doPost()中的代码),响应个客户端浏览器。

四、ServLet的三种映射方式 1、具体名称的方式

特点:访问资源路径必须和映射配置完全相同。

servLet01 com.wangyang.ServLet.Serv01 servLet01 /servLet01 2、'/'开头+通配符方式

特点:只要考虑复合目录结构即可,不必考虑结尾形式。

servLet01 com.wangyang.ServLet.Serv01 servLet01 /serv/* 3、通配符+固定格式结尾的方式

特点:只要复合固定结尾格式即可,不必考虑前面。

servLet01 com.wangyang.ServLet.Serv01 servLet01 *.do 五、ServLet的线程安全问题

servLet是线程不安全的,所以,对于类成员的使用需要加同步锁,即将使用类成员的地方加上synchronized关键字抽取为同步代码块即可,或者直接将类成员定义与service方法(doGet方法和doPost方法)中即可。

六、servLet的创建时机 1、第一次访问时创建

优势:减少了对服务器内存的浪费,提高服务器启动的效率。

弊端:如果有些应用需要在应用加载时完成初始化,无法完成。

2、服务器启动时创建

优势:提前创建号对象,提高了首次执行的效率,可以完成一些应用加载时的操作。

弊端:对服务器内存占用比较多,影响服务器启动的效率。

设置方法:

在标签中添加num即可,num为一个整数,num为正整数时表示服务器启动时创建,num为负整数或不写时表示第一次使用时创建。

servLet01 com.wangyang.ServLet.Serv01 1 servLet01 /servLet01 七、Tomcat默认的ServLet

 默认ServLet是由服务器提供的一个ServLet,它配置在Tomcat的conf目录中的web.xml文件中

客户端发送HTTP请求时,首先会在web项目中的web.xml文件中查找映射配置,若查找的到则执行,查找不到则去找默认的ServLet,由默认的ServLet进行处理。

八、ServletConfig 1、ServletConfig简介

介绍:ServLetConfig是ServLet的配置参数对象,在ServLet的规范中,允许每一个ServLet都提供一些初始化的配置,所以,每一个ServLet都有一个自己的ServLetConfig。

作用:在ServLet初始化时,把一些配置信息传递给Servlet。

生命周期:和Servlet的声明周期相同。

2、ServletConfig配置方式

在web.xml文件中的标签中,通过标签来配置,有两个子标签:

(1):带表初始化参数的key。

(2):带表初始化参数的value.

示例:

servLet01 com.wangyang.ServLet.Serv01 encoding UTF-8 desc this is ServLet01 3、ServletConfig的常用方法

 4、ServletConfig的使用(在servlet对象中使用)

(1)首先声明ServletConfig对象

(2)通过init()方法,来对ServletConfig对象进行赋值(有服务器自动进行赋值)

(3)在Service()方法(HTTPServlet中为doGet和doPost方法)中调用ServletConfig对象方法进行操作。

package com.wangyang.ServLet; import javax.servlet.*; import java.io.IOException; public class Serv01 implements Servlet { //1、声明ServletConfig对象 private ServletConfig config ; @Override public void init(ServletConfig servletConfig) throws ServletException { //2、通过init方法对ServletConfig对象进行初始化 this.config=servletConfig; } @Override public ServletConfig getServletConfig() { return null; } @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { //3、通过调用ServletConfig对象的方法进行使用,如:输出其描述信息: String string = this.config.getInitParameter("desc"); System.out.println(string); } @Override public String getServletInfo() { return null; } @Override public void destroy() { } }

操作结果: 

九、ServletContext 1、ServletContext简介

介绍:ServletContext是应用上下文对象(应用域对象),每一个应用中只有一个ServletContext对象。

作用:可以配置和获得应用的全局初始化参数,可以实现Servlet之间的数据共享。

生命周期:应用一加载时被创建,应用被停止时销毁。

 2、ServletContext的配置方式

在标签中,通过标签来配置,有两个子标签:

(1):代表全局初始化参数的key。

(2):代表全局初始化参数的value。

例如:

globalEncoding UTF-8 desc this is Context 3、ServletContext的常用方法

步骤:

(1)通过ServletConfig对象的getServletContext()方法或者直接调用本身的getServletContext()方法获取ServletContext对象。

(2)通过调用ServletContext对象来使用其方法。

常用的方法有:

(1)与配置相关的方法

 (2)与全局数据相关的方法:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有