Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux服务器部署的JSP-Http 404请求的资源不可用_Linux_Jsp_Tomcat_Servlets_Http Status Code 404 - Fatal编程技术网

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

Linux服务器部署的JSP-Http 404请求的资源不可用,linux,jsp,tomcat,servlets,http-status-code-404,Linux,Jsp,Tomcat,Servlets,Http Status Code 404,我正在eclipse中使用jre 1.8和Tomcat 8开发一个基于web的项目 我的应用程序在我的系统上运行良好 现在我必须在linux服务器上部署我的应用程序。。由于我是新手,我面临着一些困难 我的服务器安装了Tomcat 7 为了部署,我将源代码从系统中的wtpwebapps复制到服务器机器上的/var/lib/tomcat7/webapps 但是现在只显示html网页,并且所有jsp文件都向HTTP:404提供了请求的资源不可用 我的文件夹结构是MyProject/WebContent

我正在eclipse中使用jre 1.8和Tomcat 8开发一个基于web的项目

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

现在我必须在linux服务器上部署我的应用程序。。由于我是新手,我面临着一些困难

我的服务器安装了Tomcat 7

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

但是现在只显示html网页,并且所有jsp文件都向HTTP:404提供了请求的资源不可用

我的文件夹结构是MyProject/WebContent/DisplayResults.jsp&Homepage.html&servlet位于MyProject/src/Utility/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);
}
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>
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文件,它给出了ResourceNotAvailable错误

我已经阅读了几篇相关的文章,我找不到确切的答案。我猜问题与找不到jsp的类文件有关。当我手动复制wtpwebapps文件夹时,我认为遗漏了一些内容

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

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

您的项目右键单击->导出->网络->战争

在这里选择您的项目,提供要生成的war文件的名称。 注意:应用程序上下文将与War文件名相同。 通过这种方式,您可以避免由于直接文件传输而发生的任何错误

我注意到的另一件事是,您使用的操作url为/MyProject/Servlet。 试着在表单操作Servlet中使用它

您的表单标签将变为

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

添加您的Web.xml以及您要使用的URL来访问JSP。此外,我认为您正在复制源代码而不是构建。按照我下面答案中的说明去做。谢谢。。我还意识到我面临这个问题,因为linux服务器有tomcat7,我试图在它上面执行jre1.8代码,我意识到这是不兼容的。。我的问题用tomcat8、jre1.8和您指定的war部署在服务器上解决了。我从来没有想到过这一点。如果您之前提到了您的完整环境,这将对您有所帮助。