【问题标题】:JSP isn't executed by Tomcat when IP Address is used instead of 'localhost', showing Source Code当使用 IP 地址而不是 'localhost' 时,Tomcat 不执行 JSP,显示源代码
【发布时间】:2013-09-27 16:37:10
【问题描述】:

JSP 不是由 Tomcat 在安装的同一台机器上执行的。

我的代码测试和其他帖子一样简单:

<HTML>
<BODY>
Hello!  The time is now <%= new java.util.Date() %>
</BODY>
</HTML>

使用 本地 IP 我有:

现在使用 localhost 进行测试:

验证 Apache 的 httpd.conf

Include "C:/.../Httpd/conf/auto/mod_jk.conf"

Tomcat 的 mod_jk.conf 内部:

...
JkWorkersFile "C:/.../Tomcat/conf/jk/workers.properties"
...
<VirtualHost localhost>
  ServerName localhost
  ...
  JkMount /*.jsp  ajp13
</VirtualHost>

我认为 workers.properties 的设置可能有错误:

# BEGIN workers.properties
# Definition for Ajp13 worker
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
# END workers.properties

也许 worker.ajp13.host=localhost 是问题所在。

但是'我需要知道如何更改启用的本地主机以供我的 LAN 使用。

【问题讨论】:

    标签: jsp localhost tomcat7 ip-address


    【解决方案1】:

    在我的情况下,解决方案是:

    ...
    JkWorkersFile "C:/.../Tomcat/conf/jk/workers.properties"
    ...
    <VirtualHost *:80>
      ServerName localhost
      ...
      JkMount /*.jsp ajp13
    </VirtualHost>
    

    【讨论】:

      【解决方案2】:

      不,您的问题出在 Apache 配置中。它仅为 localhost 接口向 AJP 转发请求。您应该对 192.168.97.24 接口重复配置。

      Apache 不明白它应该将请求从 192.168.97.24 转发到 AJP,因此它提供的是纯文件。

      【讨论】:

      • 但是,我在 httpd.conf 的什么地方改变了这个?还是 mod_jk.conf 中的新虚拟主机?
      • 我不是 Apache 专家;你最不应该做的就是重复&lt;VirtualHost localhost&gt; 的东西,但要重复&lt;VirtualHost 192.168.97.24&gt;。可能有更好的方法来做到这一点,但这是一个快速而肮脏的解决方案来验证问题的原因。
      猜你喜欢
      • 2011-06-09
      • 1970-01-01
      • 2019-12-01
      • 2016-11-11
      • 1970-01-01
      • 2017-01-03
      • 2020-08-16
      • 2013-01-30
      • 2019-01-15
      相关资源
      最近更新 更多