【问题标题】:Getting web.xml file to work on Apache Server with Tomcat使用 Tomcat 让 web.xml 文件在 Apache 服务器上工作
【发布时间】:2014-01-08 07:04:30
【问题描述】:

我已经使用 Netbeans 使用 JSP 创建了一个网站。我想把这个网站上线,所以我买了一个 VPS (linux) 以及设置了 tomcat 和 apache。

我可以让网站正常工作,但没有功能,如登录、注册等(所有这些都通过 java 中的命令进行)。当我尝试登录时,它会将我重定向到 sitename.com/ServletName 并显示一条消息:

服务暂时不可用 由于维护停机或容量问题,服务器暂时无法满足您的请求。请稍后再试。 此外,在尝试使用 ErrorDocument 处理请求时遇到 503 Service Temporarily Unavailable 错误。

我在网上查了一下,似乎是我的 web.xml 文件有问题,这意味着我的 .war 文件没有正确部署。

这是我当前的 web.xml 文件:

 <?xml version="1.0" encoding="UTF-8"?>

 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 version="2.5">

<!--<servlet>
<servlet-name>ServletName</servlet-name>
<servlet-class>Servlet.ServletName</servlet-class>
</servlet>-->


<!-- The mapping for the JSP servlet Commented out-->
<!--servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
</servlet-mapping>-->


<session-config>
    <session-timeout>
        30
    </session-timeout>



</session-config>

<error-page>
    <error-code>404</error-code>
    <location>/error-404.jsp</location>
</error-page>  

</web-app>

有人知道我在这里需要什么吗?每次我尝试登录或任何它使我的整个站点都有相同的错误 503 消息时,所以我必须重新启动服务器等,然后同样的事情会发生!

谢谢

更新:仍然无法正常工作

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 版本="2.5">

<servlet>
<servlet-name>UserActionServlet</servlet-name>
<displayable-name xml:lang="en">My Servlet</displayable-name>
<description>The Servlet</description>
<servlet-class>Servlet.ServletName</servlet-class>
</servlet>


<!-- The mapping for the JSP servlet -->
<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
</servlet-mapping>


<session-config>
    <session-timeout>
        30
    </session-timeout>



</session-config>

<error-page>
    <error-code>404</error-code>
    <location>/error-404.jsp</location>
</error-page>  

</web-app>

【问题讨论】:

  • 所以您的 Web 应用程序中没有 servlet?只有静态资源和 JSP?日志是怎么说的?
  • 您缺少显示名称和描述标签。
  • 用我也尝试过的其他代码更新了我的原始问题,其中包括提到的 servlet 以及显示名称和描述。编辑:仍然没有运气。
  • 错误页面来自 HTTPD,因为 Tomcat 中出现 500 错误。您需要检查 Tomcat 日志以了解错误是什么。

标签: xml apache jsp tomcat


【解决方案1】:

在Tomcat中打开manager app自带的web.xml查看一下。它将帮助您弄清楚如何正确构建这些文档。在最基本的情况下,在定义 servlet 或任何花哨的东西之前,你需要这么多:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   version="2.5"> 
  <display-name>NAME_TO_DISPLAY_IN_MANAGER_APP</display-name>
  <description>
    DESCRIPTION_OF_WHAT_THIS_APP_IS
  </description>
</web-app>

即使在您编辑之后,您仍然在 级别下缺少 。您只添加了 servlet 的描述。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 2016-10-11
    • 2011-06-12
    • 1970-01-01
    • 2016-08-29
    • 2015-01-31
    相关资源
    最近更新 更多