使用Myeclipse开发web项目常遇到的异常

1、

严重: Exception starting filter authority

java.lang.ClassNotFoundException: com.tju.cncf.interceptor.AuthorityFilter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:252)

Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: IOException


原因:额外添加的jar没有导入,build path 里重新导入


2、
ERROR [org.hibernate.util.JDBCExceptionReporter] - Cannot create PoolableConnectionFactory (无法打开登录所请求的数据库 "cncf"。登录失败。)
2012-10-16 21:37:23,514 WARN [org.hibernate.cfg.SettingsFactory] - Could not obtain connection to query metadata
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (无法打开登录所请求的数据库 "cncf"。登录失败。)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1225)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:111)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)


原因:applicationContext.xml中

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property name="url" value="jdbc:sqlserver://192.168.1.109:1433;DatabaseName=cncf"></property>
<property name="username" value="admin"></property>
<property name="password" value="123"></property>
</bean>


3、

WARN [com.opensymphony.xwork2.ognl.OgnlValueStack] - Error setting expression 'user.department' with value '[Ljava.lang.String;@e10154'

ognl.MethodFailedException: Method "setDepartment" failed for object com.tju.cncf.hibernate.UserInfo@1bc339e [java.lang.NoSuchMethodException: com.tju.cncf.hibernate.UserInfo.setDepartment([Ljava.lang.String;)]
解决方法:
jsp中的名字与Action类中的一致,如 user.department.departmentName


4、

异常:

org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)

原因:hibernate3 many-to-one的默认选项是 lazy = "proxy"
解决方法:<many-to-one> & <set> 中设置 lazy="false"

5、

java.lang.NullPointerException

java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1235)
java.text.DateFormat.parse(DateFormat.java:335)

原因:有些值未传入,为空
解决方法:检查action类中的属性 和 jsp表单中的对应

6、

java.lang.NullPointerException

com.tju.cncf.action.user.UserAction.getInfo(UserAction.java:159)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
原因:传入值为空
解决方法:


7、

org.apache.jasper.JasperException: javax.servlet.ServletException: File "/jsp/user/jsp/common/header.jsp" not found

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:585)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
原因:jsp路径不对 或者 strust.xml中没有与“字符串”对应的result
解决方法:相对路径改为绝对路径/jsp/common/header.jsp

8、

java.lang.RuntimeException: Invalid action class configuration that references an unknown class named [userAction]

org.apache.struts2.convention.ConventionsServiceImpl.determineResultPath(ConventionsServiceImpl.java:100)
org.apache.struts2.convention.ConventionUnknownHandler.determinePath(ConventionUnknownHandler.java:385)
org.apache.struts2.convention.ConventionUnknownHandler.handleUnknownResult(ConventionUnknownHandler.java:274)
com.opensymphony.xwork2.DefaultUnknownHandlerManager.handleUnknownResult(DefaultUnknownHandlerManager.java:87)
原因:struts.xml中result配置错误,找不到或没有配置,检查

9、

exception


java.lang.NullPointerException
com.tju.cncf.interceptor.AuthorityFilter.doFilter(AuthorityFilter.java:35)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)
原因:AuthorityFilter中的init()函数参数错误


10、

exception

java.lang.NumberFormatException: For input string: "[object HTMLInputElement]"
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
java.lang.Integer.parseInt(Integer.java:447)
java.lang.Integer.parseInt(Integer.java:497)
com.tju.cncf.action.user.UserAction.preModifyRole(UserAction.java:364)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)

原因:
解决方法:


11、

exception


org.apache.jasper.JasperException: tag 'select', field 'list', name 'user.department.departmentName': The requested list key 'allDepartments' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:585)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
原因:
解决方法:<button class="longbuttton" type="submit" name="add"
onClick="javascript:window.location.href='/CNCF/userAction_forwardTo.action'">
<img src="/CNCF/images/user.png" alt="" />
新增用户
</button>


12、

org.springframework.orm.hibernate3.HibernateSystemException: a different object with the same identifier value was already associated with the session: [com.tju.cncf.hibernate.Privilege#1]; nested exception is org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.tju.cncf.hibernate.Privilege#1]
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:679)
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
原因:
解决方法:你这个类的ID应该本地化,在该类的.hbm.xml中将generator的值改为native


14、
异常处理之 org.apache.catalina.session.ManagerBase IOException
[ERROR] 16:08:58 org.apache.catalina.session.ManagerBase - IOException while loading persisted sessions: java.io.EOFException
......
......

是因为保存在硬盘上的session数据读取失败,问题似乎不大,但是如果不处理一下,每次启动都会出现这个问题
解决:
只要删除Tomcat/work目录下(D:/Tomcat55/work/Catalina/localhost/dbsstest)所属工程中的"session.ser"文件即可。

15、

Unable to load configuration. - bean - jar:file:/D:/WIN7/apache-tomcat-6.0.26/webapps/DoAjax/WEB-INF/lib/struts2-spring-plugin-2.1.8.1.jar!/struts-plugin.xml:29:132

解决:Struts 2 版本不一致引发的异常!
struts2-core-2.0.9.jar 与 struts2-spring-plugin-2.2.1.jar 版本不一致!

16、
Background Indexer Crash Recovery
java.lang.StackOverflowError
这个问题百度说是构建路径的jre有问题,但是我遇到的问题并非如此,
点击错误日志详情如下:
java.lang.StackOverflowError
at java.util.ArrayList.get(ArrayList.java:322)
at org.eclipse.dltk.internal.javascript.typeinference.CombinedOrReference.isLocal(CombinedOrReference.java:296)
at org.eclipse.dltk.internal.javascript.typeinference.TransparentRef.isLocal(TypeInferencer.java:149)
at org.eclipse.dltk.internal.javascript.typeinference.CombinedOrReference.isLocal(CombinedOrReference.java:297)
at
解决方案:
1、Help > MyEclipse Configuration Center > Dashboard tab
2、在Add-ons下取消勾选:"MyEclipse IE Javascript Debugger (Windows Only)"
3、在右下方的挂起面板(Pending Changes)选择:Apply 1 change
4、等待eclipse自己进行更新,可能需要很久,亲测等待时间在半个小时以上。。。

17、
Exception in thread "DefaultQuartzScheduler_Worker-4" java.lang.OutOfMemoryError: PermGen space
Exception in thread "DefaultQuartzScheduler_Worker-1" java.lang.OutOfMemoryError: PermGen space
Exception in thread "DefaultQuartzScheduler_QuartzSchedulerThread"
解决方法: MyEclipse-->refrence-->tomcat-->jdk设置里面修改JVM启动MaxPermSize
一、java.lang.OutOfMemoryError: PermGen space

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,
这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,
它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对
PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,
这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小
超过了jvm默认的大小(4M)那么就会产生此错误信息了。
解决方法: 1、手动设置MaxPermSize大小

修改TOMCAT_HOME/bin/catalina.sh
在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。

2、进入tomcat webapps文件夹 把不用的工程删掉


18、
当 IDENTITY_INSERT 设置为 OFF 时,不能为表


failed to lazily initialize a collection of role: XXXXXX, no session or session was closed

解决办法:1、是把对应一对多的那两个列lazy=true改为lazy=false即可;
2、为set设置lazy="false"
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值