Servlet超详细笔记2--创建与配置

一、Servlet的创建

创建Servlet的常用方法有3种,即直接实现Servlet接口、继承GenericServlet类与继承HTTPServlet类。

1.直接实现Servlet接口

任何一个Servlet类都必须实现javax.servlet.Servlet接口。

Servlet接口定义类5个方法:

init()

service()

destroy()

getServletConfig()--返回容器调用init()方法时传递给Servlet对象的ServletConfig对象。

getServletInfo()--返回一个字符串,其中包括关于Servlet的信息,如作者、版本与版权。

2.继承GenericServlet类

为简化Servlet的编写,javax.servlet包中提供了一个抽象的类GenericServlet。GenericServlet实现了Servlet接口与ServletConfig接口,给出了Servlet接口中除了service()方法外的其他4个方法的简单实现。

3.继承HttpServlet类

javax.servlet.http包中提供了一个抽象类HttpServlet,可用于快速开发应用于Http协议的Servlet类。

在HttpServlet类中,重载了GenericServlet的service()方法。根据不同的请求方法,HttpServlet提供了7个doXxx处理方法。

当一个Servlet类继承HttpServlet时,无须覆盖其service()方法,只需要覆盖相应的doXxx()方法即可。通常情况下,都覆盖其doGet()与doPost()方法,然后其中一方法中调用另一个方法,就这样可以做到合二为一。

二、Servlet的配置

1.基本配置

其中url-pattern的配置方式:

Servlet超详细笔记2--创建与配置

1.1完全匹配 访问的资源与配置的资源完全相同才能访问到

Servlet超详细笔记2--创建与配置

1.2目录匹配 格式:/虚拟的目录../*   *代表任意

Servlet超详细笔记2--创建与配置

1.3扩展名匹配 格式:*.扩展名

Servlet超详细笔记2--创建与配置

注意:第二种与第三种不要混用 /aaa/bbb/*.abcd(错误的)

2.缺省Servlet

可以将url-pattern配置一个/,代表该servlet是缺省的servlet

什么是缺省的servlet?

当你访问资源地址所有的servlet都不匹配时 , 缺省的servlet负责处理

其实,web应用中所有的资源的响应都是servlet负责,包括静态资源

3.欢迎页面

在不设置缺省的情况下,当网址后面什么都不写,按照下面从上到下进行匹配。

Servlet超详细笔记2--创建与配置