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();取出下一个元素
浙公网安备 33010602011771号