WEB应用中的普通Java程序如何读取资源文件

 1 package cn.itcast;
 2
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5
 6 import javax.servlet.ServletException;
 7 import javax.servlet.http.HttpServlet;
 8 import javax.servlet.http.HttpServletRequest;
 9 import javax.servlet.http.HttpServletResponse;
10
11 //servlet调用其他程序,在其他程序中何如读取资源文件(通过类装载器)
12 public class ServletDemo3 extends HttpServlet {
13
14
15     public void doGet(HttpServletRequest request, HttpServletResponse response)
16             throws ServletException, IOException {
17
18         UserDao dao = new UserDao();
19         dao.find();
20
21     }
22
23
24     public void doPost(HttpServletRequest request, HttpServletResponse response)
25             throws ServletException, IOException {
26
27
28     }
29
30 }

 1 package cn.itcast;
 2
 3 import java.io.FileInputStream;
 4 import java.io.FileNotFoundException;
 5 import java.io.IOException;
 6 import java.io.InputStream;
 7 import java.util.Properties;
 8
 9 //如果读取资源文件的程序不是servlet的话,就只能通过类装载器去读
10 public class UserDao {
11
12     private static Properties dbconfig = new Properties();
13     static {
14         InputStream in = UserDao.class.getClassLoader().getResourceAsStream(
15                 "db.properties");
16         try {
17             dbconfig.load(in);
18         } catch (IOException e) {
19             throw new ExceptionInInitializerError(e);
20         }
21     }
22     //以下代码虽然可以读取资源文件数据,但是无法获取更新后的数据
23     public void update() throws IOException {
24
25         System.out.println(dbconfig.getProperty("url"));
26     }
27
28     //通过类装载的方式得到资源文件位置,再通过传统方式读取资源文件的数据,这样可以读取更新后的数据
29     public void find() throws IOException {
30         String path = UserDao.class.getClassLoader().getResource("db.properties").getPath();
31         FileInputStream in = new FileInputStream(path);
32
33         Properties dbconfig = new Properties();
34         dbconfig.load(in);
35
36         System.out.println(dbconfig.getProperty("url"));
37
38     }
39
40 }

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.4"
 3     xmlns="http://java.sun.com/xml/ns/j2ee"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
 6     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 7
 8 <servlet>
 9     <servlet-name>ServletDemo1</servlet-name>
10     <servlet-class>cn.itcast.ServletDemo1</servlet-class>
11 </servlet>
12   <servlet>
13     <servlet-name>ServletDemo3</servlet-name>
14     <servlet-class>cn.itcast.ServletDemo3</servlet-class>
15   </servlet>
16
17
18
19 <servlet-mapping>
20     <servlet-name>ServletDemo1</servlet-name>
21     <url-pattern>/ServletDemo1</url-pattern>
22 </servlet-mapping>
23   <servlet-mapping>
24     <servlet-name>ServletDemo3</servlet-name>
25     <url-pattern>/servlet/ServletDemo3</url-pattern>
26   </servlet-mapping>
27
28   <welcome-file-list>
29     <welcome-file>index.jsp</welcome-file>
30   </welcome-file-list>
31 </web-app>

WEB应用中的普通Java程序如何读取资源文件

时间: 2024-11-12 06:13:47

WEB应用中的普通Java程序如何读取资源文件的相关文章

Java-Servlet--《12-WEB应用中的普通Java程序如何读取资源文件.mp4》 有疑问

\第五天-servlet开发和ServletConfig与ServletContext对象\12-WEB应用中的普通Java程序如何读取资源文件.mp4; 多层时,DAO为了得到资源文件中的配置参数: servlet 中的 doGet方法中获得ServletcontextServletcontext context = this.getServletContext();然后将context 对象传到 DAO中使用,这样的话耦合就高了,不合理. 所以:要通过类加载器的方式 这个Properties

java程序读取资源文件时路径如何指定

java程序,读取资源操作有两种方式. 一是直接通过File进行的.例如FileReader.BufferedReader等.文件目录就是相对于Project了.如我新建一个MyProject,那么,我在MyProject下有一个icons文件夹,如果想读取icons里面的东西,路径是诸如"icons/***.gif"的相对路径就可以了. 二是通过getClass().getResource("")得到.第二种方法必须保证文件是在classpath包括的路径下.而一

中软国际Java程序员笔试题

1.谈谈final, finally, finalize的区别. final:修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 abstract的,又被声明为final的.将变量或方法声明为final,可以保证它们在使用中不被改变.被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改.被声明为final的方法也同样只能使用,不能重载. finally:在异常处理时提供 finally 块来执行任何

把Java程序打包成jar文件包并执行

把Java程序打包成jar文件包并执行 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建的是java Project 打包步骤: 1.在项目上,右键,选择Export. 2.进入到下图界面,选择Java 下面的JAR file 3.选择项目,确认必要的文件是否选中,选择保存jar文件包的路径,如下图 4.完成步骤3之后,点击Next,进入如下图界面: 5.直接点Next,进入下面的界面: 6.直接点Finish,jar文件包

[Java基础] 深入jar包:从jar包中读取资源文件

转载: http://hxraid.iteye.com/blog/483115?page=3#comments 我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等).在单独运行的时候这些简单的处理当然不会有问题.但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了.看看下面的代码: //源代码1: package edu.hxraid; import java.io.*; public class Resource { public void getRe

java 从jar包中读取资源文件

在代码中读取一些资源文件(比如图片,音乐,文本等等),在集成环境(Eclipse)中运行的时候没有问题.但当打包成一个可执行的jar包(将资源文件一并打包)以后,这些资源文件找不到,如下代码:Java代码 [java] view plaincopy //源代码1: package edu.hxraid; import java.io.*; public class Resource { public  void getResource() throws IOException{ File fil

(转)java 从jar包中读取资源文件

(转)java 从jar包中读取资源文件 博客分类: java 源自:http://blog.csdn.net/b_h_l/article/details/7767829 在代码中读取一些资源文件(比如图片,音乐,文本等等),在集成环境(Eclipse)中运行的时候没有问题.但当打包成一个可执行的jar包(将资源文件一并打包)以后,这些资源文件找不到,如下代码:Java代码 [java] view plaincopy //源代码1: package edu.hxraid; import java

在电脑上找到这个路径:D:\jakarta-tomcat-6\conf\Catalina,将localhost目录直接删除掉,再一运行,就没事了! 因为配置文件中配置了启动程序,而webapps文件夹下却没有此应用程序,所以出现了上述错误。

java.lang.IllegalArgumentException: Document base D:\appservers\apache-tomcat-6.0.20\webapps\megaeyes_enterprise_manager does not exist or is not a readable directory 2010-05-20 15:28:31|  分类: tomcat|举报|字号 订阅 2010-5-20 15:22:44 org.apache.catalina.co

Java/JavaWeb中读取资源文件

1.一般工程中使用I/O类指定文件的绝对路径读取 FileInputStream fis = new FileInputStream("src/main/resources/zsm.properties"); ppt.load(fis); String memAddr1 = ppt.getProperty("memAddr1"); 2.Web工程中可以使用ServletContext或ClassLoader来读取 2.1.通过ServletContext来读取资源文