「javaweb加载类」java 加载
今天给各位分享javaweb加载类的知识,其中也会对java 加载进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java web的 怎么加载spring
- 2、在javaWeb编程中,有遇到通过类加载器来加载属性文件,那么为什么不直接用IO流加载,IO加载不是更简单?
- 3、JavaWeb Tomcat 怎样实properties文件的实时加载
- 4、java web项目 *.xml,*.properties启动只加载一次
- 5、java自定义类加载器怎么在web项目中应用
- 6、java web工程,读取配置文件路径问题
java web的 怎么加载spring
spring在web环境中,java代码里需要得到ApplicationContext; 根据前期配置的不同,有两种方式:
方式一,spring加载放到web.xml中配置:
[html] view plain copy print?
listener
listener-classorg.springframework.web.context.ContextLoaderListener/listener-class
/listener
则得到ApplicationContext用如下方式:
[java] view plain copy print?
//在struts中需要实现ServletRequestAware类,便可得到request对象
ServletContext s = ServletActionContext.getRequest().getSession().getServletContext();
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(s);
java代码中调用 ctx.getBean(String beanId);
方式二,直接声明:
[java] view plain copy print?
public class BeanManager {
private static ApplicationContext context = new ClassPathXmlApplicationContext("appcontext.xml") ;
public static Object getBean(String beanId) {
return context.getBean(beanId);
}
}
在web.xml中写一个servlet,自动启动,init方法中调用一下BeanManager,为的是在Web应用启动的时候就让Spring加载bean配置文件,否则会在第一次调用BeanManager的时候加载,影响第一次访问速度。
[java] view plain copy print?
init() throws ServletException {
BeanManager bm = new BeanManager();
}
在java代码中使用 BeanManager.getBean(String beanId); 来获得bean实例。
在javaWeb编程中,有遇到通过类加载器来加载属性文件,那么为什么不直接用IO流加载,IO加载不是更简单?
这个是IO的封装,你要是喜欢使用IO,也可以直接使用IO去加载的
~~~~~~~~~
JavaWeb Tomcat 怎样实properties文件的实时加载
现在可以通过修改tomcat配置文件来让服务器自动加载,
修改tomcat服务器文件 tomcat安装目录--conf--server.xml,在tomcat的host/host标签里添加下面这行代码:
Context path= "/myweb " docBase= "E:\myeclipse9\myweb\WebRoot " reloadable= "true "/
说明:
1path:指定拜候该web应用的URL进口;
2docBase:指定web应用的文件路径,可以给定绝对路径,也可以给定相对于Host的appBase属性【默认
指向tomcat的webapps】的相对于径;要是Web应用是个war文件,则指定war文件的路径。
3reloadable:要是这个属性设置为true,Tomcat服务器在运行状况下会监视在WEB-INF/classess和WEB-
INF/lib目次下的class文件的改动,以及监视web应用的WEB-INF/web.xml文件的改动。要是检测到的class
文件或者web.xml文件被更新,服务器会自动加载Web应用。该属性的默认值为false.在web应用的开发和调
试阶段,把reloadable设为true,可以方便对web应用的调试。在web应用正式发布阶段,把reloadable设为
false,可以减低tomcat的运行负荷,提高Tomcat的运行性能。
java web项目 *.xml,*.properties启动只加载一次
这肯定不关 文件属性的事,你想一下如果是你设计一个项目,你将这些配置的东西写在一个文件里面,当项目运行的时候,初次加载时候,才需要去读取这个文件(可以用监听器 或者单例 都行),然后将这些信息包装成一个类,你不可能 每次用到的时候,去读取这些配置文件,因为在读取一个文件的时候,他在底层肯定要用到IO,如果频繁的调用这些配置的属性,那岂不是要整天要new 一个IO或者这个IO流 不关掉,所以在别人或者自己 写程序的时候 ,读取配置文件 肯定实在第一次运行的时候才去读取,这样是设计才合理嘛
java自定义类加载器怎么在web项目中应用
1、设置断点
2、启动servers端的debug模式
3、运行程序,在后台遇到断点时,进入debug调试状态
=============================
作用域 功能 快捷键
全局 单步返回 F7
全局 单步跳过 F6
全局 单步跳入 F5
全局 单步跳入选择 Ctrl+F5
全局 调试上次启动 F11
全局 继续 F8
全局 使用过滤器单步执行 Shift+F5
全局 添加/去除断点 Ctrl+Shift+B
全局 显示 Ctrl+D
全局 运行上次启动 Ctrl+F11
全局 运行至行 Ctrl+R
全局 执行 Ctrl+U
java web工程,读取配置文件路径问题
读取配置文件 , xxx.properties放在webroot/WEB-INF/classes/目录下
首先将配置文件转换成InputStream,有两种方式,原理一样,都是通过类加载器得到资源:
(1)InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("xx.properties");
(2) InputStream inputStream =
this.getClass() .getClassLoader().getResourceAsStream( "xx.properties" );
调用对象的getClass()方法是获得对象当前的类类型,这部分数据存在方法区中,
而后在类类型上调用 getClassLoader()方法是得到当前类型的类加载器,我们知道在Java中所有的类都是通过加载器加载到虚拟机中的,而且类加载器之间存在父 子关系,就是子知道父,父不知道子,这样不同的子加载的类型之间是无法访问的(虽然它们都被放在方法区中),所以在这里通过当前类的加载器来加载资源也就 是保证是和类类型同一个加载器加载的。
最后调用了类加载器的getResourceAsStream()方法来加载资源。
(3) 然后加载配置文件,读取属性值
Properties prop = new Properties();
prop.load(input);
String value = prop.getProperty("PropertyName");
input.close();
关于javaweb加载类和java 加载的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-23,除非注明,否则均为
原创文章,转载请注明出处。