【问题标题】:Why do we use web.xml? [closed]为什么我们使用 web.xml? [关闭]
【发布时间】:2011-05-31 03:28:42
【问题描述】:

web.xml有什么用,我们为什么要使用?

<filter>
        <filter-name>wicket.mysticpaste</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
            <param-name>applicationClassName</param-name>
            <param-value>com.mysticcoders.WicketApplication</param-value>
        </init-param>
    </filter>

 <filter-mapping>
  <filter-name>wicket.mysticpaste</filter-name>
    <url-pattern>/*</url-pattern>
 </filter-mapping>

这个文件管理器和文件映射有什么作用?

【问题讨论】:

  • 注意web.xml都是小写的
  • 他没有问他为什么要使用这个;他问为什么我们,作为一个社区,使用 web.xml 文件。对于他特定的 web.xml,他问 what 它在做什么。这个问题没有错。

标签: java servlets jakarta-ee web.xml


【解决方案1】:

一般来说,这是java中web应用的配置文件。它指示 servlet 容器(例如 tomcat)加载哪些类,在上下文中设置哪些参数,以及如何拦截来自浏览器的请求。

你指定:

  • 您要使用哪些 servlet(和过滤器)以及要将它们映射到哪些 URL
  • 侦听器 - 发生某些事件(上下文启动、会话创建等)时收到通知的类
  • 配置参数(上下文参数)
  • 错误页面,欢迎文件
  • 安全限制

在 servlet 3.0 中,许多 web.xml 部分是可选的。这些配置可以通过注解来完成(@WebServlet@WebListener

【讨论】:

    【解决方案2】:

    web.xml 文件是基于 Servlet 的 Java Web 应用程序(大多数 Java Web 应用程序都是)的deployment descriptor。除其他外,它声明存在哪些 Servlet 以及它们处理哪些 URL。

    您引用的部分定义了Servlet Filter。 Servlet 过滤器可以对请求进行各种预处理。您的具体示例是一个过滤器,它以 Wicket framework uses 作为所有请求的入口点,因为过滤器在某些方面比 Servlet 更强大。

    【讨论】:

      【解决方案3】:

      它表示所有请求都通过 WicketFilter


      此外,如果您使用 wicket WicketApplication 进行应用程序级别设置。比如 URL 模式和应用级别的真实情况


      这才是你真正需要的,http://wicket.apache.org/learn/examples/helloworld.html

      【讨论】:

        【解决方案4】:

        要从浏览器访问 Servlet,然后必须告诉 servlet 容器要部署哪些 servlet,以及将 servlet 映射到哪个 URL。这是在 Java Web 应用程序的 web.xml 文件中完成的。

        在 servlet 中使用 web.xml

        <servlet>
            <description></description>
            <display-name>servlet class name</display-name>
            <servlet-name>servlet class name</servlet-name>
            <servlet-class>servlet package name/servlet class name</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>servlet class name</servlet-name>
            <url-pattern>/servlet class name</url-pattern>
        </servlet-mapping>
        

        使用 web.xml 进行 servlet 映射。

        【讨论】:

        • 这并不能真正回答问题中的 whywhat
        【解决方案5】:

        这是 Java Web 应用程序的默认配置;这是必需的。

        WicketFilter
        

        应用于发送到此 Web 应用程序的每个 HTTP 请求。

        【讨论】:

        • 我偶然发现了这篇文章。更正:这是必需的。不再需要它。
        • 九年后。
        【解决方案6】:

        Web.xml 被称为部署描述符文件,它是一个 XML 文件,其中包含有关 Web 应用程序配置的信息,包括 servlet 的配置。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-27
          • 1970-01-01
          • 2011-06-27
          • 2013-09-03
          相关资源
          最近更新 更多