JavaWeb-ServletContext
1.servletContext
1.1 简介
ServletContext官方叫servlet上下文。服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象。这个对象全局唯一,而且工程内部的所有servlet都共享这个对象。所以叫全局应用程序共享对象。
servletContext是一个域对象,域对象是服务器在内存上创建的存储空间,用于在不同动态资源(servlet)之间传递与共享数据。
凡是域对象都有如下3个方法:
setAttribute(name,value);name是String类型,value是Object类型 | 往域对象里面添加数据,添加时以key-value形式添加 |
getAttribute(name); | 根据指定的key读取域对象里边的数据 |
removeAttribute(name); | 根据指定的key删除域对象里边的数据 |
1.2 作用
是一个域对象,
1.可以读取全局配置参数
web.xml配置:
!-- servlet初始化参数--> <context-param> <param-name>url</param-name> <param-value>http://localhost</param-value> </context-param>
代码:获取并输出到浏览器
resp.getWriter().println("url:" + context.getInitParameter("url"));
2.搜索当前工程目录下面的资源文件
// ‘/’代表当前工程,即当前web工程下的目录对应的文件,非磁盘绝对路径
InputStream in = context.getResourceAsStream("/WEB-INF/classes/db.properties"); Properties prop = new Properties(); prop.load(in); resp.getWriter().println("username:" + prop.getProperty("userName")); resp.getWriter().println("pwd: " + prop.getProperty("password"));
3.获取当前工程的名字
resp.getWriter().println("contextpath: " + context.getContextPath());
4.转发请求 context.getRequestDispatcher("/goal").forward(req,resp); /goal为实际请求的路径即由当前servlet转发到目的servlet。
context.getRequestDispatcher("/demo").forward(req,resp);
版权声明:本文引用CSDN博主「白衬衫丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36371449/article/details/80314024