servlet规范
一 servlet简介
servlet是运行在服务器中的动态资源,能接收用户的请求,发出响应。
二 servlet的执行过程
1.在地址栏输入访问的路径
2.tomcat解析路径找到要访问的APP文件夹,找到web.xml文件
3.根据访问的url查找文件映射 找到配置的sevlet名称
4.根据sevelet名称找到对应的类名
5.运用反射机制 实例化servlet类
6.创建request 和 response 对象
7.调用service方法
三 servlet的生命周期
1.调用init方法初始化servlet, 第一次用户访问servlet时
2.用户每次访问都调用servlet的service方法
3.应用被卸载时才会调用servlet的destory方法
四、编写sevlet的方式
方式一:直接实现javax.sevlet.Servlet接口
方式二:继承javax.servlet.GenericServlet 实现service接口
方式三: 继承javax.servlet.http.HttpServlet抽象类 覆盖(doGet或doPost请求 不要覆盖service方法)
推荐第三种方式:原因是服务器端编程都是基于HTTP协议的
五、Servlet细节
一个sevlet类可以被映射到多个URL位置上
servlet的URL可以使用通配符*
方式一: 以*开头,以某些扩展名结尾
方式二: 以 / 开头 以*结尾 比如 /action/*
如果用户的访问路径在web.xml中有多个匹配的情况下, 按照如下优先级
绝对匹配 > 以斜线开头的带通配符的 > 以*开头的
用户的所有访问都经过sevlet
tomcat\conf\web.xml中有一个路径为/的servlet,他是一个缺省的sevlet
六、在应用启动时启动sevlet初始化
配置启动时就初始化的配置,取值为一个自然整数
<load-on-startup> 2 </load-on-startup>
七、sevlet线程安全
请不要在sevlet中使用实体变量,而应该尽量使用局部变量
八、servletConfig详解
1、对当前servlet进行配置用的,主要用来配置一些参数
2、servletConfig 是由服务器产生的
3、获取servletConfig,getServletConfig 函数;
4、在web.xml中配置sevlet映射时就同时配置一些参数
5、 获取指定参数的值
getServletContext().getInitParameter("encoing")
九、servletContext详解
1、代表整个javaWeb应用,每个应用都会有一个唯一的ServletContext应用
2、 生命周期
在应用被服务器加载时由容器完成创建
只要应用没有关闭,它就一直存在,和应用的生命周期完全一直
3、怎么得到ServletContext的实例
方式一:getServletConfig().getServletContext()
方式二:getServletContext()
十、利用servletContext实现过个servlet的共享,内部有一个Map结构
servletContext.setAttribute( "p", "p1" )
servletContext.getAttribute( "p","p1" )
servletContext.removeAttribute(String key)
servletContext.getAttributeNames()
十一、域对象的概念:(非常重要)
域是表示范围。servletContext是一个域对象,表示的是应用范围(与应用的生命周期有关)