看一下这个 filter 为什么有错误

问题描述

一个利用cookie实现自动登录功能,也不知道写的对不对,但是部署时就有错误,下面分别是web.xml各filter.java、不有错误信息:web.xml<servlet-mapping><servlet-name>HostelServlet</servlet-name><url-pattern>/HostelServlet</url-pattern></servlet-mapping><filter><!--<display-name>LoginFilter</display-name>--><filter-name>LoginFilter</filter-name><filter-class>com.student.web.filter.LoginFilter</filter-class></filter><filter-mapping><filter-name>LoginFilter</filter-name><url-pattern>/jsps/main.jsp</url-pattern></filter-mapping><filter-mapping><filter-name>LoginFilter</filter-name><servlet-name>HosteServlet</servlet-name></filter-mapping><filter-mapping><filter-name>LoginFilter</filter-name><servlet-name>UserInfoServlet</servlet-name></filter-mapping>

filter.javapackagecom.student.web.filter;importjava.io.IOException;importjava.lang.reflect.InvocationTargetException;importjava.util.LinkedHashMap;importjava.util.Map;importjavax.servlet.Filter;importjavax.servlet.FilterChain;importjavax.servlet.FilterConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;importjavax.servlet.annotation.WebFilter;importjavax.servlet.http.Cookie;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.apache.commons.beanutils.BeanUtils;importcom.student.user.domain.User;importcom.student.user.service.UserService;@WebFilter(urlPatterns={"/jsps/main.jsp"},servletNames={"HostelServlet","UserInfoServlet",})publicclassLoginFilterimplementsFilter{publicvoiddestroy(){}publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException{chain.doFilter(request,response);/**1、取得session中数据判断用户有没有登录*如果session中有数据说明用户已经登录,如果为null说明没有登录*2、如果没登录,取得cookie中数据,如果cookie为null转到登录页面,*如果不为空,用cookie中的用户名和密码查询数据库,把查询出的数*据保存到session中,*3、session中有数据后放行*///把ServletRequest对象转成HttpServletRequest对象HttpServletRequestreq=(HttpServletRequest)request;HttpServletResponseresp=(HttpServletResponse)response;Useruser=(User)req.getSession().getAttribute("sessionUser");if(user==null){Cookie[]cookie=req.getCookies();if(cookie==null){req.getRequestDispatcher("/jsps/user/login.jsp").forward(req,resp);}else{UserServiceuserService=newUserService();Map<String,String>map=newLinkedHashMap<String,String>();for(Cookiec:cookie){if(c.getName()=="cookieUsername"||c.getName()=="cookiePassword"){map.put(c.getName(),c.getValue());}}try{BeanUtils.populate(user,map);//封装数据}catch(IllegalAccessExceptione){thrownewRuntimeException();}catch(InvocationTargetExceptione){thrownewRuntimeException();}req.getSession().setAttribute("sessionUser",userService.userLoginService(user));}}else{chain.doFilter(request,response);//放行}}publicvoidinit(FilterConfigfConfig)throwsServletException{}}

错误信息:六月13,20142:00:10下午com.sun.faces.spi.InjectionProviderFactorycreateInstance信息:JSF1048:有PostConstruct/PreDestroy注释。标有这些注释的ManagedBeans方法将表示注释已处理。六月13,20142:00:10下午org.apache.catalina.core.StandardContextfilterStart严重:ExceptionstartingfilterLoginFilterjava.lang.ClassNotFoundException:com.student.web.filter.LoginFilteratorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)atorg.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527)atorg.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509)atorg.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137)atorg.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)atorg.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)atorg.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4656)atorg.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5312)atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)atorg.apache.catalina.core.StandardContext.reload(StandardContext.java:3926)atorg.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1271)atorg.apache.catalina.startup.HostConfig.check(HostConfig.java:1440)atorg.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:301)atorg.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)atorg.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)atorg.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1374)atorg.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)atorg.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)atorg.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)atjava.lang.Thread.run(Thread.java:744)六月13,20142:00:10下午org.apache.catalina.core.StandardContextstartInternal严重:ErrorfilterStart六月13,20142:00:10下午org.apache.catalina.core.StandardContextstartInternal严重:Context[/students]startupfailedduetopreviouserrors六月13,20142:00:10下午org.apache.catalina.loader.WebappClassLoadercheckThreadLocalMapForLeaks严重:Thewebapplication[/students]createdaThreadLocalwithkeyoftype[com.sun.faces.util.Util$1](value[com.sun.faces.util.Util$1@64d5eca6])andavalueoftype[java.util.HashMap](value[{com.sun.faces.patternCache={=}}])butfailedtoremoveitwhenthewebapplicationwasstopped.Threadsaregoingtoberenewedovertimetotryandavoidaprobablememoryleak.六月13,20142:00:10下午org.apache.catalina.core.StandardContextreload

顺便看一下这样实现的逻辑对不

解决方案

解决方案二:
java.lang.ClassNotFoundException:com.student.web.filter.LoginFilter没你这个类呀,你编译了吗,或者编译通过了吗?
解决方案三:
重启下tomcat吧
解决方案四:
com.student.web.filter.LoginFilter这个类没找到,是不是没有编译啊,或者class文件放错地方了还有,判断字符串相等是不是要用equals()啊
解决方案五:
你这配置文件怎么那么多filter-mapping,干什么用的,只有一个filter你用什么对应
解决方案六:
引用1楼longtian1213的回复:

java.lang.ClassNotFoundException:com.student.web.filter.LoginFilter没你这个类呀,你编译了吗,或者编译通过了吗?

我用的Myeclipse直接部署的,我把Tomcat中的项目文件删了,然后重新部署,其它的类都有就是没有这个类,我把这个类放在其它文件夹下重新部署也一样
解决方案七:
引用2楼a276202031的回复:

重启下tomcat吧

重启了很多次,结果一样不行
解决方案八:
引用4楼zq549805070的回复:

你这配置文件怎么那么多filter-mapping,干什么用的,只有一个filter你用什么对应

引用3楼a1969212650的回复:

com.student.web.filter.LoginFilter这个类没找到,是不是没有编译啊,或者class文件放错地方了还有,判断字符串相等是不是要用equals()啊

嗯,改回来了。那个类编译不出class文件
解决方案九:
引用6楼lingfeng892的回复:

Quote: 引用2楼a276202031的回复:
重启下tomcat吧

重启了很多次,结果一样不行

clean一下然后在重启

时间: 2024-07-28 22:13:22

看一下这个 filter 为什么有错误的相关文章

数学-c语言题目求助~~~大家帮忙看一下这个代码有啥错误

问题描述 c语言题目求助~~~大家帮忙看一下这个代码有啥错误 **1/1 + 1/2 + 1/3 + 1/4 + ... 在数学上称为调和级数. **它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字. 但是,它发散的很慢: 前1项和达到 1.0前4项和才超过 2.0前83项的和才超过 5.0 那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?** 请填写这个整数. 注意:只需要填写一个整数,不要填写任何多余的内容.比如说明文字.** #include<stdio

哪位大神帮忙看下这个脚本有什么错误,谢谢

问题描述 哪位大神帮忙看下这个脚本有什么错误,谢谢 #! /bin/sh RUN_COMMAND="/bin/sh " if [["$1" == ""]] then exit fi for x in "$@" do if [[${x:-7}=="libtool"]] then RUN_COMMAND=$RUN_COMMAND' '$x else if [[${x:-11} == "/libgdal

请人帮我看看我的代码,报空指针的错误

问题描述 下面的是我的代码中的一个类,主要问题就是在我添加DVD过后,再删除添加的DVD.然后添加新的DVD后就会报错报错的是这句话:if(dvd[i].name.compareToIgnoreCase("")==0){packagecom.jb.cdjj.s1t112.chapter16.t1;importjava.util.Scanner;importjavax.swing.JOptionPane;publicclassMiniDvdManager{Scannerinput=new

安装websphere application developer 报错,有谁能帮我稍微看一下,大概是什么错误的嘛?谢谢

问题描述 javax.net.ssl.SSLException:Connectionhasbeenshutdown:javax.net.ssl.SSLException:java.net.SocketException:Connectionresetcom.ibm.jsse2.jc.i(jc.java:212)com.ibm.jsse2.e.available(e.java:14)com.ibm.cic.common.transports.httpclient.EventFiringSSLPro

xml-struts配置问题大家帮忙看下错误在哪里

问题描述 struts配置问题大家帮忙看下错误在哪里 struts文件 /404.jsp /photo.jsp loginAction public class LoginAction extends ActionSupport implements ModelDriven{ private UserService userService; private LoginInfo loginInfo=new LoginInfo(); public String execute(){ System.o

空指针异常,我看了一天半了,真的解决不了了,大神们啊,快帮着解决一下吧,在线等,急急急!!!

问题描述 空指针异常,我看了一天半了,真的解决不了了,大神们啊,快帮着解决一下吧,在线等,急急急!!! java.lang.NullPointerException at core.service.BaseService.doPaginationQuery(BaseService.java:177) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorI

【新手】Filter与TOMCAT的启动问题

问题描述 只要在WEB.XML中加入Filter后,TOMCAT就报错:Context[/test]startupfailedduetopreviouserrors,Filter的配置应该没有错误,是哪里出现问题呢?求解答?WEB.XML的配置:<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.5"xmlns="http://java.sun.com/xml/

安装WIN8系统时出现 Error 0x0000005D 错误的解决方法

  WIN8 刚上市就有客户过来找我安装,一个奔腾4的电脑.安装WIN8.本来以为很容易解决的事情让我头大.安装的时候出现了 Error Code:0x0000005D .网上查了一下,原来WIN8对硬件还有要求,尼玛WIN8什么时候也变成苹果了..如果你也无法安装Windows 8的话,那么请接着看下吧. 错误信息如下:Your PC needs to restart. Please hold down the power button Error Code:0x0000005D Parame

MySQL常见错误问答!

mysql|错误 18.2.1 MySQL server has gone away错误 本小节也涉及有关Lost connection to server during query的错误. 对MySQL server has gone away错误最常见的原因是服务器超时了并且关闭了连接.缺省地,如果没有事情发生,服务器在 8个小时后关闭连接.你可在启动mysqld时通过设置wait_timeout变量改变时间限制. 你可以通过执行mysqladmin version并且检验正常运行的时间来检