费劲周折终于把我的第一个ssh项目给写好了 呵呵
项目源码如下(项目很简单,命名也不是很规则 希望大家见谅 呵呵O(∩_∩)O~)
com.dao包
UserDao.java
UserDaoImp.java
com.service包
ServiceDao.java
ServiceDaoImp.java
com.test.struts.action
LoginAction.java
com.test.struts.form
LoginForm.java
com.vo包
User.java
User.hbm.xml
/WEB-INF/
applicationContext.xml
struts-config.xml
login.jsp
数据库只有三个字段
id username password
上面为源程序
中途遇到很多错误比较重要的在此解释一下
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
第二种:
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
</plug-in>
- 15:20:54,093 ERROR ContextLoader:203 - Context initialization failed
- org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'SessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
- Caused by:
- java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)
网友的解决方法:
从出错的字面看,肯定与org.objectweb.asm包有关,于是我就检查lib下面关于asm的包,分别有如下几个JAR包:
asm-2.2.3.jar
asm.jar
asm-attrs.jar
asm-commons-2.2.3.jar
asm-util-2.2.3.jar(这几个包在tomcat的webapps目录里面)
然后怀疑是asm-2.2.3.jar与asm.jar可能有嫌疑,于是分别去掉他们,最后,去掉asm-2.2.3.jar成功启动.
呵呵,其实,这些微不足道的小错误需要一个细心的心来发现,我在google上找了半天也没有成型的结果 ,反而让我觉得这是一个很新的问题.其实,关键是自己要细心,不要太依赖网络带给你的答案.
通过多次的测试,在使用myeclise5.5.GA时,如果你选用spring1.2,hibernate3.2和JSF1.1时,一般会顺利的配置成功.如果项目不要求指定版本的框架时,请使用如上组合,能够快速的解决你很多意想不到的错误和版本冲突.
我的途径:
去掉asm-2.2.3.jar,果然成功。
包不能多加 容易产生冲突。