Servlet在web.xml中的配置
<Servlet>
<servlet-class>
<Servlet-name>
<init-param>
<param-name>
<param-value>
<Servlet-mapping>
<servlet-name>
<url-pattern>
Tomcat在启动时会加载各个项目中的web.xml,用户通过浏览器输入的地址会进行匹配(有精确匹配和模糊匹配)。通过读取URI,得到servlet配置信息(自己找自己的),并进行加载,创建对象(访问创建或者自动创建)。构造函数,创建 servletconfig 然后是 sevletcontext(域对象),创建获取init (初始化方法),创建 HttpServletRequest\HttpServletResponse(单实例多线程)然后是service(),给用户的浏览器进行响应,最后是destroy();
servlet
这个init-param专门应用于servlet初始化,可在servlet初始化是进行参数配置。
获取:this.getServletConfig.getInitParamter()\getInitParamerNames()
这种配置只能servlet自己使用自己的。还有一种用于整个web项目都可访问的配置
<context>
<context-name>
<context-value>
获取:this.getServletContext.getServletContext()
不能写在servlet配置中。
精确匹配:就是一模一样
模糊匹配:就是使用通配符了,或者/后什么也没有写 例如:www.ai.cn/zhongguo/
非法:/*.do 合法:*.do
缺省路径就是Tomcat内置的路径,用于解析静态文件。先找动态,后找静态。
访问创建:就是用户访问后进行创建。
自动创建:在servlet配置中加上<load-on-startup>1 数字越大越往后加载
增:this.getServletConfig.setAttribute(“”,””);
删:getAttribute()
取:removeAtrribute()
存取的是Object,不仅仅限于字符串。
This.getServletConfig.getServletContextPath();//web路径
getRequestDispatcher()//转发与重定向(sendRedirect)区别就是可以携带req\resp,转发不能访问web程序之外的页面。Resp用重定向。Context用转发。
有init()和init(ServletConfig):init()是sun公司留给给开发者进行开发的。不能复写有参数的。
Syonchronized,注意进行减少此中的代码,在里面的越多处理的时间越长。
ServletConfig 与 ServletContext区别
config是配置servlet的,context是web应用程序的。
原文:http://www.cnblogs.com/core404/p/5738998.html