【问题标题】:How to add classes in web.xml?如何在 web.xml 中添加类?
【发布时间】:2011-06-24 09:30:52
【问题描述】:

我用这节课做了一个登录表单:http://bit.ly/eEcVrE

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

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

对不起,非常非常愚蠢的问题,但我真的不知道该怎么做。抱歉英语不好。 谢谢。

【问题讨论】:

    标签: java eclipse servlets jakarta-ee web.xml


    【解决方案1】:

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

    将它们添加到您的 war 文件的 WEB-INF/classes 子目录中(在它们相应的分层目录嵌套中),或者如果这些类已经打包到 JAR 文件中,请将它们添加到 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>
    

    表示调用

    http://myserver:port/webappName/HelloServlet
    

    将被重定向到“HelloServlet”servlet。像

    这样的条目
     <servlet>
         <servlet-name>HelloServlet</servlet-name>
         <servlet-class>mypackage.HelloServlet</servlet-class>
     </servlet>
    

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

    祝你好运!

    【讨论】:

      【解决方案2】:

      web.xml 是 web - 应用程序描述符。

      web.xml 文件为构成 Web 应用程序的 Web 组件提供配置和部署信息。


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

      这是因为您没有在 web.xml 中映射此 URL 模式

      【讨论】:

      • 我知道。但我在编写 web.xml 和理解结构时遇到问题/
      • 如何在 web.xml 中映射 URL 模式
      • ?它还需要别的东西吗?
      • 我认为您最好使用像 netbeans 这样的 IDE 来执行您的编辑。这样,您可以通过 UI 进行更改,然后通过单击“源”选项卡查看源代码,您将能够更好地了解发生了什么。
      猜你喜欢
      • 1970-01-01
      • 2013-06-07
      • 2014-03-07
      • 2013-02-27
      • 2012-11-19
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 2017-02-04
      相关资源
      最近更新 更多