Jakarta ee 如何将web.xml转换为@WebServlet?
我有一个使用Servlet3.1的web应用程序,有一个没有@WebFilter注释的ServletFilter,并且工作正常 我想用@WebServlet注释替换它,但使用相同的旧过滤器,而不创建新的过滤器类并在旧过滤器类中使用@WebFilter。下面是我的web.xml文件Jakarta ee 如何将web.xml转换为@WebServlet?,jakarta-ee,websphere,servlet-filters,weblogic12c,servlet-3.1,Jakarta Ee,Websphere,Servlet Filters,Weblogic12c,Servlet 3.1,我有一个使用Servlet3.1的web应用程序,有一个没有@WebFilter注释的ServletFilter,并且工作正常 我想用@WebServlet注释替换它,但使用相同的旧过滤器,而不创建新的过滤器类并在旧过滤器类中使用@WebFilter。下面是我的web.xml文件 <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.
<web-app version="3.1"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<display-name>Archetype Created Web Application</display-name>
<filter>
<display-name>User Auth Filter</display-name>
<filter-name>UserAuthFilter</filter-name>
<filter-class>com.example.UserAuthFilter</filter-class>
<async-supported>true</async-supported>
<init-param>
<param-name>checkUser</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>doValidate</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UserAuthFilter</filter-name>
<url-pattern>/usercount</url-pattern>
</filter-mapping>
<security-constraint>
<web-resource-collection>
<web-resource-name>Services</web-resource-name>
<url-pattern>/usercount</url-pattern>
<http-method>GET</http-method>
</web-resource-collection>
</security-constraint>
<deny-uncovered-http-methods/>
</web-app>
我没有找到过滤器映射和安全约束的任何注释
您能在这方面帮助我吗?对于过滤器映射,您应该能够使用urlPatterns属性。此外,您应该能够对安全约束使用注释。谢谢@Paul,过滤器名称的值是否正确,是否为servlet过滤器类(com.example.UserAuthFilter)?@WebFilter注释实际上应该位于作为过滤器的类上。“values”或“urlPatterns”属性可用于映射。Oracle提供了一些很好的EE技术教程:
package com.example;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
@WebServlet
@WebFilter(displayName = "User Auth Filter",
filterName = "UserAuthFilter",
value = "com.example.UserAuthFilter",
asyncSupported = true,
initParams = {
@WebInitParam(name = "checkUser",value = "true"),
@WebInitParam(name = "doValidate",value = "true")
})
public class NotificationWebsocketServlet {
public NotificationWebsocketServlet() {
super();
// TODO Auto-generated constructor stub
}
}