读取配置文件 , xx.properties放在webroot/WEB-INF/classes/目录下
首先将配置文件转换成InputStream,有两种方式,原理一样,都是通过类加载器得到资源:
Java代码
1.//从classpath路径开始找,如果放在com/test 包下面,则getResourceAsStream("com/test/xx.properties");
2.
3.1)InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("xx.properties");
4.
5.(2) InputStream inputStream =
6.
7.is.getClass() .getClassLoader().getResourceAsStream( "xx.properties" );
//从classpath路径开始找,如果放在com/test 包下面,则getResourceAsStream("com/test/xx.properties");
(1)InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("xx.properties");
(2) InputStream inputStream =
this.getClass() .getClassLoader().getResourceAsStream( "xx.properties" );
Java代码
1.String path = this.class.getClassLoader().getResource(
2. "xx.properties").getPath();
String path = this.class.getClassLoader().getResource(
"xx.properties").getPath();
Java代码
1.String path = this.class.getClassLoader().getResource(
2. "/").getPath();
String path = this.class.getClassLoader().getResource(
"/").getPath();
获取绝对路径,既是.../classes/
调用对象的getClass()方法是获得对象当前的类类型,这部分数据存在方法区中,
而后在类类型上调用 getClassLoader()方法是得到当前类型的类加载器,我们知道在Java中所有的类都是通过加载器加载到虚拟机中的,而且类加载器之间存在父子关系,就是子知道父,父不知道子,这样不同的子加载的类型之间是无法访问的(虽然它们都被放在方法区中),所以在这里通过当前类的加载器来加载资源也就是保证是和类类型同一个加载器加载的。
最后调用了类加载器的getResourceAsStream()方法来加载资源。
然后加载配置文件,读取属性值
Properties prop = new Properties();
prop.load(input);
String value = prop.getProperty("PropertyName");
input.close();
出自:http://navylee.iteye.com/blog/781039
分享到:
相关推荐
本篇文章将详细探讨如何通过ServletContext来获取类路径(ClassPath)下的文件路径。 首先,我们需要了解ServletContext的概念。ServletContext是一个全局的上下文对象,它在整个Web应用程序中是唯一的,可以看作是...
JavaWeb应用程序中,读取配置文件是常见的任务,通常用于获取数据库连接信息、系统设置等。以下是四种在JavaWeb环境中读取配置文件的方法: 1. **使用ServletContext读取** ServletContext是JavaWeb应用程序中的一...
可以在配置文件中配置所需要的路径,以便在项目中使用。 总结 Java 项目中获取路径非常重要。使用 `getResource` 方法可以获取相对路径,使用 `getRealPath()` 方法可以获取绝对路径。ClassPath 路径是 Java 项目...
在Java Web开发中,有时我们需要从应用程序的`classes`目录或者对应的`WEB-INF/classes`目录中读取资源文件,例如配置文件、静态内容或者数据库连接字符串等。这通常发生在我们想要在运行时加载非代码的资源,而这些...
本文将详细介绍如何配置和使用MS SQL Server 2012的JDBC驱动,以及相关的JAVAWeb连接配置文件设置,这对于在学校学习或自我提升的开发者来说非常有用。 首先,我们需要了解JDBC驱动。JDBC是Java语言访问数据库的...
这里我们将深入探讨不同类型的路径,包括在JSP页面、Servlet以及`web.xml`配置文件中如何正确使用。 1. **JSP页面中的路径表示** - **相对路径**:在JSP页面中,如果你使用像`<a href="b.jsp">b.jsp</a>`这样的...
Tomcat服务器在此配置下可以访问这些文件。 2. **数据库存储**: - 图片的路径(相对于Web应用的根目录)存储到MySQL数据库中。创建一个新表,如`image_info`,包含字段`id`(主键),`filename`(图片文件名),`path...
在JavaWeb项目中,路径问题通常出现在资源文件引用、页面跳转等方面。下面通过具体的例子进行讲解。 #### 路径示例分析 假设当前路径为`http://192.168.16.122/m/backer/a.jsp`,那么: - `<a href="b.jsp">b</a>...
3. **编写Servlet**:在Servlet中获取文件输入流,并将其保存到指定路径。 ```java protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ...
在实际开发中,结合ServletContext和文件系统操作,可以实现诸如上传下载文件、读取配置文件、日志记录等功能。同时,考虑到跨平台和安全因素,我们应该谨慎地使用这些功能,确保对文件的访问和操作都是安全可控的。...
对于动态请求的路径获取,如读取配置文件或模板文件,可以利用`HttpServletRequest`对象的`getRealPath`方法: ```java String filePath = request.getRealPath("/config/"); ``` 这将返回配置文件的实际物理路径...
这个"Upload_Download_File"的示例可能包含了实现上述功能的完整代码,包括Servlet类、HTML表单、配置文件等,可以作为学习和参考的模板。通过深入理解并实践这些步骤,开发者可以熟练地在Java Web应用中实现文件的...
- **配置环境变量:** 编辑`/etc/profile`文件,添加JDK路径,并重新加载配置文件。 ##### 3.2 Tomcat安装与配置 - **下载Tomcat安装包:** 从Apache官方网站下载最新的Tomcat版本。 - **解压安装包:** 将Tomcat解压...
3. **MultipartConfigElement**:在Servlet配置中,可以使用`@MultipartConfig`注解或`<multipart-config>`元素指定文件上传的配置,如临时文件路径、大小限制等。 4. **处理文件**:上传的文件可以被保存到服务器...
在使用ssh等框架开发web程序时,配置文件(xml和properties)存放的路径一般为src下,当部署程序时则必须存在于classes路径下。这意味着,在开发过程中,我们需要将src下的文件移到WEB-INF/classes下,以便程序能够...
首先,需要编辑Tomcat服务器的配置文件`context.xml`。该文件通常位于Web应用的`WebRoot/META-INF`目录下。 ```xml type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:...
在Java Web开发中,路径问题是一个常见的挑战,尤其是在处理JSP页面、Servlet以及web.xml配置文件时。理解和正确使用路径对于构建稳定、高效的应用程序至关重要。以下是对标题和描述中提及的知识点的深入探讨。 ###...
JavaWeb配置XSSProject是为了有效防止XSS(跨站脚本攻击)这一常见的网络安全问题。XSS攻击允许攻击者在用户的浏览器中注入恶意脚本,可能导致数据泄露、用户会话劫持等严重后果。XSSProject是一个专门针对XSS攻击...
- `.classpath`和`.project`:这两个文件是Eclipse(或类似的IDE)的项目配置文件,定义了项目的构建路径和属性。 - `WebContent`:包含了Web应用的静态资源,如HTML、CSS、JavaScript文件以及JSP页面。 - `src`...
**c3p0配置文件和操作说明** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java Web应用中,c3p0能有效地管理数据库连接,提高应用性能,避免频繁创建和关闭数据库...