笔记之servlet的ServletContext对象(ServletContext的应用)
来源:互联网 发布:java 设置cookie 编辑:程序博客网 时间:2024/05/05 04:43
Servlet中的对象:
1.SerlveltContext对象代表应用
同一个web应用中,所有 Servlet共享一个ServletContext,可通过servletContext实现Servlet通信
servletContext获取方式:
方式一:this.getServletConfig().getServletContext();//config中维护了对conetxt对象的应用
方式二:this.getServletContext();
ServletContext的具体应用:
1.实现多个Servlet数据共享
this.getServletContext().setAttribute() this.getServletContext().getAttribute()
2.XML中可通过<context-param>设置应用初始化参数,参数自动封装到context对象中。
this.getServletConext().getInitParamter("url")来获取参数
3.实现servlet转发
例如:将结果转交给JSP
RequestDispather rd=this.getServletContxt().getRequestDispather("/1.jsp");
Rd.forward(request,response);
4.读取资源配置文件XML或properties
WEB开发路径都以/开头。
第一种方式:
ServletContext context=this.getServletContext();
InputStream in=context.getResourceAsStream("/WEB-INF/classes/db.properties");
Properties pro=new Properties();
Pro.load(in);
String url=pro.getProperty("url");
第二种方式:方便截取文件名path.substring(path.lastIndexOf("\\")+1);
ServletContext context=this.getServletContext();
String path=context.getRealPath("/WEB-INF/classes/db.properties");
InputStream in=new FileInputStream(path);
Properties pro=new Properties();
Pro.load(in);
String url=pro.getProperty("url");
其他方法:
context.getResource("/WEB-INF/classes/db.properties")//返回资源URL方式
Url url=context.getResource("/WEB-INF/classes/db.properties");
String path=url.getPath();//获得绝对路径
context.getResourcePaths("/")获取指定目录下的所有资源
读取不同位置的资源:
包下的资源:
context.getRealPath("/WEB-INF/ classes/cn/itcast/web/db.properties")
Webroot下的资源:
webROOT是应用目录
context.getRealPath("/db.propterties")
读取资源文件的程序不是servlet:
Classes目录下的文件都由类装载器装载
SRC下:StudentDao.class.getClassLoader().getResourceAsStream("db.properties");
包下:StudentDao.class.getClassLoader().getResourceAsStream("cn/itcast/web/db.properties");
采用类装载器注意问题:
1.装载的文件必须在类路径下就是SRC
2.装载的文件不能太大,否则会JAVA内存溢出(类文件是一一次性装载,即使修改资源也不会再装载)
3.用类装载器读取跟新后的资源文件,只能按传统方式得到绝对路径,然后再用流读取
Url url=this.StudentDao.class.getClassLoader().getResource("db.properties");
String path=url.getPath();
InputStream in=new FileInputSream(path);
- 笔记之servlet的ServletContext对象(ServletContext的应用)
- Servlet的细节、ServletConfig对象、ServletContext对象及ServletContext应用
- servlet 的servletContext 对象
- ServletContext对象的应用
- 黑马程序员-Servlet的细节、ServletConfig对象、ServletContext对象及ServletContext应用
- (18)servletContext应用:获取web应用的初始化参数、实现servlet转发、利用servletContext对象读取资源文件
- ServletContext对象方法的应用
- Servlet的应用--- ServletConfig和ServletContext
- Servlet的应用--- ServletConfig和ServletContext
- Servlet的应用---ServletConfig和ServletContext
- Servlet的应用---ServletConfig和ServletContext
- Servlet的应用--- ServletConfig和ServletContext
- Servlet的应用--- ServletConfig和ServletContext
- Servlet下的ServletContext
- Servlet学习笔记—ServletContext的详解
- Servlet之ServletConfig和ServletContext的探索
- JavaWeb学习之Servlet(四)----ServletConfig获取配置信息、ServletContext的应用
- ServletContext的应用
- 三维场景坐标系变换序列
- UIWebView加载Loading的两种方法
- 嵌入式系统使用的闪存:NOR和NAND
- 数字电视节目码流中的PAT表分析
- 优化UITableView性能
- 笔记之servlet的ServletContext对象(ServletContext的应用)
- PDF的简单合并
- 图解Git[强烈推荐]
- 简单的内存池 MemoryPool
- OpenCV Latent SVM Discriminatively Trained Part Based Models for Object Detection
- iOS 多语言化
- centos install lamp
- org.w3c.dom document 和xml 字符串 互转
- Uva - 11538 - Chess Queen(数学推导)