Servlet
目录
什么是Servlet
- Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口)
1.servlet接收响应请求
2.filter过滤器
3.listener监听器 - 用来处理客户端请求、响应给浏览器的动态资源
- servlet的实质就是java代码,通过java的API动态的向客户端输出内容
- 以后写的程序就不在是在本地执行了。而是编译成字节码,放到服务器上来去执行。
- 编写程序时, 不需要有main函数了。因为写完后,就把编写的程序编译成字节码,放到服务器上面。当前发送就一个请求的时候,服务器就会按照一定规则调用编写的代码
Servlet快速入门
1.创建一个web工程
2.在JavaResource中src下创建一个包名称为com.myxq.servlet
3.在创建的servlet包当中创建一个class文件起名为FirstServlet
4.进入该class实现一个Servlet接口,实现它未实现的方法
重点看service方法
在该方法当中写入一句话进行输出
5.在web.xml当中进行配置
6.不过后期会通过在servlet中引入注解的形式在web.xml中自动注册servlet
表现形式
@WebServlet("/Myservlet")
生命周期
Servlet什么时候被创建
- 默认情况下第一次访问的时候创建
- 可以通过配置文件设置服务器启动的时候就创建
init方法
- servlet对象创建的时候调用
- 默认第一次访问时创建
service方法
- 每次请求都会执行一次
destroy方法
- servlet对象销毁的时候执行
- 默认服务器关闭时销毁
< load-on-startup >标签(在项目web.xml中
- 对象在服务器启动时就创建
- 参数为数值,代表优先级;数据越小,优先级越高,不能为负数
Servlet配置信息
< init-params >(在项目web.xml中里添加标签)
<init-params>
<init-name>名称</init-name>
<init-value>值</init-value>
</init-params>
config参数
- 该servlert的配置信息
- 获得web.xml当中参数
- 初始化参数
- 获取servletContext对象
url-patten
1.完全匹配
<url-pattern>/firstServlet</url-pattern>
2.目录匹配
<url-pattern>/my/xq/*</url-pattern>
3.扩展名匹配
<url-pattern>*/myxq</url-pattern>
缺省Servlet
访问的资源不存在时,就会找缺省的地址
<url-pattern>/</url-pattern>
全局Web.xml
- 对于部署在服务器上的所有应用都有效
- 先到自己工程当中找web.xml配置
- 再到全局web.xml当中去找配置
- 如果两个当中有相同的配置,自己当中配置的内容会生效
静态资源加载过程
- 在path后面写的静态资源名称index.html或是其它的.html,它都是会找ur-pattern当中有没有匹配的内容
- 如果有,就加载对应的servlet;如果没有就到自己配置当中找缺省的url-pattern
- 如果自己配置文件当中没有缺省的,就会找全局配置缺省的url-pattern
- 在全局配置当中有一个缺省的url-pattern对应的是default的Servlet
- defaultServlet内部会到当前访问的工程根目录当中去找对应的名称的静态资源,如果有,就把里面的内容逐行读出。响应给浏览器。
- 如果没有,就会报404错误
欢迎页面
Welcome-file-list
- 不写任何资源名称的时候,会访问欢迎页面
- 默认从上往下找