Servlet概述

通过阅读API,可以得到如下信息:

第一:Servlet是一个运行在web服务端的java小程序

第二:它可以用于接收和响应客户端的请求

第三:要想实现Servlet功能,可以实现Servlet接口,继承GenericServlet或者HttpServlet

第四:每次请求都会执行service方法

第五:Servlet还支持配置

 

 

 

 

servlet的终极写法
第一种
1.定义一个类extends HttpServlet
2.重写doGet和doPost, 让一个方法调用另外一个
3.在任何方法中编写逻辑
4.需要在web.xml中配置
第二种
1.定义一个类extends HttpServlet
2.重写带http协议的service方法
3.在service方法中编写逻辑
4.需要在web.xml中配置
第三种
1.定义一个类extends HttpServlet
2.重写带http协议的service方法
3.在service方法中编写逻辑
4.使用注解来配置

注意:一个servlet可以对应多个servlet-mapping

Servlet的生命周期
init
     随着Servlet的第一次访问只会执行一次
     正是因为只会执行一次, 经常以前用来加载配置文件
service
     每次访问servlet都会执行
destroy
    当服务器正常关闭, 或者项目被移除时执行, 也是执行一次
servlet是单例的, 被多个用户同时访问就有可能出现线程安全问题, 解决方案如下
不要去定义成员变量, 去定义局部变量

Servlet的访问路径的配置方式


绝对路径匹配
"/ServletDemo1"
  只有访问"/ServletDemo1"的时候才能找到这个资源
目录匹配
"/user/*"
只要访问"/user/"开头都可以
"/user/mei"
"/user/jun"
后缀名匹配
以*开头, 后缀名结尾: "*.meil"
匹配所有的html
http://ip地址:端口/虚拟路径/aaa/bbb/ccc/a.mei

Serlvet的配置参数的问题

  注意: ServletConfig是Tomcat创建的, 创建好, 将这个对象塞给对应的Servlet, 而我们需要做的就是获取这个对象, 借助这个对象获取初始化参数接口, 我们省略了解析配置文件的过程.

  

如何配置

  在web.xml中的<servlet>标签中添加如下标签
  <init-param>
  <param-name>username</param-name>
  <param-value>123</param-value>
  </init-param>
  <init-param>
  <param-name>password</param-name>
  <param-value>123</param-value>
  </init-param>

怎么用
  每一个Servlet都有一个getServletConfig()就可以拿到这个配置对象

  String getInitParameter(String key)//通过键获取对应的值

 


  Enumeration<String> getInitParameterNames()//获取所有的键
        boolean hasMoreElements()//判断是否有下一个元素
          String nextElement();取出下一个元素

posted @ 2021-03-11 19:30  izzo  阅读(29)  评论(0)    收藏  举报