Servlets 如何在Jetty中部署Servlet?

Servlets 如何在Jetty中部署Servlet?,servlets,jetty,file-structure,Servlets,Jetty,File Structure,我创建了一个简单的Servlet,我想在Jetty 7.2中部署它。Jetty正在运行,能够在http://localhost:8080/jonas/test.jsp。我使用java-jarstart.jar命令启动了Jetty 我在/webapps/jonas/WEB-INF/classes/MyServlet.class上保存了我编译的ServletMyServlet.class,然后尝试在http://localhost:8080/jonas/servlets/MyServlet但是我得到

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

我在
/webapps/jonas/WEB-INF/classes/MyServlet.class
上保存了我编译的Servlet
MyServlet.class
,然后尝试在
http://localhost:8080/jonas/servlets/MyServlet
但是我得到了一个
HTTP404
错误

HTTP ERROR 404

Problem accessing /jonas/servlet/MyServlet. Reason:

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


我现在创建了一个简单的
web.xml
文件,并将其保存在
/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>

MyServlet
MyServlet


我在JSP中遇到了一个类似的问题,现在已经解决了:

我认为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

使用这个“.”-fullstop,在classpath变量中,您将使运行java命令在当前目录中查找类

如果使用servlet 3.0,您必须使用
web.xml
中映射servlet,或者使用
@WebServlet
对其进行注释。

我现在已经阅读了自述文本文件,但它不包含任何相关信息。您是否将Jetty用作部署完整WAR文件的独立servlet容器?或者您是否将Jetty用作嵌入式servletcontainer,并通过Java代码以编程方式创建/启动它?@BalusC:我将Jetty用作独立的servletcontainer,并且我只部署了一个简单的“Hello World”servlet类,我还没有学会如何创建
.war
文件。我会先学习基础知识。好的,那么波佐说的确实正确。否则答案将是
context.addServlet(newServletHolder(new MyServlet(),“/MyServlet”)
,正如本文所述,我认为Jetty只支持Servlet2.5。我按照您的建议创建了一个
web.xml
文件。然而,我真的不知道它应该是什么样子,应该如何放置。我正在读2003年的一本书《Murach的Java servlet和JSP》。你建议其他标签。我的
web.xml
没有解决这个问题。@Jonas你只展示了
,没有
-还添加了一个映射(它定义了哪个URL映射到哪个servlet)。我的书很旧,没有
,但现在我已经了解了它,现在它工作得很好。再次感谢。扔掉那本书,阅读更好的链接/教程/书籍。@Abhishek哇!我试着编辑并添加一个简短的例子,猜测我得到了什么“这个编辑是不正确的,或者试图回复或评论现有的帖子。”