为什么要使用 web.xml?

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>

这个文件和文件映射是做什么的?

118057 次浏览

它说所有的请求都要通过 WicketFilter


另外,如果使用 wicket WicketApplication 进行应用程序级别设置。比如 URL 模式和应用程序级别的事情


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

它是 JavaWeb 应用程序的默认配置; 这是必需的。

WicketFilter

被应用到发送到这个 web 应用程序的每个 HTTP 请求。

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

在这里您可以指定:

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

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

web.xml文件是基于 Servlet 的 Javaweb 应用程序的 部署描述符(大多数 Javaweb 应用程序都是如此)。在其他方面,它声明了哪些 Servlet 存在以及它们处理哪些 URL。

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

XML 被称为部署描述符文件,它是一个包含 web 应用程序配置信息(包括 servlet 配置)的 XML 文件。

要从浏览器访问 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>

Manly 使用 web.xml 进行 servlet 映射。