Java spring配置文件中excel的相对路径
我已经编写了一个程序来获取FireSQL查询到Excel并获取数据。为此,我使用了JDBCODBC连接,如下所示Java spring配置文件中excel的相对路径,java,spring,excel,web,Java,Spring,Excel,Web,我已经编写了一个程序来获取FireSQL查询到Excel并获取数据。为此,我使用了JDBCODBC连接,如下所示 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); c = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=" +
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
c = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ="
+ request.getSession().getServletContext().getRealPath("WEB-INF")+"\\TCCAddress.xls");
stmnt = c.createStatement();
String query = "select * from [TCC_001$]";
ResultSet rs = stmnt.executeQuery(query);
但是我使用的是spring,我想使用spring数据源创建一个连接。我在下面试过,但不起作用
<bean id="excelDB"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="sun.jdbc.odbc.JdbcOdbcDriver" />
<property name="url">
<value>jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=classpath:/WEB-INF/TCCAddress.xls</value>
</property>
</bean>
如果我使用
<property name="url">
<value>jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=D:/TCCAddress.xls</value>
</property>
jdbc:odbc:Driver={Microsoft Excel驱动程序(*.xls)};DBQ=D:/tccdaddress.xls
它工作正常,我可以连接到excel并获取数据
如何为tccdaddress.xls
注意我不想使用像“D:/tccdAddress.xls”这样的绝对路径看到你的问题,我想你只需要xls文件的相对路径。一旦你得到了这个路径,你可以做更多的事情 让我试着解释一下如何获得任何资源的相对路径 假设您已将xls或任何类型的资源放在“/WEB-INF/classes/”中。您可以通过查看war文件来检查这一点 现在,在部署之后,您需要该资源的路径(这里的资源是xls文件),然后您可以执行以下操作 您可以通过这行代码获得路径
String path = this.getClass().getResource("/WEB-INF/classes/xyz.xls").getPath();
在这里,您在war文件中的资源位置永远不会改变,而且您也会知道它。因此,请在getResource()方法中传递它
这里您希望更改spring配置运行时,以便在您的问题中可以使用BeanPostProcessor接口。它可以用于为多个bean执行自定义实例化逻辑,而其他bean是基于每个bean定义的
您可以找到下面提到的两种方法
您可以通过它实现您的目标。我可以使用request.getSession().getServletContext().getRealPath(“WEB-INF”)获取路径。我的问题是我想在spring配置文件中配置路径
String path = this.getClass().getResource("/WEB-INF/classes/xyz.xls").getPath();