在Web服务器上部署Tomcat项目,文件问题

时间:2012-03-08 10:09:21

标签: java file jsp tomcat deploying

:) 所以我最终买了我的主机,我正在尝试在其上部署我的tomcat项目。 服务器是mochahost.com,启用了JSP和Tomcat支持。我的项目在本地计算机上运行正常,但是当我在Web服务器上部署它时,它说:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Exception in JSP: /List/index.jsp:38

35: <br>    
36: <%
37: String file = application.getRealPath("/") + "default_list.txt";
38: FileReader filereader = new FileReader(file);
39: BufferedReader br = new BufferedReader(filereader);
40: String eachLine = br.readLine();
41: while (eachLine != null) {

有什么不对?我的猜测是它无法访问该文件,但我该如何解决?谢谢!

更新:问题是由服务器路径引起的,使用Server.MapPath方法解决。

2 个答案:

答案 0 :(得分:1)

是的,尝试在网络应用中使用文件路径时出现问题:您无法知道将在何处部署。

你可以尝试一些事情:

  1. 将真实路径写入日志,以便您可以看到它。你怎么知道怎么做?
  2. 使用servlet上下文中的CLASSPATHgetResourceAsStream()读取文件。
  3. “default_list”表示这是参考数据。您可以尝试将其嵌入为JSON或XML,因为它是常量。
  4. 您不应该在JSP中使用scriptlet代码。让servlet将该数据传递给JSP。
  5. 学习JSTL。你会很高兴的。
  6. 将参考数据放入数据库并从那里读取。

答案 1 :(得分:0)

程序在第38行中断。这意味着问题出在你从getRealPath方法获得的路径中。我建议您分析使用此方法获得的路径,以及是否有意义(即,如果在该路径中找到了您尝试获取的txt文件)。