Linux 服务器已部署 JSP - Http 404 请求的资源不可用

Linux Server deployed JSP - Http 404 the requested resouce is not available

我正在使用 jre 1.8 和 Tomcat 8.

的系统上的 eclipse 中开发一个基于 Web 的项目

我的应用程序在我的系统上运行良好。

现在我必须在 linux 服务器机器上部署我的应用程序。作为新手,我遇到了一些困难。

我的服务器计算机安装了 Tomcat 7 个。

为了部署,我将 wtpwebapps 的源代码从我的系统复制到我的服务器计算机上的 /var/lib/tomcat7/webapps

但现在只显示 html 个网页,所有 jsp 个文件都提供 HTTP: 404 The requested resource is not available

我的文件夹结构是 MyProject/WebContent/(DisplayResults.jsp & Homepage.html) & servlet 位于 MyProject/src/Utility/Servlet.java

Homepage.html

<form method="get" action="/MyProject/Servlet">
   <input type='text' name='q' value='Type your text'><br>
   <br> <input type="submit" value="Search">
</form>

Servlet.java

protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
    String query = request.getParameter("q");
    System.out.println("query is " + query);

    request.setAttribute("itemList", list);
    request.setAttribute("q", query);

    RequestDispatcher view = request
                    .getRequestDispatcher("/DisplayResults.jsp");
            view.forward(request, response);
}

DisplayResults.jsp

    <%@page import="Utility.*"%>
    <html>
    <body bgcolor="#fdf5e6">

        <table>
            <td><c:forEach var="d" items="${itemList}">
                    <b><a href='<c:out value="${d.itemLink}"/>'>${d.itemTitle}</a></b>
                    <br>
                    <small>${d.itemLink}</small>
                    <p>${d.itemDesc}</p>
                </c:forEach></td>
        </table>
    </body>
    </html>

在服务器计算机上,html 文件打开,但对于 jsp 文件,它给出资源不可用错误。

我已经阅读了几篇相关的帖子,我找不到确切的场景 answered.I 猜测问题与未找到 jsp 的 class 文件有关.当我手动复制 wtpwebapps 文件夹时,我觉得有些东西被遗漏了。

请帮忙。 我也想知道在哪里可以检查服务器机器上的错误。

由于您使用的是 eclipse,因此您可以创建 War 文件并将其部署到服务器计算机的 tomcat/webapps 文件夹中。重新启动您的 Tomcat 服务器并让 tomcat 自动加载您的应用程序。

yourProject(Right Click)->export->web->war

有 select 您的项目,提供要生成的 war 文件的名称。
注意:您的应用程序上下文将与您的 War 文件名相同。

这样就可以避免由于直接文件传输而发生的任何错误。

我注意到的另一件事是您将您的操作 url 用作 /MyProject/Servlet
尝试在表单操作中使用它 Servlet.

您的表单标签将变为

<form method="get" action="Servlet">