收藏 分享(赏)

MyEclipse整合SSH2步骤、配置文件及示例开发流程.docx

上传人:fmgc7290 文档编号:7399235 上传时间:2019-05-16 格式:DOCX 页数:13 大小:1.58MB
下载 相关 举报
MyEclipse整合SSH2步骤、配置文件及示例开发流程.docx_第1页
第1页 / 共13页
MyEclipse整合SSH2步骤、配置文件及示例开发流程.docx_第2页
第2页 / 共13页
MyEclipse整合SSH2步骤、配置文件及示例开发流程.docx_第3页
第3页 / 共13页
MyEclipse整合SSH2步骤、配置文件及示例开发流程.docx_第4页
第4页 / 共13页
MyEclipse整合SSH2步骤、配置文件及示例开发流程.docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、MyEclipse 整 合 SSH2( Struts2+Spring+Hibernate) 框 架1. 开发环境本文开发环境为 MyEclipse6.5 和 Struts 2.3.4,Spring 和 Hibernate 使用 MyEclipse 内置的版本。注意下载 Struts 时,要下载完全版 Full Distribution,该版中包括样例“空工程”struts2-blank-2.2.1.war(在apps 目录下) ,这个文件中有我们快速开发可以套用的各种文件。附注:war 文件是部署 Web 应用系统时用的压缩文件格式,但是也可以使用 RAR 等程序解压。2. 建立 Web 工程

2、(选择 Java EE 5.0)并导入 Struts 支持包在“空工程”的 WEB-INFlib 目录下赋值 Struts 的 jar 包,下面是支持 Struts 所需要的最简化的 jar 包,它们是:commons-fileupload-1.2.1.jarcommons-io-1.3.2.jarcommons-lang3-3.1.jarfreemarker-2.3.16.jarjavassist-3.7.ga.jarognl-3.0.jarstruts-core-2.2.1.jarxwork-core-2.2.1.jar3. 设置全局配置 xml 文件以支持 Struts 过滤器在系统中加

3、入 Struts 支持,实际上就是要在系统中增加一个 Struts“过滤器(filter) ”;所有的文件,在以页面形式展示到用户的浏览器之前,先要通过该过滤器“过滤” (即处理)一遍,这样给了 Struts 控制模块一个处理页面中特有的 Struts 标签的机会;也就是说,后台程序可以将这些 Struts 标签“翻译” 成为相关的数据并处理后,才将生成的页面提交给终端用户。在系统中添加 Struts“过滤器”的方法,是设置系统的全局配置文件 web.xml,该文件在工程的树形结构中位于 WebRoot/WEB-INF 目录下。在web.xml 文件中加入以下代码:struts2 org.ap

4、ache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*4. 设计一个简单的 Struts2 系统,测试 Struts2 是否已加载。5. 为工程添加 Spring 支持在工程名上点鼠标右键并选择“MyEclipse”“Add Spring Capabilities”。为简单起见,因为系统内置的 Spring 支持是 2.5 版本的,我们选中所有 2.5 版的 Spring 包,并选择“拷贝支持包到 lib 目录” 。另特别注意:(1)将 Spring 的配置文件 applicationContext.xm

5、l 放到 WEB-INF/目录下(而不是缺省的 src 目录) ;(2)重要:web.xml 中增加一个 listener:ContextLoaderListener; 即在 web.xml 中加入以下代码:org.springframework.web.context.ContextLoaderListener 这样使得我们可以方便的获取当前程序的运行上下文,从而得到 DAO 对象以操纵数据库。6 配置数据源在 MyEclipse 右上角选择 MyEclipse Database Explorer,打开数据库管理视图。在左侧的 DB Browser 点击右键,选择 New,打开 Databa

6、se Driver 对话框。在 Database Driver 对话框中按照如下配置选择数据库驱动。首先选择Driver Template,在这里我们选择 MySQL。Driver Name 是以后配置时使用的驱动名字,用以区分驱动,这里使用 MySQL 即可。然后根据实际情况填写URL,User name 和 Password。点击 Add JARs 添加数据库驱动文件。为方便配置,可以选择 Save password 保存密码。配置完毕后 Finish 即可。7. 添加 Hiberbate 支持和添加 Spring 支持的步骤类似,我们为工程添加 Hibernate 支持。1)同样选择将

7、Hibernate 的支持包拷贝到 lib 目录下;2)在“配置文件” 选项中,选择使用已有的 Spring 配置文件(即上一步中的 WEB-INF/applicationContext.xml) 。在对话框中选择Spring configuration file,表示我们希望将Hibernate托管给 Spring进行管理,这是将Hibernate与Spring进行整合的基础。然后点击Next;在出现的对话框中选择Existing Spring configuration file。因为我们已经添加了Spring的配置文件,所以这里选择的是已存在的配置文件。MyEclipse会自动找到存在的

8、那个文件。然后在SessionFactory ID中输入Hibernate的SessionFactory在Spring配置文件中的Bean ID的名字(这个bean id即是在Spring的配置文件applicationContext.xml中定义的SessionFactory类的对象实体) ,这里我们输入sessionFactory(applicationContext.xml中的对象名)即可。然后点击Next;3)然后,设定我们要使用的数据库在出现的对话框中的Bean Id里面输入数据源在Spring中的Bean ID的名字,这里我们输入dataSource。然后在DB Driver里面选

9、择我们刚刚配置好的ssh,MyEclipse会将其余的信息自动填写到表格里面。然后点击Next; 在出现的对话框中取消Create SessionFactory class。点击Finish即可。此时MyEclipse会自动打开Spring的配置文件,文件内容为:到这里,我们整个项目的框架就算初步成形了4)建立表-对象映射关系此时,切换到 MyEclipse DataBase Explorer 视图,右键打开数据库连接,在需要使用的数据表格上面点击右键,选择 Hibernate Reverse Engineering.。这里我们使用刚刚建立在 test 数据库中添加的 user 表。在打开的对

10、话框中修改Java src folder为我们建立的/ssh/src,这里需要选择到src文件夹,并且需要填写Java package,这是MyEclipse生成的类所在的包,我们将其取名为user。然后选择Java Data Object,建立POJO类。然后选择Java Data Access Object。其中,POJO类是数据库表格所对应的Java类,JDO类是MyEclipse自动生成的对数据库的一些操作。这里会封装一些常用的操作,简化我们的编写。填写完成后点击Next。在出现的对话框中选择ID Generator为native,然后点击Finish即可。此时ssh项目的目录结构如下

11、所示。其中的User.Java是MyEclipse生成的使用面向对象的Java语言对数据库表格进行的抽象,User.hbm.xml是将数据库表格中的字段和POJO类的属性进行映射的定义,UserDAO.java封装了一些MyEclipse自动生成的对数据库的操作。 struts2+spring+hibernate 整合的一些配置文件三大框架整合完后,此时,各个配置文件中的内容如下:web.xmlindex.jspstruts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*org.sp

12、ringframework.web.context.ContextLoaderListener applicationContext.xmlorg.hibernate.dialect.MySQLDialecthibernate/User.hbm.xmlstruts.xml(要放在 src 根目录下)/index.jsp S2SH 的项目开发整合完三大框架后,就可以按项目需求进行真正的项目开发过程了。这里以“注册用户”为例,做一个简单的用户在前台注册,后台把用户信息存入数据库的小示例。其他复杂的例子跟此例步骤类似。register.jsp注册用户名密码action/RegisterAction.

13、javapackage action;import java.util.ArrayList;import java.util.List;import org.apache.struts2.ServletActionContext;import hibernate.User;import hibernate.UserDAO;import com.opensymphony.xwork2.Action;public class RegisterAction implements Action private UserDAO userDao;List userList;public String ex

14、ecute() throws Exception / TODO Auto-generated method stub/*插入用户到数据库*/String name = ServletActionContext.getRequest().getParameter(“username“);String password = ServletActionContext.getRequest().getParameter(“password“);System.out.println(name+“t“+password);User user = new User(name,password);userDa

15、o.save(user);/*返回当前数据库中所有用户*/userList = new ArrayList();userList = userDao.findAll();return SUCCESS;public UserDAO getUserDao() return userDao;public void setUserDao(UserDAO userDao) this.userDao = userDao;public List getUserList() return userList;public void setUserList(List userList) this.userList

16、 = userList;applicationContext.xml 配置文件(bean 配置文件)加上以下语句:struts.xml 配置文件加上以下语句(在 package 中):/index.jsp 运行结果:http:/localhost:8080/s2sh/register.jsp点击”注册”按钮用户的信息入数据库注册成功,返回 index.jsp 页面。当然,在运行时会有些小错误,下面列举常见错误及解决方法:1. java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String

17、;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V解决方法:您可以仔细研究 Console 控制台中显示的异常信息,但是,我可以告诉你一个简单得多的经验:这个错误本来不应该发生!出错的原因是你添加的各种支持里面所包含的 JAR 包有重复的,并且版本不一致!展开“Package Explorer”中的“Referenced Libraries”,可以看到工程中所引用的所有 JAR 包;现在知道为什么在前面的步骤中要将支持的 JAR 包拷贝到同一个 lib 目录下面了吧:起码我们检查重复 JAR 包的时候方便多了。 仔细检查后可以发现

18、,“asm-2.2.3.jar”和“asm.jar”是重复的;我们要删除这两对中的前者,方法是:在要删除的包上面点击鼠标右键并选择“Build Path”“Remove From Build Path” ,然后在工程文件中该包所属的文件中找到该 jar 包,把它也从工程文件中删除,这样就可以删除了。 再运行一下试试,如果还不行,彻底地清空一下已经发布的文件了。2. Action class registerAction not found - action - file:/F:/MyeclipseWorkspace/.metadata/.plugins/com.genuitec.eclipse

19、.easie.tomcat.myeclipse/tomcat/webapps/testssh/WEB-INF/classes/struts.xml:9:56解决方法:判断你的项目是否缺少 jar 包:struts2-spring-plugin-2.0.11.1.jar、commons-fileupload-1.2.1.jar 和 commons-io-1.3.2.jar。这个问题一般是缺少包 struts2-spring-plugin-2.0.11.1.jar,加上即可。3. HTTP Status 404 - There is no Action mapped for namespace / and action name registerAction associated with context path /testssh.解决方法:struts.xml 中配置 action路径的映射有问题,这里看看是不是这个注意,是extends=“struts-default“,而不是extends= “json-default“,如果要写json,必须在工程中加入json插件的jar 包。

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报