4

我创建了一个简单的 Servlet,我想在 Jetty 7.2 中部署它。Jetty 正在运行并且能够在http://localhost:8080/jonas/test.jsp. java -jar start.jar我用命令启动了 Jetty 。

我将编译后的 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

我还有什么需要做的吗?我应该在 Jetty 文件结构中的哪个位置放置MySerlvet.class


我现在创建了一个简单的web.xml文件并将其保存<my_jetty_directory>/webapps/jonas/WEB-INF/web.xml并重新启动了我的 Jetty,但它不起作用。这是我的简单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 网络服务器中部署 JSP 文件?

4

2 回答 2

4

如果使用 servlet 3.0 ,您必须将您的 servlet 映射到web.xml、使用<servlet>and<servlet-mapping>或注释它。@WebServlet

于 2010-11-08T10:03:38.807 回答
0

我认为 Jetty 服务器的安装文件夹或 lib 或 bin 或 conf 子文件夹中应该有一个 config 或 readme.txt 文件。通读这些,您将获得放置类的特定目录。在 Jetty 服务器中设置您的类目录,或者至少记住它。这些将是 Jetty 服务器运行时运行的类。

至于类路径,java 有一种被告知从指定文件夹运行类的方法。您可以添加一个-:

* "." 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

有了这个, ”。” - 句号,在类路径变量中,您将运行 java 命令查找当前目录中的类。

于 2010-11-08T09:37:19.197 回答