1、7、开发Service层(1)新建Service层接口。(2)新建Service层实现类,该类中需要声明所调用DAO层接口,并生其setter方法。(3)在Spring配置文件中增加该Service层实现类的定义,并需要依赖注入DAO层的bean。8、实现WEB层(1)在web.xml中增加struts2的过滤器和Spring的监听器。(2)增加Spring和Struts2的整合文件struts.properties。(3)新建所需的jsp文件。(4)新建Action类,该类要继承ActionSupport,同时该类要依赖注入Service的bean(声明+setter方法)。(5)在Spri
2、ng配置文件中增加该Action类的定义,并注入Service层的bean。(6)在struts.xml中增加该Action的定义,其中class的属性是在Spring中定义的该Action bean的id。9、部署运行实验步骤:1、建库、建表建立数据库xscj,建立xsb、dlb、zyb、kcb、cjb等。学生信息表:xsb列名描述数据类型可空默认值说明XH学号Char(6)无主键XM姓名Char(8)XB性别bit1:男,0:女CSSJ出生时间datetimeZY_ID专业IDintZXF总学分BZ备注Varchar(200)ZP照片mediumblob登录表:dlbid标识自增1主键,自
3、增xh登录号char(6)外键,xsb中xhkl口令char(20)专业表:zybIDzym专业名char(12)rs人数fdy辅导员char(8)课程表:kcbkch课程号Char(3)否kcm课程名Char(12)是kxxq开课学期smallint1-8xs学时xf学分连接表:xs_kcbchar(3)成绩表:cjbXhKchCj成绩2、设计系统架构利用分层架构模式,设计系统架构,系统可分为表示层、业务逻辑层和数据持久层。如下图所示:建立相应package。(1)定义User Library(2)增加Spring开发能力(添加jar包使用User Library,新建application
4、Context.xml)注:可以不增加User Library,直接把需要的jar包拷贝到classpath下。4、实现Hibernate持久层(1)添加Hibernate开发能力添加jar包:如果第一步中已增加,此步可以省略。注意:需要把Hibernate交由Spring来管理,其中包括在Spring中配置“dataSource”和“sessionFactory”(2)通过MyEclipse中Hibernate 反向工程,分别生成表对应的POJO类及相应的映射文件。所有的POJO类和映射文件(*.hbm.xml)放在org.model这个package下。难点1:xsb(学生表)的映射文件中
5、需要设置和专业的多对一关系,参考代码如下:!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/ENhibernate-mapping generator class=assigned/idproperty name=xmXM50/propertyxbjava.lang.ByteXBcssjjava.util.DateCSSJ23zxfjava.lang.IntegerZXFbzBZ500zpZPmany-to-one name=zyb class=org.model.Zyb fetch=select l
6、azy=falseZY_ID/many-to-one/class/hibernate-mapping难点2:成绩表(cjb)中需要配置复合主键,因为成绩表中的主键是由xh和kch组成,参考代码如下:- Mapping by MyEclipse Persistence Tools-org.model.CjbCJB- 复合主键配置 其中两个key-property,分别对应两个主键-composite-id name=idorg.model.CjbIdkey-property name=/key-propertykchKCH4/composite-idcjCJxfXF对应的POJO类由复合主键的P
7、OJO类和成绩表的POJO类组成,参考代码如下:CjbId.javapackage org.model;public class CjbId implements java.io.Serializable private String xh; private String kch; public CjbId() public CjbId(String xh, String kch) this.xh = xh; this.kch = kch; public String getXh() return this.xh; public void setXh(String xh) public String getKch() return this.kch; public void setKch(String kch) Cjb.javapublic class Cjb implements java.io.Serializable private CjbId id; private Integer cj; private Integer xf; public Cjb() public Cjb
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1