java - JBoss 6.1.0 AS 过滤器在 web.xml 中的位置
问题描述
尝试在 JBoss 6.1.0 中部署 WAR 时显示以下错误
DEPLOYMENTS IN ERROR:
Deployment
"vfs:///D:/workspace/.metadata/.plugins/org.jboss.ide.eclipse.as.core/JBoss_AS_6.x1555321418499/deploy/MyProject.war" is in error due to the following reason(s):
org.jboss.xb.binding.JBossXBRuntimeException: filter cannot appear in this position. Expected content of web-app is unordered_sequence: error-page* welcome-file-list? servlet-mapping* login-config? mime-mapping* distributable? session-config? security-role* taglib* security-constraint* context-param* servlet* {all descriptionGroup}? {unordered_sequence jndiEnvironmentRefsGroup}?
以下是web.xml
文件
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>false</param-value>
</context-param>
<filter>
<filter-name>AuthenticationFilter</filter-name>
<filter-class>mypackage.restauthentication.RestAuthenticationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthenticationFilter</filter-name>
<url-pattern>/services/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>REST Service</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>mypackage.restauthentication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>REST Service</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
</web-app>
根据错误消息,<filter>
被错误地放置在web.xml
. web-app 的预期内容是 unordered_sequence: error-page* welcome-file-list? servlet 映射* 登录配置?mime-mapping* 可分发?会话配置?security-role* taglib* security-constraint* context-param* servlet* {all descriptionGroup}?{unordered_sequence jndiEnvironmentRefsGroup}?
放置相同的正确顺序是什么?这是一个使用基本身份验证部署 Jersey REST Web 服务的 Web 存档。
解决方案
试试这个 ..
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>false</param-value>
</context-param>
<servlet>
<servlet-name>REST Service</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>mypackage.restauthentication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>REST Service</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>AuthenticationFilter</filter-name>
<filter-class>mypackage.restauthentication.RestAuthenticationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthenticationFilter</filter-name>
<url-pattern>/services/*</url-pattern>
</filter-mapping>
</web-app>
推荐阅读
- python-3.x - 酸洗后无法绑定功能 - tkinter
- css - 带有 webpack 样式加载器的 Chrome 扩展找不到样式目标
- c# - 对象引用未设置为对象实例,通过代码生成 win 表单控件
- android - Android spinner, OnItemSelectedListener 选择同一项时不调用?
- python - 如何正确计算加密货币价格的 BBP(布林带百分比)?
- zxing - zxing 和 Aforge aztec 条码读取
- python - 使用 tf.keras.Model.fit 进行训练时如何将自定义摘要添加到 tensorboard
- android - 如何从桌面上创建的 python-flask Web 应用程序创建 android 应用程序?
- java - 即使引用的文件位于项目根目录中,PrintWrite 仍然会抛出未找到文件的异常
- python - 在二十一点中获得正确的价值