为啥我们使用 web.xml? [关闭]

Posted

技术标签:

【中文标题】为啥我们使用 web.xml? [关闭]【英文标题】: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>

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

【问题讨论】:

见***.com/questions/2311065/… 注意web.xml都是小写的 他没有问他为什么要使用这个;他问为什么我们,作为一个社区,使用 web.xml 文件。对于他特定的 web.xml,他问 what 它在做什么。这个问题没有错。 【参考方案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 的配置。

【讨论】:

以上是关于为啥我们使用 web.xml? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

web.xml 中的listener filterservlet 加载顺序及其详解

Web.xml:为啥安全约束中 url 模式的灵活性如此之差?

为啥我的 Tomcat 部署的 web.xml 没有被主机服务器读取?

myeclipse 2015中使用J2EE6.0版本新建Web Project,为啥不自动生成web.xml配置文件?

tonmcat中的web项目中的web.xml为啥设置默认首页没有作用呢?

为啥 <taglib> 在我的 web.xml 中给我一个问题?