不是一个类
DrinkMachine 一个是 DrinkMachine1
创建过滤器的方式有两种:
@WebFilter(filterName ="/LoginFilter",urlPatterns = {"/main.jsp"})
public class LoginFilter implements Filter {
public LoginFilter() {
// TODO Auto-generated constructor stub
}
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
// place your code here
// pass the request along the filter chain
chain.doFilter(request, response);
}
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
<filter>
<filter-name>AccessPermissionFilter</filter-name>
<filter-class>com.ychs.uol.filter.AccessPermissionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AccessPermissionFilter</filter-name>
<url-pattern>/user/*</url-pattern>
<url-pattern>/member/*</url-pattern>
<url-pattern>/publicclass/*</url-pattern>
<url-pattern>/main.jsp</url-pattern>
<url-pattern>/index.jsp</url-pattern>
<url-pattern>/left.html</url-pattern>
</filter-mapping>
经过查看代码:这是因为在创建Filter过滤器的时候自动添加了注解,然后又在web.xml中配置了一遍,所以导致初始化函数被执行了两次,对应的将其中一个删去即可。
由于问题描述过于简略,我无法准确理解您的问题出在哪里。但是根据参考资料推测,出现init()
方法出错的情况,可能是由于重复定义init()
方法或者配置有误。因此,我提供以下几种可能遇到的问题和相应的解决方案:
重复定义init()
方法导致出错 如果您使用了注解或者web.xml配置方式创建Filter过滤器,在过滤器类中已经定义了init()
方法,而且您还在web.xml中配置了一遍,导致初始化函数被执行了两次,可以删除其中一份代码,避免方法重复定义。
配置有误导致出错 如果您使用了web.xml配置方式创建Filter过滤器,在配置文件中定义了<filter>
和<filter-mapping>
标签,但格式不正确或者标签内部属性有误(如filter-class指向的类文件不存在),也会导致初始化方法出错。你可以检查一下web.xml文件的配置是否符合规范,或者尝试使用注解方式来创建Filter过滤器。
其他错误导致出错 如果以上两种情况都没有解决您的问题,可能是由于其他错误导致初始化方法出错。您可以尝试使用调试工具来排查错误,或者检查一下自己编写的代码是否符合规范和逻辑。如果还没有办法解决,建议在具体错误信息的基础上,进行进一步的问题描述或者提供更多相关代码,方便更加准确的解答。