Servlet、ServletConfig和ServletContext
来源:互联网 发布:周泓旭 知乎 编辑:程序博客网 时间:2024/05/22 15:33
一.Servlet访问路径
<servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.xxx.MyServlet</servlet-class></servlet><servlet> <servlet-name>invoker</servlet-name> <servlet-class>com.xxx.InvokerServlet</servlet-class> <load-on-startup>1</load-on-startup>随服务器启动而加载,其中数值指定启动顺序</servlet><servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/MyServlet</url-pattern>浏览器的访问路径,可以有多个<servlet-mapping></servlet-mapping> <url-pattern>/</url-pattern>是默认servlet,其它访问路径无servlet处理,都由它来处理!在tomcat/conf/web.xml配置了DefaultServlet,对静态资源访问以及错误页面输出,都由DefaultServlet处理!在WEB-INF/web.xml写默认servlet会覆盖tomcat的DefaultServlet,导致静态资源无法访问!
二.ServletConfig
配置serlet类的参数(其他servlet类不能访问)在web.xml配置参数 <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.xx.MyServlet</servlet-class> <init-param> <param-name>data1</param-name> <param-value>value1</param-value> </init-param> </servlet>在MyServlet.java获取参数 getServletConfig().getInitParameter(); getServletConfig().getInitParameterNames();
三.ServletContext
1.作用
一个ServletContext对应于整个web应用,作为域对象在整个web应用范围内共享数据作用域:整个web应用生存期:当web应用加载到web容器时创建ServletContext,当web应用被移出web容器时销毁ServletContext
2.Attribute
在不同servlet间传递键值对数据getServletContext().setAttribute(name, object);getServletContext().getAttribute(name);getServletContext().removeAttribute(name);
3.配置整个web应用的参数
在web.xml配置参数 <context-param> <param-name>user</param-name> <param-value>password</param-value> </context-param>在MyServlet.java获取参数 getServletContext().getInitParameter("user"); getServletContext().getInitParameterNames();
4.servlet转发
this.getServletContext().getRequestDispatcher("/OtherServlet").forward(request, response);servlet转发: 一次Http请求,一次Http响应Http重定向: 302+Location, 两次Http请求, 两次Http响应
5.文件路径
相对路径是相对java虚拟机启动目录,绝对路径固定不灵活在servlet下getServletContext().getRealPath("")当前运行网站的资源路径。getServletContext().getResourceAsStream("")当前运行网站的资源流。在非servlet下用类加载器getClassLoader.getResource("../xx").getPath()默认从class包根目录开始,..表示class包的根目录的上一级文件getClass().getResource("xx").getPath()默认从class类所在的目录开始
GitHub博客:http://lioil.win/2017/01/19/Servlet.html
Coding博客:http://c.lioil.win/2017/01/19/Servlet.html
0 0
- 【Servlet】ServletConfig和ServletContext
- Servlet、ServletConfig和ServletContext
- servlet-01 servletConfig和servletContext
- Servlet之ServletConfig和ServletContext
- Servlet的应用--- ServletConfig和ServletContext
- Servlet的应用--- ServletConfig和ServletContext
- Servlet的应用---ServletConfig和ServletContext
- Servlet的应用---ServletConfig和ServletContext
- Servlet的应用--- ServletConfig和ServletContext
- Servlet的应用--- ServletConfig和ServletContext
- Servlet之ServletConfig和ServletContext的探索
- Servlet中的ServletContext和ServletConfig详解
- Servlet注意+ServletConfig+ServletContext
- Servlet、servletConfig、ServletContext简介
- Servlet—ServletConfig、ServletContext
- Servlet总结-ServletConfig、ServletContext
- javax.servlet.ServletConfig、javax.servlet.ServletContext和javax.servlet.Filter
- Servlet路径、ServletConfig、ServletContext和乱码问题(转载)
- 51nod-1535 深海探险
- 2017_0118
- 一些Setup Factory 教程的链接
- 维纳过程(Wiener Process)与高斯过程(Gaussian Process)
- php对象转换成字符串
- Servlet、ServletConfig和ServletContext
- Hibernate异常No row with the given identifier exists 解决方法
- angular 取消或终止$http的ajax请求
- N进制小数
- Android5.0,6.0,7.0新特性整理
- OpenGL绘制自由落体小球
- java 中int、string转换详解
- 编译器的工作过程
- 安卓 Android Studio NDK 神坑总结