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

  • 不写任何资源名称的时候,会访问欢迎页面
  • 默认从上往下找

原文地址:https://www.cnblogs.com/mumuyinxin/p/10604048.html