0

:) 所以我终于买了我的主机,我正在尝试在上面部署我的 tomcat 项目。服务器是 mochahost.com,启用了 JSP 和 Tomcat 支持。我的项目在本地机器上运行良好,但是当我将它部署在网络服务器上时,它说:

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 方法解决。

4

2 回答 2

1

是的,这是尝试在 Web 应用程序中使用文件路径的问题:您不知道您将被部署在哪里。

你有几件事可以尝试:

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

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

于 2012-03-08T10:14:38.870 回答