javaweb_ServletConfig&ServletContext
2014-05-26 22:06
573 查看
ServletConfig对象
在Servlet配置文件中可以为一个或多个<init-param>标签为Servlet配置一些初始化参数
设定了初始化参数之后服务器会自动将参数封装到ServletConfig对象中,map集合
String value = config.getInitParameter("ConfigServlet");获取初始化参数
ServletContext对象就是代表一整个web应用
作用:1、通过ServletContext管理web工程下的所有web资源。
2、多个Servlet可以通过ServletContext进行资源共享
3、获取初始化参数(可以在Context-param里面配置初始化参数,并且用这个方法可以为整个web站点配置初始化参数)
4、实现Servlet转发:这个方法很大用处,以后会使用jsp对网页经行排版之类的操作,这时候要将传入JSP
5、利用ServletContext对象读取资源文件
ServletContext常用方法:
|--setAttribute();将数据存入ServletContext
|
|--getAttribute();将数据取出
|
|--getInitParameter();获取整个web站点的初始化参数|
|
|--getRequestDispatcher();Servlet转发,用这个方法产生对象后调用forWard():(调用这个方法相当|于调用了你要传入的目标Servlet的doget方法,回头|过来还会执行这个方法下面的代码,但是在跳转过程|中forward方法会将request和response中的数据清空|跳转之前的任何写入都无效,在跳转回来后写入也是|无效的。除非在跳转前强制刷新)将请求转发到另|||外一个Servlet中。
一般来说都是用properties或者xml文件来作为资源文件
可以使用getServletContext().Realpath();来获取绝对路径上的properties文件,然后用FileInPutStream来存这个文件在用properties的load方法来加载,之后用getProperty方法来读取(flxday05
ServletContextDemo6)
通过ServletContextDemo7.class.getClassLoader().getResourceAsStream("包名/properties文件名")读取保存在类中的properties文件
也可以用类装载器读取properties:
ClassLoader loader = ServletContextDemo.class.getClassLoader(一个类获取他的字节码文件然后在将它装载到一个类装载器中);
然后loader.getProperty同样可以读取
类装载器读取大文件容易导致虚拟机内存溢出,只能用ServletContext文件来
对于不经常变化的数据,在Servlet中可以为其设置合理的缓存时间值,以避免浏览器频繁向服务器发送请求,提升服务器性能
response.setHeader(
response.setDateHeader("expires",System.CurrentTimeMillis()+24*3600*1000);
在这个时间点之前向这个网站请求访问的都是缓存文件。而不向服务器发请求。但是按了刷新按钮的话就会访问服务器了,这是获得就是最新的数据。
在Servlet配置文件中可以为一个或多个<init-param>标签为Servlet配置一些初始化参数
设定了初始化参数之后服务器会自动将参数封装到ServletConfig对象中,map集合
String value = config.getInitParameter("ConfigServlet");获取初始化参数
ServletContext对象就是代表一整个web应用
作用:1、通过ServletContext管理web工程下的所有web资源。
2、多个Servlet可以通过ServletContext进行资源共享
3、获取初始化参数(可以在Context-param里面配置初始化参数,并且用这个方法可以为整个web站点配置初始化参数)
4、实现Servlet转发:这个方法很大用处,以后会使用jsp对网页经行排版之类的操作,这时候要将传入JSP
5、利用ServletContext对象读取资源文件
ServletContext常用方法:
|--setAttribute();将数据存入ServletContext
|
|--getAttribute();将数据取出
|
|--getInitParameter();获取整个web站点的初始化参数|
|
|--getRequestDispatcher();Servlet转发,用这个方法产生对象后调用forWard():(调用这个方法相当|于调用了你要传入的目标Servlet的doget方法,回头|过来还会执行这个方法下面的代码,但是在跳转过程|中forward方法会将request和response中的数据清空|跳转之前的任何写入都无效,在跳转回来后写入也是|无效的。除非在跳转前强制刷新)将请求转发到另|||外一个Servlet中。
一般来说都是用properties或者xml文件来作为资源文件
可以使用getServletContext().Realpath();来获取绝对路径上的properties文件,然后用FileInPutStream来存这个文件在用properties的load方法来加载,之后用getProperty方法来读取(flxday05
ServletContextDemo6)
通过ServletContextDemo7.class.getClassLoader().getResourceAsStream("包名/properties文件名")读取保存在类中的properties文件
也可以用类装载器读取properties:
ClassLoader loader = ServletContextDemo.class.getClassLoader(一个类获取他的字节码文件然后在将它装载到一个类装载器中);
然后loader.getProperty同样可以读取
类装载器读取大文件容易导致虚拟机内存溢出,只能用ServletContext文件来
对于不经常变化的数据,在Servlet中可以为其设置合理的缓存时间值,以避免浏览器频繁向服务器发送请求,提升服务器性能
response.setHeader(
response.setDateHeader("expires",System.CurrentTimeMillis()+24*3600*1000);
在这个时间点之前向这个网站请求访问的都是缓存文件。而不向服务器发请求。但是按了刷新按钮的话就会访问服务器了,这是获得就是最新的数据。
相关文章推荐
- javaweb基础学习(一)<ServletConfig与ServletContext对象详解>
- javaweb-day05-5&6&7(Servlet - ServletConfig对象 和 ServletContext对象)
- JavaWeb 之 servletConfig,servletContext
- java_web学习第二天(ServletConfig和ServletContext对象的作用和使用)
- JavaWeb 之 servletConfig,servletContext
- javaweb-servlet- ServletConfig与ServletContext
- java_web初学笔记之<ServletConfig和ServletContext详解>
- JavaWeb 初步学习一(ServletConfig参数获取,ServletContext共享数据与请求转发)
- JavaWeb -- 服务器传递给Servlet的对象 -- ServletConfig, ServletContext,Request, Response
- 超全面的JavaWeb笔记day09<Servlet&GenericServlet&HttpServlet&ServletContext>
- 深入分析JavaWeb Item6 — servletConfig 与servletContext详
- JavaWeb之Servlet: ServletConfig 与 ServletContext
- 深入分析JavaWeb Item6 -- servletConfig 与servletContext详解
- JavaWeb之Servlet: ServletConfig 与 ServletContext
- (转)JavaWeb学习之Servlet(四)----ServletConfig获取配置信息、ServletContext的应用
- JavaWeb -- 服务器传递给Servlet的对象 -- ServletConfig, ServletContext,Request, Response
- getServletConfig().getServletContext().getRequestDispatcher("xxx.jsp")的用法
- [转]JavaWeb:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- JavaWeb:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- JavaWeb:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path