1. 程式人生 > >getResourceAsStream()在web專案中獲取不到配置檔案的原因

getResourceAsStream()在web專案中獲取不到配置檔案的原因

問題:使用Object.class.getResourceAsStream()在web專案中獲取不到配置檔案,單純java應用程式測試卻可以,放在web專案中就報空指標。

1.先放出來目錄
在這裡插入圖片描述
2.java應用程式測試沒有問題
在這裡插入圖片描述
3.當放入web專案執行後直接顯示為空
在這裡插入圖片描述
4.當在java應用程式,我們將配置檔案放在src下面,程式能夠讀取到。當放入web專案中,發現classes目錄下也同樣生成了配置檔案,但是不知為何還是讀取不到
在這裡插入圖片描述
5.後來在網上查了很長時間,找到這個方法得到配置檔案的路徑
Thread.currentThread().getContextClassLoader().getResource(“mybatis-config.xml”).getFile();
->當在java應用程式執行時路徑
在這裡插入圖片描述


->當放在web專案執行
在這裡插入圖片描述
在這裡發現,配置檔案存放的目錄並沒有在classes下,而是在WEB-INF/classes下面
在這裡插入圖片描述
6.我的解決方案:
通過Thread.currentThread().getContextClassLoader().getResource(“mybatis-config.xml”).getFile()來獲取絕對路徑,直接使用絕對路徑來實現載入配置檔案。
在這裡插入圖片描述

相關推薦

getResourceAsStream()在web專案獲取配置檔案原因

問題:使用Object.class.getResourceAsStream()在web專案中獲取不到配置檔案,單純java應用程式測試卻可以,放在web專案中就報空指標。 1.先放出來目錄 2.java應用程式測試沒有問題 3.當放入web專案執行後直接顯示

如何獲取web專案hibernate.cfg.xml配置檔案的資料

有時候想要獲取hibernate.cfg.xml配置檔案中的資料,網路上有很多方法,有的很複雜,這裡我介紹一種很簡單的獲取方法。 hibernate.cfg.xml配置檔案中有連線資料庫所需的各種資訊,比如這裡要獲取connection.url欄位對應的url資料,如下所示

iOS開發:在專案新增podfile配置檔案及使用cocoapods匯入第三方庫

新建一個專案中是沒有pods的配置檔案的,下面介紹一下怎麼在新建的專案工程裡面新增podfile配置檔案,以及包含xcodeproj的那個檔案的(前提是電腦上已經安裝了cocoapods,安裝過程我在另一篇文章中有寫)。 (1)新建一個Xcode專案,cd到該檔案目錄下 (2)執

Java web專案讀取properties,xml檔案

一般專案配置檔案都會在系統啟動的時候進行載入(static塊中): 反射方式獲取properties public class WeixinUtil {     // 成員變數     private

在spring web專案獲取WEB-INF/classes目錄與WEB-INF/目錄

場景:在spring web專案中獲取WEB-INF/classes目錄與WEB-INF/目錄  1.獲取WEB-INF/classes 目錄  /**1.獲取WEB-INF/classes 目錄 **/ public static String getW

web專案獲取資源及資源路徑

public class PathServlet extends HttpServlet {     public void doGet(HttpServletRequest request, HttpServletResponse response)           

IDEA 下開發web專案部署時,配置檔案沒有編譯的問題

本文轉自:https://blog.csdn.net/dennk/article/details/51834508#commentBox以前用eclipse開發web專案時,配置檔案直接放在src目錄下面,部署的時候會把配置檔案也編譯到classpath下面。用IDEA可不同

maven專案springmvc的配置檔案的位置

1.問題:使用maven專案整合ssm的時候,出現了以下的問題: 發現初始化spring的DispatcherServlet的時候出現了問題,猜想可能是讀取springmvc的時候可能出現了問題,刪去springmvc的檔案重寫發現還是沒有解決問題,最後發現是在web.

interlij idea給Web專案新增SSM(零配置檔案

0、前言     這裡說的零配置檔案是Spring上的零配置檔案,Mybatis不想去折騰了,雖然也可以零配置檔案,其實我覺得,如果真的零配置檔案就有點倒退了,畢竟出現xml,是因為修改xml可以不改變程式,就改變程式行為的目的,而全用類來配置,每次都要修改然

ssm框架web專案applicationContext.xml及相關配置檔案解析

一、概述 applicationContext.xml,即Spring上下文配置檔案,用於完成Spring和MyBatis的整合。主要配置bean自動掃描、依賴注入、資料庫、事務等。如下 <?xml version="1.0" encoding="UTF-8"?> &l

web專案註解訪問servlet和web.xml配置檔案訪問servlet的利弊

(一)web.xml配置檔案訪問servlet1.找到對應目錄下的web.xml檔案2.(1)開啟並配置servlet的對映路徑,注意servlet-mapping和servlet標籤中的servlet-name的值要相同(2)因為從瀏覽器傳送請求時,是用當前“專案(web_

Web專案配置檔案的密碼進行加密(資料庫連線密碼)

Web專案的如配置檔案applicationContext.xml檔案中,如資料庫連線的使用者密碼資訊的加密。 我們平時直接寫的專案配置是這樣的: <bean id="dataSource" class="org.apache.commons.dbcp.B

java Web專案properties配置檔案的密碼加密

get到一項新技能(properties檔案中value替換),之前也想過properties中配置項暴露但沒有落實,今天看到部落格分享一下: 我們使用的專案經常是這個樣子的: 1 <bean id="dataSourc

Java Web 專案配置檔案路徑

在Java web專案中經常會用屬性檔案作為配置檔案,而其一般放在src的根目錄下,讀取檔案時一般會有以下兩種情況: 方式一、在servlet中讀取:  Java程式碼   // action配置檔案路徑 public static final String ACTIO

spring使用@Value註解獲取properties配置檔案的變數值

在我們專案中往往會使用到properties配置檔案來定義一些跟系統環境有關的配置,因此今天我們學習使用spring中的@Value註解來快速方便地將我們配置檔案中的變數值賦值給java類的屬性值。 1.首先我們先在專案中建一個properties配置檔案,然後定義好我們需要的變數名和對應的

Web專案配置Spring的IOC容器

如果需要在Web專案中使用Spring的IOC容器,可以在Web專案配置檔案web.xml中做出如下配置: <listener> <listener-class>org.springframework.web.context.Contex

如何在Web專案配置Spring的IOC容器?

如何在Web專案中配置Spring的IOC容器? 如果需要在Web專案中使用Spring的IOC容器,可以在Web專案配置檔案web.xml中做出如下配置: <listener> <listener-class>org.springframework.w

Node.js專案的package.json配置檔案的devdependencies 和 dependencies的區別

1、dependencies和devDependencies 具體程式碼如下 "name": "webpack-react-express", "version": "0.2.0", "private": true, "dependencies": {

java獲取properties配置檔案某個屬性最簡單方法

    假如我想獲取src目錄下sysConfig.properties中的uploadpath屬性的值 方法如下所示: private static final ResourceBundle bundle = java.util.ResourceBundle.getBundle(

在spring的web專案配置druid監控

1.建立spring的web專案 2.配置好spring相關基礎配置,確保服務可正常執行即可   3.在spring配置檔案中配置好druid資料來源,druid的jar包要正常引入 4.在web.xml中加入如下配置     <filter> &n