日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java servlet 输出_JavaWeb中servlet读取配置文件的方式

發(fā)布時間:2024/1/23 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java servlet 输出_JavaWeb中servlet读取配置文件的方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我們在JavaWeb中常常要涉及到一些文件的操作,比如讀取配置文件,下載圖片等等操作。那我們能不能采用我們以前在Java工程中讀取文件的方式呢?廢話不多說我們來看看下我們以前在Java工程中讀取文件是怎么讀的呢,然后再來看看能不能在JavaWeb工程中采用同樣的方式。

一、Java工程:

1.項目的目錄結(jié)構(gòu)如下所示

2.讀取配置文件的代碼如下

packagecom.demo;importjava.io.FileInputStream;importjava.util.Properties;importorg.junit.Test;public classFileDemo {

@Testpublic void loadFile1() throwsException {//讀取src/jdbc1.properties

FileInputStream fis = new FileInputStream("src/jdbc1.properties");

Properties prop= newProperties();

prop.load(fis);//從控制臺列出prop里面的信息

prop.list(System.out);

}

@Testpublic void loadFile2() throwsException {//讀取src/com/demo/jdbc2.properties

FileInputStream fis = new FileInputStream("src/com/demo/jdbc2.properties");

Properties prop= newProperties();

prop.load(fis);//從控制臺列出prop里面的信息

prop.list(System.out);

fis.close();

}

}

3.輸出結(jié)果:

-- listing properties --

jdbc.driver_class=oracle.jdbc.driver.OracleDriver

jdbc.connection.username=root

jdbc.connection.url=jdbc:oracle:thin:@localhost:1521:orcl

jdbc.connection.password=root

從上面可以看出,我們在eclipse中讀取文件的根目錄時從src開始的,然后從src開始寫,一直寫到我們要讀取文件目錄即可。

二、JavaWeb工程:

1.項目的目錄結(jié)構(gòu)如下所示

2.讀取配置文件的代碼如下

由此,可以看出我們使用Java工程的方式在web工程中讀取文件的方式是不行的,那么我們該怎么辦呢?

這是因為當(dāng)我們將項目以war的方式發(fā)布到tomcat上的時候,啟動tomcat,tamcat會自動解壓war包項目,之后我們在src目錄下面所有的Java文件會編譯成class字節(jié)碼文件,然后存放到WEB-INF/classes目錄,如果有其他文件也會相對于src的目錄等級存放到相對于WEB-INF/classes相同目錄等級下,如上圖中jdbc1.properties相對于src目錄為src/jdbc2.properties,將src替換成WEB-INF/classes即可,所以它在tomcat中最終目錄為WEB-INF/classes/jdbc2.properties,同理src/com/servlet/jdbc3.properties,它在tomcat中最終目錄為WEB-INF/classes/com/servlet/jdbc3.properties。而WebContent目錄下文件,則會直接放到項目的根路徑下即/jdbc1.properties。說了這么多可能有點難懂,直接上圖。

①tomcat\webapps\Web目錄

②tomcat\webapps\Web\WEB-INF\classes目錄

②tomcat\webapps\Web\WEB-INF\classes\com\servlet目錄

三、正確讀取web工程中的文件方式。

1.讀取jdbc1.properties

①目錄結(jié)果如下

②具體讀取代碼如下:

packagecom.servlet;importjava.io.FileInputStream;importjava.io.IOException;importjava.util.Properties;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;

@WebServlet("/file.do")public class FileOperateServlet extendsHttpServlet {private static final long serialVersionUID = 1L;protected voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {//通過ServletContext對象的getRealPath方法獲取項目的絕對路徑//"/"就i代表項目的根路徑即Web/,然后填寫你需要讀取文件的相對于根的路徑//讀取jdbc1.properties

String filePath = this.getServletContext().getRealPath("/jdbc1.properties");

FileInputStream fis= newFileInputStream(filePath);

Properties prop= newProperties();

prop.load(fis);//從控制臺列出prop里面的信息

prop.list(System.out);

fis.close();

}

}

③運行結(jié)果如下:

-- listing properties --

jdbc.driver_class=oracle.jdbc.driver.OracleDriver

jdbc.connection.username=root

jdbc.connection.url=jdbc:oracle:thin:@localhost:1521:orcl

jdbc.connection.password=root

2.讀取jdbc2.properties

①目錄結(jié)果如下

②具體讀取代碼如下:

packagecom.servlet;importjava.io.FileInputStream;importjava.io.IOException;importjava.util.Properties;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;

@WebServlet("/file.do")public class FileOperateServlet extendsHttpServlet {private static final long serialVersionUID = 1L;protected voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {//通過ServletContext對象的getRealPath方法獲取項目的絕對路徑//"/"就i代表項目的根路徑即Web/,然后填寫你需要讀取文件的相對于根的路徑//讀取jdbc2.properties

String filePath = this.getServletContext().getRealPath("/WEB-INF/classes/jdbc2.properties");

FileInputStream fis= newFileInputStream(filePath);

Properties prop= newProperties();

prop.load(fis);//從控制臺列出prop里面的信息

prop.list(System.out);

fis.close();

}

}

③運行結(jié)果如下:

-- listing properties --

jdbc.driver_class=oracle.jdbc.driver.OracleDriver

jdbc.connection.username=root

jdbc.connection.url=jdbc:oracle:thin:@localhost:1521:orcl

jdbc.connection.password=root

3.讀取jdbc3.properties

①目錄結(jié)果如下

②具體讀取代碼如下:

packagecom.servlet;importjava.io.FileInputStream;importjava.io.IOException;importjava.util.Properties;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;

@WebServlet("/file.do")public class FileOperateServlet extendsHttpServlet {private static final long serialVersionUID = 1L;protected voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {//通過ServletContext對象的getRealPath方法獲取項目的絕對路徑//"/"就i代表項目的根路徑即Web/,然后填寫你需要讀取文件的相對于根的路徑//讀取jdbc3.properties

String filePath = this.getServletContext().getRealPath("/WEB-INF/classes/com/servlet/jdbc3.properties");

FileInputStream fis= newFileInputStream(filePath);

Properties prop= newProperties();

prop.load(fis);//從控制臺列出prop里面的信息

prop.list(System.out);

fis.close();

}

}

③運行結(jié)果如下:

-- listing properties --

jdbc.driver_class=oracle.jdbc.driver.OracleDriver

jdbc.connection.username=root

jdbc.connection.url=jdbc:oracle:thin:@localhost:1521:orcl

jdbc.connection.password=root

至此在web中讀取文件的方式已經(jīng)差不多了,有不足的地方,希望大家多多提意見!

總結(jié)

以上是生活随笔為你收集整理的java servlet 输出_JavaWeb中servlet读取配置文件的方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。