java web中遇到的一些异常

1.Caused by: java.lang.IllegalAccessException: Class com.opensymphony.xwork2.ObjectFactory can not access a member of class com.wm.interceptor.TheInterceptor1 with modifiers ""
原因:类名没有public修饰符  

2.SEVERE: Servlet.service() for servlet default threw exception
java.lang.ClassNotFoundException: org.apache.struts2.util.ClassLoaderUtils
解决方案:将struts-core-xxx.jar包换成struts-core-2.2.1版本的,2.3版本中没有ClassLoaderUtils.class文件

3.struts访问jsp 显示 resources is not avalible
如果觉得一切配置都正确,那大多数原因是访问路径错误,比如说项目名称 文件名称 脑袋里想的 和手中敲出来的 是两个不同的路径
习惯性思维~~~超级小的错误竟然让我搞了半天。。。晕啊!!
另外,如果改了项目的名称,想以该名称部署项目的话,要修改
项目目录下的 .mymetadata文件,记事本打开
 修改 context-root 的值就行了

4.可将.war压缩项目文件,直接放到tomcat的webapp文件夹下,手动启动tomcat,即startup.bat 即可将项目部署到tomcat中

5.将项目部署为war文件,直接在启动服务器前,选择部署类型为war即可

6. Velocity  [debug] org.apache.velocity.exception.ResourceNotFoundException: WebappLoader : Resource 'VM_global_library.vm' not found.
原因:tomcat服务器的webapps目录下有示例工程,曾手动部署的,每次启动tomcat时都会将那些工程重新部署一下,(示例工程有的东西暂时都没接触过的)
解决方案:把webapps下的示例工程给删除,就好了

7.SEVERE: Dispatcher initialization failed
Unable to load configuration. - action - file:/F:/NIIT软件安装路径/Genuitec/apache-tomcat-6.0.36-windows-x86/apache-tomcat-6.0.36/webapps/struts_ajax/WEB-INF/classes/struts.xml:18:84

8.connection cannot be null when hibernate.dialect not set
答: 没有执行configure(),
Configuration config = new Configuration().configure();

9.hibernate 注解配置出现 org.hibernate.mappingnotfoundexception
答:<mapping class="com.chinasoft.model.Teacher"/>
注意,此处是class,而不是resource

10.今天在用annotation配置OneToOne关系映射的时候发生了一个,及其可笑的错误。
hibernate cascade=CascadeType.ALL报错cannot convert from CascadeType to CascadeType[]
原因:导入包错误,应为import javax.persistence.CascadeType;  

11.Hibernate:
   create table Group (
       id number(10,0) not null,
       name varchar2(255 char),
       primary key (id)
   )
2013-9-9 17:43:18 org.hibernate.tool.hbm2ddl.SchemaExport perform
ERROR: HHH000389: Unsuccessful: create table Group (id number(10,0) not null, name varchar2(255 char), primary key (id))
2013-9-9 17:43:18 org.hibernate.tool.hbm2ddl.SchemaExport perform
ERROR: ORA-00903: 表名无效
原因:上课没好好听讲,没注意细节,我就奇怪老师为什么将Group改成了Team呢?大概是因为sql中存在group by
所以不能用group作为表名
解决方案,将Group换成Team就好了~~(不能使用关键字~~~)

12.mysql支持中文:修改.ini文件  utf8即可

13.java web copy项目后,修改项目的部署路径
 项目 右击 ->properties
 展开MyEclipse ->web  修改Context Root即可

14.failed to lazily initialize a collection of role:XXX, no session拒绝方法
解决方案:设置lazy=false
如果是用annotation,则配置如下
@OneToMany(
  targetEntity = CourseAuthorizationItem.class,
  cascade = {CascadeType.PERSIST, CascadeType.MERGE},
  mappedBy = "course", fetch=FetchType.EAGER
 )
将fetch类型设置成直接获取

14.JSON调试找不到 net.sf.ezmorph.Morpher问题解决
是因为需要的类没有找到,一般,是因为少导入了JAR包,
使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph.jar,morph-1.0.1.jar
这几个包也是需要导入的.如果缺少里面的:ezmorph.jar包,则即出现上述异常
commons系列的包,可在网站:http://www.docjar.com/上面搜索下载,其它包可下载网站如下:
http://json-lib.sourceforge.net/
http://ezmorph.sourceforge.net/
http://morph.sourceforge.net/

15.import javax.servlet.annotation.*;
@WebServlet(urlPatterns={"/reg.do"})
public class RegServlet extends HttpServlet  ----注解配置Servlet时,引入包报错
解决方案:
找到tomcat安装目录下的lib文件夹,打开,找到servlet-api.jar,把这个路径添加到环境变量classpath当中,就可以了。(比如我的路径是D:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar)
方法(2) 找到%tomcat%\lib目录下的servlet-api.jar,把这个jar拷贝到%java_home%\jdk1.7.0\jre\lib\ext目录下面
这样jdk的运行就没问题了
注:若项目的buildPath是javaEE5的,要删掉,换成javaee6的,(直接添加javaee6.jar即可)

16.Unknown column '...' in 'where clause'
执行查询的时候列名没有加引号,所以会出现列名不存在的情况。
"select * from UserInfo where username = '" + username+ "' and password = '" + password+"'";

你可能感兴趣的:(异常,javaweb)