S2SH框架整合.docx

上传人:b****5 文档编号:7675282 上传时间:2023-01-25 格式:DOCX 页数:15 大小:544.29KB
下载 相关 举报
S2SH框架整合.docx_第1页
第1页 / 共15页
S2SH框架整合.docx_第2页
第2页 / 共15页
S2SH框架整合.docx_第3页
第3页 / 共15页
S2SH框架整合.docx_第4页
第4页 / 共15页
S2SH框架整合.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

S2SH框架整合.docx

《S2SH框架整合.docx》由会员分享,可在线阅读,更多相关《S2SH框架整合.docx(15页珍藏版)》请在冰豆网上搜索。

S2SH框架整合.docx

S2SH框架整合

S2SH框架整合

一、首先建立工程MyS2SH,其目录如下图所示:

二、添加SpringCapabilities。

注意:

最好选择Copychecked选项,这样对包的管理比较好。

选择合适的路径,放置applicationContext.xml包。

选择Finish按钮,完成Spring的添加。

org.springframework.web.context.ContextLoaderListener

contextConfigLocation/WEB-INF/classes/applicationContext*.xml

三、添加Hibernate

同样,将Hibernate包交由WEB-INF/lib管理。

将Hibernate配置交由Spring管理。

选择一个DataSource。

此时,会抛出两个异常。

(mons.dbcp.BasicDataSource、org.springframework.orm.hibernate3.LocalSessionFactoryBean)

其中,mons.dbcp.BasicDataSource抛出了异常,

这是由于少包(commons-dbcp-1.4.jar、commons-pool-1.5.5.jar)的缘故,

其中,org.springframework.orm.hibernate3.LocalSessionFactoryBean

AddLibrary

四、添加Struts2。

虽然,加入了Struts2框架,但是我们仍然将Struts和Spring整合,整合步骤如下:

1、加入Struts2-Spring-plugin-2.1.8.1.jar

五、出现的异常解决:

1、NoSuchMethodError:

antlr.collections.AST.getLine()

产生这一问题的原因在于Struts2和Hibernate共存时有两个名为“antlr-2.7.2.jar”和“antlr-2.7.6.jar”的文件因为版本问题导致冲突,Struts2用的是低版本,Hibernate必须用高版本。

好在Struts2也能使用高版本的“antlr-2.7.6.jar”文件,因此我们需要在Struts2中把低版本的文件移除掉。

在“UsersCenter”项目里面的“Struts2CoreLibraries”上点击鼠标右键,选择弹出菜单中的“BuildPath”->“RemovefromBuildPath”,将现有使用的Struts2库文件从项目中移除。

把Struts2的库文件从项目中去掉之后,UsersCenter项目马上出现了若干个错误,这是正常的现象,等一会儿我们再把正确的Struts2库文件加回去,错误提示就会消失

点击MyEclipse的主菜单“Window”->“Preferences”,在出现的窗体左侧选择“MyEclipse”->“ProjectCapabilities”->“Struts2”,并选中右侧下拉框中的“Struts2CoreLibraries”。

鼠标点击选中库文件列表中的“antlr-2.7.2.jar”项,然后点击“Remove”将其删除(当然,如果你一不小心删除了的话,可以点击窗体右下角的“RestoreDefaults”来还原,再次删掉antlr-2.7.2.jar即可),然后点击“Apply”按钮以使修改生效,最后点击“OK”按钮关闭即可。

接下来在项目“UsersCenter”上点击鼠标右键,选择弹出菜单中的“BuildPath”->“AddLibraries”。

选中“MyEclipseLibraries”项。

在下面的窗体中,找到“Struts2CoreLibraries”并勾选它,点击“Finish”按钮结束添加以前移除的Struts2库

经过上面的步骤,UsersCenter项目中的“Struts2CoreLibraries”文件列表中就没有了“antlr-2.7.2.jar”项。

别着急运行项目,正是因为前面我们运行过一次项目,导致Tomcat下面已经存在“antlr-2.7.2.jar”文件,尽管重新设置过项目中用到的Struts2核心库文件,但自动发布到Tomcat目录下面的这个低版本的文件还在,需要我们手工进行删除。

在MyEclipse中,找到下面的“Servers”视图,鼠标右键点击“UsersCenter”项,选择弹出菜单中的“Removedeployment”

好了,现在运行应该是没有问题的。

2、Illegalaccess:

thiswebapplicationinstancehasbeenstoppedalready.Couldnotload.BindException.java.lang.IllegalStateException

原因是因为在tomcat重启的时候,因为之前的tomcat中的线程还没有完全关闭,新启动tomcat就会报这个异常。

解决办法一:

把tomcat的server.xml 中对应的reloadable="true" 改成false

解决方法二:

将WEBROOT/WEB-INF/lib文件夹中的mysql-connector-java-5.1.13-bin.jar包删掉,因为%TOMCAT_HOME%/WEB-INF/lib文件夹已经有了。

3、java.lang.ClassNotFoundException:

 org.springframework.web.context.ContextLoaderListener

这种错误意思很明确:

找不到“org.springframework.web.context.ContextLoaderListener”这个类,ContextLoaderListener这个类是在spring-web.jar包下,我仔细检查了项目jar环境,发现该jar包确实存在,而且也能找到编译后的ContextLoaderListener.class文件。

 

测试:

Login.jsp

用户名:


密码:


Succ.jsp

登录成功!

propertyvalue="userAction.username"/>

LoginAction.java

publicclassLoginActionextendsActionSupport{

privateStringusername;

privateStringpassword;

privateUserDAOuserDAO;

/*省略了getter和setter方法*/

publicStringexecute()throwsException{

System.out.println("username:

"+username+",password:

"+password);

booleanb=userDAO.login(username,password);

if(b)

returnSUCCESS;

else

return"fail";

}

}

Struts.xml

—将Struts2的Action交由Spring处理,这里的class只要写上beanid即可-->

/succ.jsp

/index.jsp

ApplicationContext.xml

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1