2016-07-10 23 views
0

我正在为一门课程的作业分配工作。我大部分的项目都是为了从用户那里获取信息而设置的,但我想在浏览器中显示一个简单的文本文件作为最后一部分。无论我尝试什么,我都无法让它工作。我不得不使用JSP或HTML,其他任何东西。我更愿意使用另一种语言或坦率地说,任何不像Java或其相关部分那样完全令人生气的东西,但为了教育目的,我不能在这个任务中。使用JSP获取脚本错误,试图在浏览器窗口中显示txt文件内容

我为显示结果的JSP页面的代码是这样的:

<%@page import="java.io.*"%> 

<% 
    BufferedReader input = new BufferedReader(new FileReader("WEB-INF/EmailList.txt")); 
    String line = ""; 
    while ((line = input.readLine()) != null) { 
    out.println(line); 
    } 
    out.flush(); 
    input.close(); 

%> 

我不断收到此错误:

Scripting elements (&lt;%!, &lt;jsp:declaration, 
&lt;%=, &lt;jsp:expression, &lt;%, &lt;jsp:scriptlet) 
are disallowed here. 

谷歌搜索的无数个小时后,通过其他职位看,我似乎无法找到对我有任何意义的答案。我想要做的就是在屏幕上显示一个简单的文本文件。几乎每个我看到的例子都是从5年或更久以前,当某些事情必须被允许的时候。我目前在Mac OSX 10.11.5上运行最新版本的Netbeans和Tomcat Server 8。

任何人都可以提供一个比我读过的所有东西更有意义的答案吗?我对这种挫折感到抱歉,这是迄今为止我所采用的最糟糕的设置课程之一,我通常甚至无法获得代码运行,所以我现在的这一事实本身就令人印象深刻。老师也没有任何帮助,而且这本书与双周发布的作业截然不同。

+0

你确定你正在获取txt文件?您必须使用“/ WEB-INF ...”来执行getServletContext()。getRealPath(“/”)。 – Aviator

回答

1

看起来您的web.xml已指定<scripting-invalid>true</scripting-invalid>,这意味着您无法在JSP中执行Java代码,即不允许使用<% code %>

作为消息说(格式化,并命令为清楚起见):

Scripting elements are disallowed here: 
    <%! 
    <%= 
    <%      <-- That's what you are doing 
    <jsp:declaration 
    <jsp:expression 
    <jsp:scriptlet 

卸下<scripting-invalid>标签,或改变值false

或者更好的是:做一个servlet,它属于哪里都不

给你写的代码。

+0

为了这堂课的目的,我刚才说脚本无效是错误的。我全心全意地欣赏它。 –

相关问题