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的配置方式:
1.1完全匹配 访问的资源与配置的资源完全相同才能访问到
1.2目录匹配 格式:/虚拟的目录../* *代表任意
1.3扩展名匹配 格式:*.扩展名
注意:第二种与第三种不要混用 /aaa/bbb/*.abcd(错误的)
2.缺省Servlet
可以将url-pattern配置一个/,代表该servlet是缺省的servlet
什么是缺省的servlet?
当你访问资源地址所有的servlet都不匹配时 , 缺省的servlet负责处理
其实,web应用中所有的资源的响应都是servlet负责,包括静态资源
3.欢迎页面
在不设置缺省的情况下,当网址后面什么都不写,按照下面从上到下进行匹配。