我创建了一个简单的servlet,我想在Jetty 7.2中部署。 Jetty正在运行,并且能够在JSP页面上提供 http://localhost:8080/jonas/test.jsp. 。我开始用码头 java -jar start.jar 命令。

我保存了我的编译的servlet MyServlet.class<my_jetty_directory>/webapps/jonas/WEB-INF/classes/MyServlet.class 然后试图访问该servlet http://localhost:8080/jonas/servlets/MyServlet 但是我得到了 HTTP 404 错误。

HTTP ERROR 404

Problem accessing /jonas/servlet/MyServlet. Reason:

    Not Found

我还有其他事情吗?我应该放在码头文件结构中 MySerlvet.class?


我现在创建了一个简单的 web.xml 档案并将其保存在 <my_jetty_directory>/webapps/jonas/WEB-INF/web.xml 并重新启动了我的码头,但行不通。这是我的简单 web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <servlet>
    <servlet-name>MyServlet</servlet-name>
    <servlet-class>MyServlet</servlet-class>
  </servlet>
</web-app>

我对JSP有类似的问题,现在已经解决了: 如何在Jetty Web服务器中部署JSP文件?

有帮助吗?

解决方案

您必须在 web.xml, , 使用 <servlet><servlet-mapping>, ,或用它注释 @WebServlet 如果使用Servlet 3.0。

其他提示

我认为您的Jetty服务器的“安装文件夹”,“ lib”或“ bin或conf子文件夹”中应该有一个config或readme.txt文件。通读这些内容,您将获得特定的目录来放课。在Jetty服务器中设置类目录或至少要重新透露它。这些将是码头服务器运行时运行的类。

至于类路径,Java可以被告知从指定文件夹中运行课程。您可以添加A-:

* "." at the end of classpath variable in WINDOWS NT platform
* set CLASSPATH=%CLASSPATH%;. in command mode or AUTOEXEC.bat of other WINDOWS
* set CLASSPATH=%CLASSPATH%:. and export CLASSPATH in linux

有了这个, ”。” - FullSpop,在类Path变量中,您将使运行Java命令在当前的目录中查找类。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top