Servlet自学第28讲:ServletContext详解
2015-05-29 09:15
183 查看
ServletContext引入
需求1:需求2:
ServletContext快速入门
ServletContext 是在服务器创建
ServletContext被所有客户端共享
ServletContext 当web应用启动时自动创建,
ServletContext 当web应用关闭 重启动 或服务器关闭时都会造成ServletContext销毁
对ServletContext的用法小结:
//获取ServletContext的两种方法
this.getServletContext(); this.getServletConfig().ServletContext();
//添加属性
servletcontext.setAttribute(String , object);
//取出属性
servletcontext.getAttribute("属性名");
//删除
servletcontext.removeAttribute("属性名");
ServletContext的应用
一、 获取web应用的初始化参数<!-- 如果希望所有的Servlet都可以访问该配置--> <context-param> <param-name>name</param-name> <param-value>socott</param-value> </context-param>
如何获取
String val=this. getServletContext().getInitParameter("name");
二、实现servlet页面跳转
目前跳转到页面有几种方法
①. response.sendRedirect("/web应用名/资源URL"); ②. resquest.getRequestDispatcher("/资源URL").forward(resuest,response);
区别
a: getRequestDispatcher跳转发生在服务器而sendRedirect跳转发生在浏览器
b: 如果resquest.setAttribute(“name”,”gust”);希望下个页面可以使用其属性则用getRequestDispatcher
c:如果session.setAttribute(“uname”,”顺平”);希望下个页面可以使用其属性则用两种方法都可以,建议使用getRequestDispatcher 因为效率高些
d:如果我们要跳转到本应用外的URL则使用sendRedirect
③:this.getServletContext().getRequestDispatcher("/资源URL").forward(resuest,response);
跟第二种方法一样...
三、读取文件,和获取文件的路径
//读取文件
InputStream is = this.getServletContext().getResourceAsStream("dbinfo.properties"); //创建properties Properties pp = new Properties(); pp.load(is); Out.println("name="+pp.getProperty("username"));
//如果文件在src目录下要用类加载器去读 InputStream is=Servlet类名.class.getClassLoader().getResoureAsStream("dbinfo.properties"); //获取文件全路径 String path=this.getServletContext().getRealPath("/imgs/a.jpg"); Out.println("path="+path);
相关文章推荐
- WebApi 跨域
- 关于EasyUIDataGrid查询功能
- Android 开源代码
- linxu中删除指定时间之前的文件shell脚本
- Eclipse设置、调优、使用
- JVM体系结构和工作方式
- VC中GBK与UTF8字符串的转换
- error: No resource identifier found for attribute ‘backIcon’ in package
- java通过Annotation配置权限
- QT 之 sendEvent & PostEvent
- VS调试输入法
- linux下删除某一时间段的文件
- 事未成,人已老
- 用c#开发微信 (8) 微渠道 - 推广渠道管理系统 3 UI设计及后台处理
- Docker
- AngularJS入门之Services
- 优先队列
- 头文件为什么要加#ifndef #define #endif
- GSON解析json
- log4jdbc数据库访问日志框架使用