读取资源文件中的类为:
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class PropetiesInfo {
public final static String CONFIG = "remoting.properties";
public static Object getKeyInfo(String filePath,String keyName){
InputStream proIn = PropetiesInfo.class.getClassLoader().getResourceAsStream(filePath);
Properties pro = new Properties();
try {
pro.load(proIn);
} catch (IOException e) {
e.printStackTrace();
}
//back = pro.getProperty(keyName);
return pro.get(keyName);
}
/*
public static void main(String args[]){
System.out.println("version===="+String.valueOf(PropetiesInfo.getKeyInfo("remoting.properties", "version")));
}
*/
}
在项目的src目录下新建一个资源文件remoting.properties,如下:
ftp_host = 10.6.8.32
ftp_port = 56
ftp_userName = hello
ftp_password =jhjdhdjkh
则现在可以通过下面的方式直接读取给定键的值:
PropetiesInfo.getKeyInfo(PropetiesInfo.CONFIG, "ftp_host")
PropetiesInfo.getKeyInfo(PropetiesInfo.CONFIG, "ftp_port")
Spring配置文件中利用PropertyPlaceholderConfigurer获取properties文件中值:http://tangwenchao86.iteye.com/blog/1199044
ClassPathXmlApplicationContext是spring读取xml中bean最常用的类
简单的用ApplicationContext做测试的话,获得Spring中定义的Bean实例(对象).可以用:
ClassPathXmlApplicationContext cpx=new ClassPathXmlApplicationContext ("包名(或者是保的完整路径)/配置文件名字(也就是xml文件)");
cpx.getBean("配置文件中定义的bean实例");
例如:
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
RegisterDAO registerDAO = (RegisterDAO)ac.getBean("RegisterDAO");
如果是两个以上的xml文件:
ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","dao.xml"});
或者用通配符:
ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:/*.xml");
或者:
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:/conf/spring/*/*.xml","classpath:/conf/spring/*/*/*.xml");
XxxService service = (XxxService)context.getBean(XxxService.class);
ClassPathXmlApplicationContext注意事项:
1.classpath:前缀是不需要的,默认就是指项目的classpath路径下面;
2.如果要使用绝对路径,需要加上file:前缀表示这是绝对路径;
路径:
用File.separator获取系统的文件分隔符:windows系统的文件分隔符为\;linux系统为/
javax.servlet.ServletContext接口提供了获取应用的绝对路径的方法getRealPath、以及获取当前应用上下文的方法getContextPath。
可以通过以下方式获取ServletContext:
config.getServletContext() //ServletConfig config
或
request.getSession().getServletContext()
所以,获取应用的绝对路径:
config.getServletContext().getRealPath("")
config.getServletContext().getRealPath("/")
或
request.getSession().getServletContext().getRealPath("")
request.getSession().getServletContext().getRealPath("/")
config.getServletContext().getRealPath(filename) //filename这个文件是放在WebRoot目录下的
windows系统环境下:
request.getSession().getServletContext().getRealPath("") 为D:\tomcat-6.0.37\webapps\Test
request.getSession().getServletContext().getRealPath("/")为D:\tomcat-6.0.37\webapps\Test\
linux系统环境下:
request.getSession().getServletContext().getRealPath("")为 /root/aaa/installedApps/Test_war.ear/Test.war/
request.getSession().getServletContext().getRealPath("/")为/root/aaa/installedApps/Test_war.ear/Test.war
获取应用的上下文:
config.getServletContext().getContextPath()为/Test
request.getContextPath() 输出:/Test
在jsp页面中${pageContext.request.contextPath}为/Test
这个/ 指部署目录: tomcat\webapps\
在html、js等访问资源文件时,src="/resources...", 这个/ 也是指部署目录: tomcat\webapps\
如果这样设置src,说明应用系统跟资源文件分离的。两者部署在同一个tomcat下。
在windows下,路径中多若干个/或\,也可以正常运行
例如,D:\tomcat-6.0.37\webapps\resources//download/template/xxx.xls
甚至,D:\tomcat-6.0.37\webapps\resources////////download/template/xxx.xls
甚至,D:\tomcat-6.0.37\webapps\resources/\\\\\download/template/xxx.xls
甚至,D:\tomcat-6.0.37\webapps\resources/\\\\\///////download/template/xxx.xls
甚至,D:\tomcat-6.0.37\webapps\resources/\//////\//\///\\////\//\download/template/xxx.xls
甚至,D:\tomcat-6.0.37\webapps\resources/\//////\//\///\\////\//\download\//////\//\///\\////\//\template\//////\//\///\\////\//\xxx.xls
都是可以正常运行的。
------------------------------------------
File file= new File("bsPDF");
if(!file.exists()){
file.mkdirs();
}
String path = file.getAbsolutePath(); //绝对路径
如果在web项目中,部署tomcat后运行上段代码,将在tomact的bin目录下创建一个文件夹bsPDF,此时path=D:\tomcat\bin\bsPDF
如果用Run As-->Java Application直接运行代码,则在项目的工作空间生成一个文件夹bsPDF,此时path=E:\programe\Test\bsPDF
req.getRequestURI()= /Test/aaa/xxx.html 或 /Test/aaa/xxx.do
req.getRequestURL()= http://10.3.1.116:8080/Test/aaa/xxx.html 或 http://10.3.1.116:8080/Test/aaa/xxx.do
----------------------------------------------------------
在.js文件中不能直接访问jsp文件中通过jstl <c:set>标签定义的变量。
但是下例为什么可以正常运行?
ajax中url: '${_ctPath}/xxx_xxxxx.do'
但是ajax中作为参数data中a="${_ctPath}"又不行了
why...
-------------------------------------------------------------------
采用../../这样的相对路径 或者 绝对路径/Test/pages/...
css <link...
js <script...
html中,<img src="."
请求, .do
以webRoot为准:
引入jsp <%@ include file="/pages/xxx/xxx.jsp" %>
分享到:
相关推荐
js读取properties文件,很好用的。js读取properties文件,很好用的。js读取properties文件,很好用的。js读取properties文件,很好用的。
主要介绍了Python实现读取Properties配置文件的方法,结合实例形式分析了Python读取Properties配置文件类的定义与使用相关操作技巧,需要的朋友可以参考下
JAVA读取properties的值,JAVA读取properties文件,JAVA读取properties的内容
读取properties文件路径的两种方式.zip 文档说明+项目示例
读取properties文件返回map
java 读取properties文件代码
ConfigFile configfile = ConfigFile.getInstance("ipConfig123.properties"); String ip = configfile.getkeyvalue("ip"); 可以取出ipConfig123.properties 文件中IP的内容
本人在实际开发遇到过类似的问题,数据写缓存时,可以用到,以键值对的形式读写文件
java如何读取properties配置文件
读取properties返回map并写入文件
最高效,最简洁的读取properties文件的源码。二十行以内,需导入log4j包。 将文件代码拷贝到你的工程,如果提示你找不到 import org.apache.log4j.Logger; 直接点击该错误,选择自动添加log4j包。即可.....祝你好运...
eclipse项目。获取raw文件下的json文件。无需编写json数据里面key值的实体类,动态获取里面的键值对的值。并在列表显示
怎样读取properties文件内容,用java中最基本的方式去读取properties文件中的内容
利用Java的Properties 类读取配置文件信息! 读取Properties文件的例子
java完美读取properties文件
java中properties文件读取demo
Java读取Properties文件的六种方法
读取properties文件工具类。使用时直接将工具类放到Java项目中,调用读取properties文件的方法即可。
这里面有详细的处理maven项目中resources目录下的资源文件,方便快捷的得到或设置资源文件中的内容,本人亲测,里面还有示例
在实际SSM项目中添加方法设计,读取properties文件代码。