[计算机软件及应用]Struts12+spring+hibernate 在MyEclipse66中的架设、应用和开发.doc

上传人:音乐台 文档编号:1991708 上传时间:2019-01-29 格式:DOC 页数:30 大小:891KB
返回 下载 相关 举报
[计算机软件及应用]Struts12+spring+hibernate 在MyEclipse66中的架设、应用和开发.doc_第1页
第1页 / 共30页
[计算机软件及应用]Struts12+spring+hibernate 在MyEclipse66中的架设、应用和开发.doc_第2页
第2页 / 共30页
[计算机软件及应用]Struts12+spring+hibernate 在MyEclipse66中的架设、应用和开发.doc_第3页
第3页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[计算机软件及应用]Struts12+spring+hibernate 在MyEclipse66中的架设、应用和开发.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]Struts12+spring+hibernate 在MyEclipse66中的架设、应用和开发.doc(30页珍藏版)》请在三一文库上搜索。

1、Struts + spring + hibernate在MyEclipse6.6.中的架设、应用和开发 鞍钢自动化信息产业公司Struts1.2+spring+hibernate 在MyEclipse6.6中的架设、应用和开发鞍钢自动化信息产业公司 屈松涛2010-10-01一、 MyEclipse6.6下架设Struts,spring,hibernate第一步:创建web项目File-new-web project第二步:导入struts包1 在项目根上右键-MyEclipse-add struts capabilities 如图2-1图 2-12 弹出如图2-2所示窗口,其中base pa

2、ckage for new classes这项可以自己定义,定义struts的class文件所存放的目录,一般是com.*.struts结构,其他都采用默认设置,点击finish按钮,完成导入.图2-2第三步:导入spring包1在项目根上右键-MyEclipse-add sping capabilities 如图3-1图3-12 弹出窗口如图3-2,引入spring AOP 库, spring核心库, spring Persistence 核心库, spring JDBC 库, spring web库这5个外部library.同时JAR Library Installation选中第二项,将

3、所用到的外部库拷贝到/WebRoot/WEB-INF/lib下.点击next按钮.3 弹出窗口如图3-3,folder的路径重新选择,把applicationContext.xml放在/WebRoot/WEB-INF下,file属性使用默认名applicationContext.xml,点击ok按钮,再点击finish按钮完成导入.图3-3第四步:导入hibernate包1在项目根上右键-MyEclipse-add hibernate capabilities 如图4-1图4-12 弹出窗口入图4-2,这里只引入hibernate 3.2 核心包, 同时JAR Library Installa

4、tion选中第二项,将所用到的外部库拷贝到/WebRoot/WEB-INF/lib下.点击next按钮.图4-23 弹出窗口如图4-3,默认设置,让hibernate管理数据连接,点击next按钮,图4-34 弹出窗口如图4-4,设置SessionFactory Id为sessionFactory,MyEclipse8以上这项是默认的sessionFactory,MyEclipse6.6要手动设置,为了避免不必要的代码修改,这里设置成sessionFactory最佳,点击next按钮.图4-45 弹出窗口如图4-5,在DB Driver下拉列表中选择配置好的JDBC数据源,系统自动带出此数据源

5、的一系列属性,点击next按钮.图4-56 弹出窗口如图4-6,取消Create SessionFactory class,点击finish按钮完成导入.图4-6Bug修正:在referenced Libraries中,找到asm-2.2.3.jar 右键-Build Path-Remove from Build Path,最后在/WebRoot/WEB-INF/lib下将asm-2.3.3.jar删除.这是重复包,在服务器启动时会报sessionFactory错误.配置完后正确的显示如下:二、 配置struts-config.xml和applicationContext.xml第一步:配置s

6、truts-config.xmlContextLoaderPluginContextLoaderPlugin 是 Struts 1.1+ 的插件,用来为 Struts 的 ActionServlet 加载 Spring context文件。要配置这个插件,请把下面的 XML 贴到 struts-config.xml 文件中 plug-ins 部分的底端: DelegatingRequestProcessor为了在 struts-config.xml 文件中配置 DelegatingRequestProcessor,你需要重载 元素的processorClass属性。 下面的几行应该放在 元素的

7、后面。 配置完成的代码如下:struts-config.xml!-controller增加这些设置之后,不管你查询任何类型的 Action,Sping都自动在它的context配置文件中寻找。 实际上,你甚至不需要指定类型。下面两个代码片断都可以工作: 如果你使用 Struts 的 modules 特性,你的 bean 命名必须含有 module 的前缀。 举个例子,如果一个 Action 的定义为 ,而且它的 module 前缀为“admin”, 那么它应该对应名为 的 bean。 -!- 在 struts-config.xml 中配置好插件以后,你可以配置Sping来管理 Action。S

8、pring提供下面两种方式: 1 用 Spring 的DelegatingRequestProcessor重载 Struts 默认的 RequestProcessor 。 2 将 的 type 属性设为 DelegatingActionProxy。 -第二步:配置applicationContext.xml首先修改applicationContext.xml内容的头文件,MyEclipse6.6没有集成spring-aop-2.5.xsd和spring-tx-2.5.xsd,所以即使文件头定义正确了,还是会在代码块中报错,修改XML配置方法如下图:Windows-preferences-MyE

9、clipse enterprise workbench-file and editors-xml-xml catalog点击add按钮,location选择file system,将spring-aop-2.5.xsd和spring-tx-2.5.xsd导入即可(两文件需要预先下载).设置好后头文件中内容如下:三步完成applicationContext.xml的基本配置(代码固定写死)1 配置事务 2 定义通知 3 AOP配置 在applicationContext.xml中添加上三段代码,完成工作,需要的变动的是AOP配置中的中的com.mybaby.service根据service的路径

10、不同而不同三、应用和开发举例操作系统:windows XP 数据库:DB2 V9.1 windows版 开发工具:MyEclipse6.6Java版本:JDK5.0 插件版本:Struts1.2 + spring2.5 + hibernate3.2Web服务器:tomcat6所用到的表:QST_JAVA_EMPLOYEE(员工),QST_JAVA_DEPARTMENT(部门),一对多关系.1项目的src下原基础上,新建4个包dao,pojo,service,action,如下图2hibernate反生成pojo,dao和*.hbm.xml打开MyEclipse的DB Browser,连接数据,

11、找到对应的表,右键-hibernate reverse engineering,弹出如下:点击next按钮,弹出如下:点击next按钮,弹出如下,选择对应关系include reference tables,将两个表的对应关系反应出来,点击finish按钮完成:此时系统自动在applicationContext.xml中生成两个表的bean代码块,同时在pojo包下自动生成4个Java文件,2个xml文件,手动将*DAO.java放入dao包中 3 打开struts-config.xml,在design面板,新建form,如下弹出窗口,如下,选择Dynamic FormBean,定义名为for

12、mBean1,同时加入3个参数,参数名必须与QstJavaDepartment.java中定义的属性名一致同时设置自动生成jsp页面,定义为depa.jsp,设置如下:点击finish按钮完成:struts-config.xml中自动增加如下代码. 同时在WebRoot下自动增加depa.jsp4 统一页面字符集 Com.mybaby.struts下新建一个类,命名MyServlet,继承ActionServlet,内如下:点击finish按钮,然后重写process方法,设置字符集为UTF-8Overrideprotected void process(HttpServletRequest

13、request,HttpServletResponse response) throws IOException, ServletException request.setCharacterEncoding(UTF-8);super.process(request, response);同时在web.xml文件中修改org.apache.struts.action.ActionServlet为:com.mybaby.struts.MyServlet完成字符集统一.5 编辑depa.jsp,修改form表单action为:6 在struts-config.xml的design面板新建action

14、,如下所示:弹出窗口:Path栏,名称必须与depa.jsp中提交的action名字一致,action类存放为com.mybaby.struts.action包下的SaveDepaAction类,系统会自动创建该类.点击finish按钮.打开struts-config.xml代码区,可以看到新建的action: 将type=com.mybaby.struts.action.SaveDepaAction这段属性删去,再添加forward,成功后转向ok.jsp,再新建ok.jsp响应页面 7 在com.mybaby.servicer包下,新建类depaService,定义两个私有属性QstJav

15、aDepartmentDAO类型的depaDAO, QstJavaEmployeeDAO类型的empDAO,生成两者的set/get方法 ,增加一公有方法addDepartment,用来保存部门,代码如下:package com.mybaby.service;import com.mybaby.dao.QstJavaDepartmentDAO;import com.mybaby.dao.QstJavaEmployeeDAO;import com.mybaby.pojo.QstJavaDepartment;public class depaService private QstJavaDepar

16、tmentDAO depaDAO;private QstJavaEmployeeDAO empDAO;public QstJavaDepartmentDAO getDepaDAO() return depaDAO;public void setDepaDAO(QstJavaDepartmentDAO depaDAO) this.depaDAO = depaDAO;public QstJavaEmployeeDAO getEmpDAO() return empDAO;public void setEmpDAO(QstJavaEmployeeDAO empDAO) this.empDAO = em

17、pDAO;public void addDepartment(QstJavaDepartment depa) / 保存部门信息depaDAO.save(depa);8 对action类进行修改,引入service对象,生成其set/get方法,代码如下,完成数据存入.package com.mybaby.struts.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;imp

18、ort org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.action.DynaActionForm;import com.mybaby.pojo.QstJavaDepartment;import com.mybaby.service.depaService;public class SaveDepaAction extends Action

19、 private depaService depaservice;public depaService getDepaservice() return depaservice;public void setDepaservice(depaService depaservice) this.depaservice = depaservice;public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) Dyn

20、aActionForm formBean1 = (DynaActionForm) form;/ TODO Auto-generated method stubQstJavaDepartment department = new QstJavaDepartment();department.setDepaid(java.lang.Long)formBean1.get(depaid);department.setAddress(formBean1.getString(address);department.setDepaname(formBean1.getString(depaname);depa

21、service.addDepartment(department);return mapping.findForward(success);9 最后修改applicationContext.xml,关联service和action配置service,其中的name属性的取值为com.mybaby.service.depaService类中的私有属性配置action,其中name属性的取值为com.mybaby.struts.action.SaveDepaAction类中定义的service名,不可随意定义,ref属性的取值为此配置的service的id.这样就把action-service-dao关联起来了10 发布项目,启动tomcat服务器,测试提交后,成功跳转到ok页面,查询数据库,操作成功:2010-10-01 编制:屈松涛

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1