计算机科学与技术专业 综合实训报告 2013— 2014学年第 学期 实训名称: 企业级开发模拟实习 姓 名: 学 号: 所在系别: 所在专业: 计算机科学与技术 所在班级: 起止日期: 湖南女子学院信息技术系计算机科学与技术专业综合实训报告 第2页
企业级开发模拟实习 1.1实训目的 实训无非就是对所学的知识进行实践、巩固和加深。
此次实训是通过对一个通用型精品课程网站-DataStr_Course(数据结构)的制作,加深我们对java平台企业版级javaEE的认识以及熟练掌握SSH组合框架的运用。这就包括对Struts2框架、Hibernate框架以及Spring框架的认识、理解、和应用,同时进一步的巩固和加深以前学习过的开发工具MgEclipse以及数据库(SQL Server2005)。话说知己知彼才能百战百胜,然而我觉得我们最大的敌人就是我们自己,只有认识了自己你才能突破自我战胜自我,同时这次实训是以团队进行,这就让我们深刻的感受到团结的力量。
1.2实训过程
(1)老师布置项目
(2)组员们针对项目进行需求分析
1>确定项目主题:通用型精品课程(数据结构)---DataStr_Course 2>编写需求分析报告 3>需求分析报告答辩
(3)需求分析答辩通过之后由组长对组员进行分工
1>组长(**)负责设计好所需要的数据库(courseData) 1.1数据库分析答辩
2>组长(**)负责搭建SSH组合框架 3>组员(**)负责静态页面的编写 (4)具体模块分工
1>**负责后台教师管理、学生管理、公告管理以及资源管理模块的编写
2>**负责后台留言管理、教程管理、习题管理、课程简介管理以及管理员管理模块的编写
3>**负责登录模块;教师页面个人信息管理、留言管理模块的编写以及前台用户注册、查看资料、教学大纲模块的编写
4>**负责前台课程简介、公告、教学资源、在线留言模块的编写
5>**负责教师页面的资源管理、教程管理、课后习题管理、课程简介管理模块的编写
(5)组长进行所有模块的整合
(6)各组员对自己负责的模块做相应的测试 (7)项目答辩 1.2.1基本概念
(1)javaEE
javaEE,即java平台企业版。主要用于快速设计、开发、部署、和管理企业级的软件系统。javaEE体系结构有三层:表示层、业务逻辑层和数据持久层。 (2)Struts框架
湖南女子学院信息技术系计算机科学与技术专业综合实训报告 第3页
Struts框架具有组件的模块化、灵活性和重用性的优点,同时它简化了基于MVC的Web应用程序的开发。从应用角度来说,Struts有三大块,分别是Struts核心类、Struts配置文件及Struts标签库 (3)Hibernate框架
Hibernate是一个面向java环境的对象\\关系映射工具,它用来把对象模型表示的对象映射到基于SQL的关系数据模型中去 (4)Spring框架
Spring为企业应用的开发提供了一个轻量级的解决方案。其中依赖注入、基于AOP的声明式事物管理、多种持久层的整合与优秀的web MVC 框架等最为人们关注。Spring可以贯彻程序的各个层之间,但它并不是想取代那些已有的框架,而是以高度的开放性和它们紧密的整合。 (5)SSH
SSH框架:典型的J2EE三层结构分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。表现层是传统的JSP技术。中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离。
1.2.2实训步骤
1.软硬件环境准备 操作系统:windows7 数据库:sql2005 开发语言:java 开发工具:MyEclipse
组合框架:Struts2、Hibernate、Spring
首先,开启数据库服务,并配置好端口号(需要重启数据库服务),并且保证数据库的身份验证模式是混合模式,然后修改sa用户的密码。在MyEclipse中搭建好SSH框架。若要使程序运行,还需先发布并且启动Tomcat服务器。
2.实现过程
实现过程最开始要做的当然是软硬件环境的准备,配置好数据库,附加好数据库,在myEclipse中创建web工程,搭建好SSH框架,遵循javaEE体系结构的三层(表示
湖南女子学院信息技术系计算机科学与技术专业综合实训报告 第4页
层、业务逻辑层、数据持久层)来布局项目编写代码。下面就针对我负责的教师页面的留言管理模块中的查询所有留言来简单讲解一下怎样开发一个SSH项目。
(1)添加SSH开发JARs
实现Hibernate持久层.添加SSH框架后会自动生成pojo类(Message.java)以及对应
的映射文件Message.hbm.xml(该文件用于pojo类中的属性与表中的字段之间的映射)。接下来就是实现DAO。添加SSH框架后会自动生成MessageDao。DAO实现与数据库的交互,进行CRUD操作,完成对底层数据库的持久层访问。首先在MessageDao.java类中编写用来显示所有留言的方法findAllPage代码如下:
public List findAllPage(int currentPage,int pageSize) { log.debug(\); try {
Session session = this.getSession();
Query q = session.createQuery(\); q.setFirstResult((currentPage-1)*pageSize); q.setMaxResults(pageSize);
List
} catch (RuntimeException re) {
log.error(\, re); throw re; } }
Message.java类对应DAO层实现ordersBiz.java接口代码如下: public class MessageBiz { MessageDAO dao;
public int doCount() {
return dao.findAll().size(); }
public List doShowAll(int currentPage, int pageSize) { return dao.findAllPage(currentPage,pageSize); } }
(3)实现业务逻辑层。业务逻辑层是为控制器服务的,它依赖DAO组件,是对DAO的封装,通过业务逻辑的封装,让控制器无需直接访问DAO的方法,而是调用业务逻辑的方法。实现的类(这里只举一个类中查看所有留言的showAll()的方法)代码如下: public class MessageAction extends ActionSupport{ ReplyDAO rdao;
private Message message; MessageBiz biz = null; private int mid; //以下为分页所需属性

