如何在web.xml中添加类?

Sas*_*ska 1 java eclipse web.xml servlets jakarta-ee

我在本课中制作了一个登录表单:http://bit.ly/eEcVrE

我安装tomcat和mysql,创建数据库和表。但我无法理解 web.xml。建议如何填写,或者参考web.xml的教程

Login.jsp 启动,但当我填写字段用户名和密码时出现错误:请求的资源 (/project1/LoginServlet) 不可用。

抱歉,我问了一个非常非常愚蠢的问题,但我真的不知道该怎么办。抱歉英语不好。谢谢。

Edw*_*uck 5

您实际上不需要将类添加到 web.xml,也不需要在 web.xml 文件中指示它们的位置。

将它们添加到您的 war 文件的 WEB-INF/classes 子目录中(在其相应的层次目录嵌套中),或者如果这些类已打包到 JAR 文件中,请将它们添加到您的 war 文件的 WEB-INF/lib 子目录中战争文件。

web.xml 文件包含两个非常重要的映射。

  1. 它将 URL 模式映射到 Servlet 名称。
  2. 它将 Servlet 名称映射到一个类。

一旦您确定该类位于 WAR 文件中,您需要验证您是否正在调用正确的 URL。像这样的条目

 <servlet-mapping>
     <servlet-name>HelloServlet</servlet-name>
     <url-pattern>/HelloServlet</url-pattern>
 </servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

意味着调用

http://myserver:port/webappName/HelloServlet
Run Code Online (Sandbox Code Playgroud)

将被重定向到“HelloServlet”servlet。像这样的条目

 <servlet>
     <servlet-name>HelloServlet</servlet-name>
     <servlet-class>mypackage.HelloServlet</servlet-class>
 </servlet>
Run Code Online (Sandbox Code Playgroud)

将确保对“HelloServlet”servlet 的所有请求都定向到该类mypackage.HelloServlet,该类可能位于 WAR 的内部WEB-INF\classes\mypackage\HelloServlet.class。或者,它可能位于 WAR 的内部WEB-INF\lib\myjar.jar文件中,前提是该myjar.jar文件包含一个mypackage\HelloServlet.class文件。

祝你好运!