




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
运用Struts框架实现系统的MVC三层系统的设计实现,主要就是运用了基于jstl标准的struts标签的jsp,统一的ActionServlet,以及复杂的业务逻辑处理和DB处理。通过Hibernate通过java的reflection技术通过db Xml配置以及增删改查等sql操作的封装接口来实现持久化数据的处理,能大大地简化开发时间。Spring通过控制反转技术,使系统技术框架实现松耦合,而且框架还实现了在事物处理上的封装等,使开发人员能够编写更干净、更可管理、并且更易于测试的代码。使用Eclipse以及相关插件,能迅捷的实现基于Struts-Spring-Hibernate框架的系统开发。1 基本软件:Struts_lib:本例使用的是strtus1.2版,包括jar包以及tld文件。Hibernate:本例使用的是hibernate3Spring Lib:本例使用的是1.29版Eclipse:本例使用的是3.01版,带Lomboz Web开发插件 以及 Hibernate Synchronizer插件Mysql5.01数据库Tomcat5.0.28JDK62 本例中数据库实例用的是test数据库,用户名root,密码1234本例中创建了三张数据表:分别是class_info+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| id | int(11) | NO | PRI | NULL | auto_increment | name | varchar(20) | YES | | NULL | | teacher | varchar(20) | YES | | NULL | |+-+-+-+-+-+-+students+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| seq_id | int(11) | NO | PRI | NULL | auto_increment | name | varchar(20) | YES | | NULL | | gender | varchar(10) | YES | | NULL | | gradeinfo | varchar(20) | YES | | NULL | |+-+-+-+-+-+-+classinfo_students+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| classid | int(11) | NO | PRI | NULL | | studentid | int(11) | NO | PRI | NULL | |+-+-+-+-+-+-+该表中给classid建立外键关联到class_info表的id字段该表中给studentid建立外键关联到students表的seq_id字段3 安装JDK,在系统环境中设置好JAVA_HOME的路径,以及把%JAVA_HOME%bin目录设置到path中在系统环境中设置好CATALINA_HOME以及TOMCAT_HOME,均指到Tomcat5.0.28的目录。4 在Eclipse中设置JDK,“windowpreferenceJavaComplier”在其中的Complie Compliance level选择5.0在“windowpreferenceJavaInstalled JREs”中add JDK的名称以及目录不要选您安装的JRE在“windowpreferenceServerInstalled Runtimes”中Add Server Runtime for Tomcat5.0在“windowpreferenceTomcat”中设置Tomcat的Home等相关Tomcat的配置。5 新建Web工程:“FileNewProjecWebJ2EE Web Project”,选择Next进入以下界面生成新的工程后,Open Java Perspective同时copy spring hibernate struts_lib下的jar包到web-inf目录的lib中,再将struts_lib下的tld文件copy到到web-inf目录下在工程中选择lib下的所有jar,点击鼠标右键,然后按下图操作这样就设置好了工程的class环境了。6 Spring + Hibernate的设置使用选定工程,然后“FileNewOtherHibernateHibernate Configuration File”,选择next进入下个页面输入密码后点击 Finish,在工程主目录下会生成一个hibernate.cfg.xml文件: jdbc:mysql:/localhost:3306/testcom.mysql.jdbc.Driverroot1234 org.hibernate.dialect.MySQLDialect false org.hibernate.transaction.JDBCTransactionFactory 然后再选择“FileNewOtherHibernateHibernate Configuration File”,点击next进入下页面,在页面中输入密码,然后再“refresh”一下,显示table的信息,然后选择class_info,再在package中如图设置,具体设置参考下图即可。在该页面点击properties进入properties页面,在该页面中设置ID Generator为native,native的意思是按设置使用的数据库来自动处理,如果是mysql,db2,sqlserver等自增的主键自动按“identity”处理,其它还有sequence啊等等,这里用的mysql,所以也可以设置成identity。另外选上“Generate Sets to .”和“Use Lazy Loading”。点击finish,会在主目录下生成ClassInfo.hbm.xml文件,将该文件copy到“.classmgrbiz.dao” Package下。然后选定该XML文件,点击右键,选择“Hinernate SynchronizerSynchronize Files”,这样会在“.classmgrbiz.dao” Package下自动生成ClassInfo类以及在该包下生成一个base包,在该包中生成BaseClassInfo类,这两个类是自动生成,其实可以完全合并。主要的类的定义在BaseClassInfo中,其中的一些基于Hibernate的Annotation全部自动生成好了,基本不用修改按照以上例子生成Students相关的hbm文件和Bean文件。然后生成DAO(数据库访问处理)I.classmgrbiz.dao. IClassInfoDAO.classmgrbiz.dao. IStudentsDAO以及上面接口的implements class:.classmgrbiz.dao. ClassInfoDAO.classmgrbiz.dao. StudentsDAO根据示例程序生成相关Dao的代码,代码很简单,除了特殊的需要使用到复杂查询以及联合查询的,需要自己按照HQL语法或者通常SQL语法操作执行外,其他基本一样,非常简单。另外再生成BizMgr(业务逻辑处理)I.classmgrbiz.IClassSelectBizMgr以及上面接口的implements class:.classmgrbiz.ClassSelectBizMgr业务处理会涉及对多个DAO的处理,在该BizMgr类中设置这些DAO接口成员对象以及对这些成员对象的set方法。根据示例程序生成相关BizMgr的代码。代码主要涉及对DAO接口的调用处理,实现代码也非常的简洁简单,由于要使用spring框架来处理,所以这里也根本不必太考虑事务,只是要求把要求同一事物处理的操作放在BizMgr的同一个方法中即可。生成以上数据Bean/Dao/BizMgr的类以后,可以使用spring来配置,例如“.classmgrbiz”下的spring.xml文件com.mysql.jdbc.Driverjdbc:mysql:/localhost:3306/testroot1234org.hibernate.dialect.MySQLDialecttruecom/kongfz/test/biz/classmgrbiz/dao/ClassInfo.hbm.xmlcom/kongfz/test/biz/classmgrbiz/dao/Students.hbm.xml *BizMgr interceptor 然后再写一个测试的class,例如示例程序中的.classmgrbiz.Mytes在Main方法中可以测试任何一个BizMgr的接口。7 Struts的使用首先设置生成的web工程下的web.xml文件,例如:myTestWeb01 com.kongfz.test.util.ApplicationListener action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config.xml debug 2 2 action *.do logon.jsp /WEB-INF/struts-bean.tld /WEB-INF/struts-bean.tld /WEB-INF/struts-html.tld /WEB-INF/struts-html.tld /WEB-INF/struts-logic.tld /WEB-INF/struts-logic.tld 然后再生成com.kongfz.test.action. LogonForm extends ActionForm以及com.kongfz.test.action. ClassForm extends ActionForm,其中的类属性成员名全部是原型页面中Form表单的输入项(input,select)标签的name属性名字,这命名必须一致,然后每个属性必须按照通用规则生成相应的set/get方法。再生成com.kongfz.test.action. LogonAction extends DispatchAction以及com.kongfz.test.action.ClassManagerAction extends DispatchAction,其中ClassManagerAction中因为涉及处理业务逻辑,所以需要定义一个IclassSelectBizMgr接口对象,以及该对象的set方法,具体实现参照示例程序。以上一切OK后,在web-inf中添加strtus-config.xml,具体如下: 然后再定义beans.xml,其实该xml的内容跟上面所说的spring的配置相同,主要是增加了一个的配置,如下:最好上述配置后,开始写使用了struts标签的jsp文件,在jsp文件要使用struts标签,必须加入如下代码:或或您的jsp中使用到那种tag就必须加入那种tld的引用.Strtus中最长用的有 html codehtml code具体示例可以参照示例代码。8 编译,调试一般Eclipse在“Pro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品技术合作开发合同书
- 冷链物流速冻加工项目规划设计方案(范文模板)
- 数学建模与应用建模实践练习题集
- 乡村健康食品生产与供应链优化
- 那个让我难忘的陌生人写人作文(10篇)
- 农民互助性农业生产管理合同
- 电力电子技术应用实践题
- 增强平台竞争力与市场领导力的路径
- 市场营销消费者行为知识考点详解
- 历史文物保护与现代科技融合应用知识要点题
- 仪器仪表制造职业技能竞赛理论题库
- 网络服务器配置与管理(微课版) 教案 项目02 虚拟化技术和VMware-2
- 税收分析试题及答案
- 2025年西式面点师(中级)面包烘焙实操考试试卷
- 回迁楼房买卖合同协议书
- 新课程理念下语文课堂教学体系重建
- 从技术革新到应用拓展:高效便捷三维人体重建的多维探索
- 2025年湖南省中考数学模拟试卷(二)
- 国家开放大学2025年《创业基础》形考任务3答案
- 广东省大湾区2025届普通高中毕业年级联合模拟考试(二)化学(含答案)
- 电大《组织行为学》期末题库及答案
评论
0/150
提交评论