【发布时间】:2011-06-09 12:27:23
【问题描述】:
我是 jsp 新手,遇到了一些麻烦。最初,在测试 Tomcat 服务器上构建和测试了 jsp 文件和相关的 java 类。现在,它们已经转移到我认为相同设置的另一台服务器(除了它现在是 linux 而不是 windows)。但是当访问 jsp 页面时,显示的是源代码,而不是实际执行的 jsp。我用谷歌搜索了一段时间,但没有成功。
这是我正在测试的jsp文件的代码:
<HTML>
<BODY>
Hello! The time is now <%= new java.util.Date() %>
</BODY>
</HTML>
这是我在导航到页面时在浏览器中看到的内容:
Hello! The time is now <%= new java.util.Date() %>
页面的来源是在示例文件中键入的确切代码:
<HTML>
<BODY>
Hello! The time is now <%= new java.util.Date() %>
</BODY>
</HTML>
服务器似乎正在运行。以下是我从 Firebug 获得的响应标头:
Date Sat, 15 Jan 2011 20:53:24 GMT
Server Apache/2.2.3 (CentOS)
Last-Modified Sat, 15 Jan 2011 02:20:18 GMT
Etag "b385d8-55-499d931205c80"
Accept-Ranges bytes
Content-Length 85
Content-Type text/html; charset=UTF-8
我曾认为this page 可能会解决问题,因为在 WEB-INF 文件夹中的 web.xml 文件中没有引用我正在使用的 jsp 文件,甚至没有引用以下 sn-ps:
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>logVerbosityLevel</param-name>
<param-value>WARNING</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
我尝试插入这些行并重新启动 Tomcat,但没有成功。有什么想法吗?
【问题讨论】:
-
您确定请求确实到达了 Tomcat?前面有另一个网络服务器吗? servlet 怎么样?它们有用吗?
-
您在 JSP 中到底有什么,您在浏览器中看到了什么? HTML 源代码中到底有什么? (在浏览器中单击鼠标右键,选择查看源代码)我很想知道您对“源代码”的确切含义。 JSP标签? JSTL 标签?埃尔?小脚本?甚至是 HTML?您不需要发布完整的代码,只需展示该行为的最小 JSP 文件就足够了。
-
@Thilo:如果请求没有到达 Tomcat,他就不会从 JSP 中看到任何东西,更不用说源代码了。然而,我希望 OP 将 JSP 文件放到另一个网络服务器而不是 Tomcat 中并不是那么愚蠢:)
-
当我在浏览器中输入jsp文件的地址时,显示的是jsp文件的源代码,而不是jsp执行。以下是我在浏览器中看到的前几行:
-
@DJStroky:这还不够详细。您是在浏览器屏幕还是在 HTML 源代码中看到的那样?如果在浏览器屏幕中,则意味着它已作为
text/plain发送,或者&lt;和&gt;等以某种方式被HTML 转义(然后您应该看到&lt;和&gt;和以此类推在页面源代码中)。另外,我很想知道 HTTP 响应标头到底包含什么。请编辑您的问题,为我在此评论和之前评论中提出的所有问题添加答案。