java web 项目 路径转换问题
Hiandgreetings!这个么,做个web项目,有上传文件功能,就是把个文件上传上服务器,再从服务器上下载,我的OS是XP而服务器确是UNIX,而且是在虚拟机下,o...
Hi and greetings!
这个么,做个web项目,有上传文件功能,就是把个文件上传上服务器,再从服务器上下载,
我的OS是XP 而 服务器确是 UNIX,而且是在虚拟机下,
ok,问题来了,
我自己写了个 myload.xml 的配置文件,放在WEB-INF下面
然后
File settingFile=new File("myload.xml");
然后利用这个文件的path 去 建立与它 有 相对目录结构的 其他些 文件,
但是,出现了如下异常
信息: Starting Servlet Engine: Apache Tomcat/6.0.20
log4j:WARN No appenders could be found for logger (org.apache.struts.util.PropertyMessageResources).
log4j:WARN Please initialize the log4j system properly.
java.io.FileNotFoundException: /var/www/html/journal/var/www/html/journal/webapps/ROOT/WEB-INF/myload.xml (No such file or directory)
at java.io.FileInputStream.open(Native Method)
java.io.FileNotFoundException: /var/www/html/journal/var/www/html/journal/webapps/ROOT/WEB-INF/myload.xml (No such file or directory)
希望兄弟们指导下! 展开
这个么,做个web项目,有上传文件功能,就是把个文件上传上服务器,再从服务器上下载,
我的OS是XP 而 服务器确是 UNIX,而且是在虚拟机下,
ok,问题来了,
我自己写了个 myload.xml 的配置文件,放在WEB-INF下面
然后
File settingFile=new File("myload.xml");
然后利用这个文件的path 去 建立与它 有 相对目录结构的 其他些 文件,
但是,出现了如下异常
信息: Starting Servlet Engine: Apache Tomcat/6.0.20
log4j:WARN No appenders could be found for logger (org.apache.struts.util.PropertyMessageResources).
log4j:WARN Please initialize the log4j system properly.
java.io.FileNotFoundException: /var/www/html/journal/var/www/html/journal/webapps/ROOT/WEB-INF/myload.xml (No such file or directory)
at java.io.FileInputStream.open(Native Method)
java.io.FileNotFoundException: /var/www/html/journal/var/www/html/journal/webapps/ROOT/WEB-INF/myload.xml (No such file or directory)
希望兄弟们指导下! 展开
3个回答
展开全部
关于上传路径的问题,可以分两步解决。
1.在web.xml中配置。
如果程序中处理上传的Servlet名字为UploadServlet,在web.xml部署的时候可以添加参数。如下:
<servlet>
<servlet-name>UploadServlet</servlet-name>
<servlet-class>UploadServlet</servlet-class>
<init-param>
<param-name>filePath</param-name>
<param-value>store</param-value>
</init-param>
<init-param>
<param-name>tempFilePath</param-name>
<param-value>temp</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>UploadServlet</servlet-name>
<url-pattern>/upload</url-pattern>
</servlet-mapping>
2、在UploadServlet初始化函数init()中可以这样获取部署的参数值。
public void init(ServletConfig config) throws ServletException {
super.init(config);
filePath = config.getInitParameter("filePath");
tempFilePath = config.getInitParameter("tempFilePath");
filePath = getServletContext().getRealPath(filePath);
tempFilePath = getServletContext().getRealPath(tempFilePath);
}
1.在web.xml中配置。
如果程序中处理上传的Servlet名字为UploadServlet,在web.xml部署的时候可以添加参数。如下:
<servlet>
<servlet-name>UploadServlet</servlet-name>
<servlet-class>UploadServlet</servlet-class>
<init-param>
<param-name>filePath</param-name>
<param-value>store</param-value>
</init-param>
<init-param>
<param-name>tempFilePath</param-name>
<param-value>temp</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>UploadServlet</servlet-name>
<url-pattern>/upload</url-pattern>
</servlet-mapping>
2、在UploadServlet初始化函数init()中可以这样获取部署的参数值。
public void init(ServletConfig config) throws ServletException {
super.init(config);
filePath = config.getInitParameter("filePath");
tempFilePath = config.getInitParameter("tempFilePath");
filePath = getServletContext().getRealPath(filePath);
tempFilePath = getServletContext().getRealPath(tempFilePath);
}
展开全部
log4j 没有正常的初始化,无法找到myload.xml文件,检查一下路径,并重新配置一下log4j(删除log4j相关jar包再重新引入),应该能解决问题吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我不知道怎么解决,起码我不会把myload.xml放到WEB-INF里。还有这种问题我只会去CSDN论坛里面去问。那里面知道的人多。并且回答的比较专业。百度这里是个杂话地方。专业人士很少的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询