public class OneServlet implements Servlet ?{ } //采用接口
public class TwoServlet ?extends GenericServlet {}//采用继承
public class ThreeServlet ?extends HttpServlet{}//采用继承
@WebServlet(urlPatterns="/d")
public class fourServlect extends HttpServlet {}采用快键
ALT+/ 在写代码中常用
url-pattern详解
1.完全匹配?? ?必须以"/"开始?? ??? ??? ?
例如:/hello ? ?/a/b/c
2.目录匹配?? ?必须以"/"开始 ?以"*"结束?? ?
例如:/a/* ? ?/*
3.后缀名匹配?? ?以"*"开始 ? ? ?以字符结尾 ? ? ??
例如:*.jsp ? *.do ? *.action
优先级:完全匹配>目录匹配>后缀名匹配
servlet标签中的一个子标签< load-on-startup> 作用:用来修改servlet的初始化时机
取值:
1.它的值必须是一个整数,表示servlet被加载的先后顺序
2.如果值为正整数或者0时,表示在应用启动时就加载并初始化servlet
值越小,加载的优先级越高,就越先被加载,值相同时,容器就会自己选择加载顺序
ServletConfig?
获取静态数据的二个方式
在web.xml文件中写??
<!-- 注意<init-param>写在<servlet>里面 -->
?<init-param>
?<param-name>home</param-name>
?<param-value>二家酒店</param-value>
?</init-param>
方式二
/**
?* Servlet implementation class Servlet2
?*/
@WebServlet(urlPatterns = "/Servlet2",initParams = {
?? ??? ?@WebInitParam(name="aaaa",value="张三"),
?? ??? ?@WebInitParam(name="age",value="23"),
?? ??? ?@WebInitParam(name="height",value="179cm"),
?? ??? ?@WebInitParam(name="weight",value="60kg")
})
public class Servlet2 extends HttpServlet {
Servlet的框架是由两个Java包组成:javax.servlet和javax.servlet.http. 在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类.在javax.servlet.http包中定义了采用HTTP通信协议的HttpServlet类.
Servlet的框架的核心是javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口.在Servlet接口中定义了5个方法,其中有3个方法代表了Servlet的声明周期:
init方法,负责初始化Servlet对象
service方法,负责相应客户的请求
destory方法,当Servlet对象退出声明周期时,负责释放占有的资源
当Web容器接收到某个Servlet请求时,Servlet把请求封装成一个HttpServletRequest对象,然后把对象传给Servlet的对应的服务方法.
???? HTTP的请求方式包括DELETE,GET,OPTIONS,POST,PUT和TRACE,在HttpServlet类中分别提供了相应的服务方法,它们是,doDelete(),doGet(),doOptions(),doPost(), doPut()和doTrace().?
HttpServlet的功能??
HttpServlet首先必须读取Http请求的内容。Servlet容器负责创建HttpServlet对象,并把Http请求直接封装到HttpServlet对象中,大大简化了HttpServlet解析请求数据的工作量。HttpServlet容器响应Web客户请求流程如下:
1)Web客户向Servlet容器发出Http请求;
2)Servlet容器解析Web客户的Http请求;
3)Servlet容器创建一个HttpRequest对象,在这个对象中封装Http请求信息;
4)Servlet容器创建一个HttpResponse对象;
5)Servlet容器调用HttpServlet的service方法,把HttpRequest和HttpResponse对象作为service方法的参数传给HttpServlet对象;
6)HttpServlet调用HttpRequest的有关方法,获取HTTP请求信息;
7)HttpServlet调用HttpResponse的有关方法,生成响应数据;
8)Servlet容器把HttpServlet的响应结果传给Web客户。