《JAVA EE架构开发技术》实验教学大纲
课程名称:
| JAVA EE架构开发技术
|
|
|
课程编号:
| 436304
|
|
|
适用专业:
| 软件工程
|
|
|
总 学 分:
| 3
|
|
|
总 学 时:
| 54
|
|
|
其中实验学时
| 26
|
|
|
一、实验课程性质、目的与任务
《JAVA EE架构开发技术》课程实验与《JAVA EE架构开发技术》理论课程密切结合,不仅仅要注重理解基本知识,更要注重培养进行软件架构设计和软件设计开发的基本技能。实践性环节是巩固所学理论知识、使理论与实际相结合、提高动手能力的一项必不可少的重要环节。因此,课后习题、上机实验、课程设计等都是加强程序设计训练所必需的。
通过本课程的学习可以使学生能够掌握JAVA EE架构的基本理论、方法,能够掌握JAVA EE中的各种框架思想与技术,如Struts、Spring、Hibernate(SSH)等,同时能够掌握运用SSH进行软件系统开发的基本方法和运用并能够进行正确的测试。通过本课程的学习,学生能够熟练运用SSH,深入理解MVC(Struts)的思想、Hibernate的思想、Spring的控制反转(IoC)、依赖注入(DI)、面向切面编程的思想以及单元测试技术,并能够掌握和理解常见的软件设计模式,能够运用SSH开发出简单的软件系统。
通过本实验课程,应达到以下几个教学目的:
1. 掌握Struts的思想、方法、配置和使用;
2. 掌握Hibernate的思想、方法、配置和使用;
3. 掌握Spring的思想、方法、配置和使用;
4. 掌握Struts、Spring、Hibernate(SSH)的整合;
5. 掌握常用的软件测试方法和工具;
二、实验教学基本要求
1、准备好上机所需的程序;
2、上机输入和调试自己所编写的程序;
3、上机结束后,应整理出实验报告,实验报告应包括以下内容:实验项目名称;程序清单;运行结果;对运行情况所作的分析以及本次调试程序所取得的经验,如果程序未能通过,应分析其原因。
三、实验项目与类型:
序号
| 实验项目
| 学时
| 实验性质
| 备注
|
验证
| 综合
| 设计
| 研究
探索
| 必做
| 选做
|
1
| 开发Web简单实例
| 2
| √
|
|
|
| √
|
|
2
| JSP的基本结构
| 2
| √
|
|
|
| √
|
|
3
| JSP实现动态Web
| 2
|
| √
|
|
| √
|
|
4
| Servlet技术
| 2
|
| √
|
|
| √
|
|
5
| 数据库连接组件JDBC
| 2
|
| √
|
|
| √
|
|
6
| 综合应用—网上投票系统
| 4
|
|
| √
|
| √
|
|
7
| 综合应用—MVC架构Struts
| 4
|
|
| √
|
| √
|
|
8
| 综合应用—Struts+ DAO
| 4
|
|
| √
|
| √
|
|
9
| 会话EJB开发
| 2
|
| √
|
|
| √
|
|
10
| ORM架构Hibernate
| 2
|
| √
|
|
| √
|
|
四、实验教学内容
实验一:开发Web简单实例
1、实验目的
熟悉Eclipse(其实是MyEclipse插件)环境下开发、部署Web程序的过程。Web开发是J2EE应用的首要方面。
2、实验内容
(1)MyEclipse下WebLogic服务器的配置;
(2)通过一个简单的JSP实例,熟悉Web工程创建和JSP文件创建、编辑、发布、访问的全过程;
实验二:JSP的基本结构
1、实验目的
熟悉JSP程序中的各种构成元素所起的作用和语句规则;理解JSP静态代码和动态代码的混合编码方式;理解JSP的静、动态代码分离运行原理;重点掌握脚本标签的使用规则和作用。
2、实验内容
(1)建立一个结构完整的JSP程序,改动标签内容看对JSP静、动态的影响。
(2)使用三种脚本标签,在JSP中嵌入Java代码,完成一个简单的数学运算;
实验三:JSP实现动态Web
1、实验目的
动态Web很重要的一部分内容就是前台实现人机交互,在后台完成业务逻辑的运算。本实验验证前后台数据传递的两种常用机制,进一步熟悉JSP结构,掌握后台响应进行动态处理的方法。
2、实验内容
(1)用JSP的内置对象request在前后台页面间传递表单数据;
(2)用置对象JavaBean在前后台页面间传递表单数据;
(3)验证是否对数值、西文、中文字符都能正常传递;
实验四:Servlet技术
1、实验目的
更常用的后台响应程序用Servlet。Servlet是纯Java程序,但也可以输出HTML静态代码。通过本实验,掌握Servlet的编程结构,理解Servlet生命周期。
2、实验内容
(1)用Servlet作后台响应程序,注意与JSP程序结构有何不同?
(2)掌握在MyEclipse开发环境下正确创建Servlet程序的过程;
(3)验证是否对数值、西文、中文字符都能正常传递;
(4)后台运算的数值处理;
(5)理解部署描述文件web.xml的作用;
实验五:数据库连接组件JDBC
1、实验目的
JDBC是Java访问数据库的基础组件。通过本实验,掌握JDBC连接数据库的方法和步骤;掌握数据访问的方法;了解不同数据库和不同提供商提供的驱动程序;了解数据库连接池作用和使用。
2、实验内容
(1)以MS SQL Server2000为数据库,分别用ODBC桥、微软提供的JDBC驱动、Bea WebLogic提供的驱动建立连接。
(2)先用Application程序验证将数据插入数据库表,然后从数据库表中读回数据验证刚插入的数据是否正确;
(3)然后用Web程序实现form表单界面输入的数据插入数据库表,然后读回数据验证插入数据是否正确;
(4)验证几种不同的访问方法;
(5)在Weblogic服务器上JDBC连接池的配置和使用;
实验六:综合应用—网上投票系统
1、实验目的
通过一个网上投票Web程序,系统地应用已学过的知识,理解Web系统的开发过程和各组件的配合应用。主要应进一步理解和掌握:JSP的构成和作用;Servlet的使用;JavaBean和值对象在Web程序的应用,JSP+Servlet+JavaBean设计模式的应用;静态代码与动态代码的分离;JDBC连接和访问数据库;Web程序的调试方法。
2、实验内容
一个简单的网上投票系统,集中了JSP应用Web开发的所有环节和过程。通过网上对MicroSoft、Sun、IBM、Oracle四个公司进行喜欢度投票,选中的公司将增加一票,同时记录投票人的姓名、IP、投票时间等信息。可查看投票结果。
(1)MS SQL Server2000建立数据库vote_result。
表Voter存放投票人的信息
字段名
| 数据类型
| 存放信息
|
candidate
| nvarchar (50)
| 候选公司名
|
voter_name
| nvarchar (50)
| 投票人的名字
|
voter_company
| nvarchar (50)
| 投票人所在公司
|
voter_country
| nvarchar (50)
| 投票人所在国家
|
ip_address
| nvarchar (50)
| 投票人IP地址
|
vote_time
| datetime
| 投票时间
|
表result存放候选公司的名字和投票累计数
字段名
| 数据类型
| 存放信息
|
candidate
| nvarchar (50)
| 候选公司名,初始数据:
Sun MicroSystem
Oracle
IBM
Microsoft
|
vote_num
| Int(4)
| 投票累计数,初值0
|
(2)Web程序前后台都先用JSP,采用内置对象或用值对象传递数据;
(3)然后修改程序后台响应用Servlet;
(4)进一步用JSP+Servlet+JavaBean模式;
(5)数据库连接先采用直接JDBC方法,再用JDBC连接池;
(6)访问数据库的语句对象先用createStatement(),然后用prepareStatement();
实验七:综合应用—MVC架构Struts
1、实验目的
MVC架构Struts为Web开发遵循MVC设计模式提供了高效的开发环境。现在被开发者广泛使用,成了事实上的开发标准。通过本实验掌握在Eclipse下开发Struts的方法和过程,深入理解Struts架构思想。
2、实验内容
实验的功能与实验六相同,用Struts完成网上投票系统。
实验八:综合应用—Struts+ DAO
1、实验目的
在实验七中,应用MVC架构Struts进行Web开发。但业务层与持久层的分离不彻底。在数据持久层应用DAO技术可以把业务层与持久层彻底分离,并且持久层本身又分离出业务逻辑实现层(busy implement Bean)、数据访问层(Data Access Bean)、数据库JDBC连接层(Data JDBC Connection);
业务层:由Action实现,这里会看到只有非常简洁的业务代码;
业务逻辑实现层:对不同的业务逻辑实现SQL封装;
数据访问层:对SQL实现executeUpdate或executeQuery
数据库JDBC连接层:对数据库进行JDBC连接,返回连接对象;(也可与数据访问层合并)
理解DAO的分层作用,为过渡到Hibernate扫平障碍。
2、实验内容
实验的功能与实验七相同,用Struts+DAO完成网上投票系统。
实验九:会话EJB开发
1、实验目的
理解SessionBean是基于RMI和JNDI技术的集成应用;
理解SessionBean的程序结构和基本编程方法;
学习在Eclipse开发工具下SessionBean的开发过程;
客户端如何正确使用SessionBean;
2、实验内容
SessionBean模拟银行兑换外汇业务,即完成两个简单的计算方法,一个方法是将输入的美元转换成人民币,另一个方法是将人民币兑换成欧元。
(1)创建两个接口:
a.远程接口(业务接口)Convert定义两个业务方法
public double dollarToYen(double dollars)
public double yenToEuro(double yen)
b.主接口(Home接口)封装Create()
(2)定义SessionBean类ConvertBean,实现业务接口、主接口、SessionBean接口中的所有方法。
(3)两个描述文件:web.xml和weblogic-jar.xml;
(4)客户端采用java工程访问ejb;
(5)EJB工程,用Application和JSP两种方式访问;
实验十:ORM架构Hibernate
1、实验目的
上一篇实验八Struts+DAO中体验到应用DAO处理数据持久层的思想。但那里的DAO底层直接应用JDBC技术,封装DAO显得较麻烦。应用ORM架构Hibernate使DAO封装变得较为轻松、更加规范。借助MyEclipse提供的数据库反向工程的向导,可以快速生成DAO,我们所做的工作就是编写领域业务逻辑(domain busy logical)和业务模型处理(busy model handle),节省大量的工作量。体验应用Hibernate框架给我们的编程所带来的乐趣。
2、实验内容
核心内容是体验MyEclipse下应用struts+Hibernate所带来的方便快捷的开发技术,体验客户层、控制层、业务层、持久层、存储层结构的清晰分离,同时也要注意学习相关的技术和技巧。
(1)如何创建Hibernate工程?
(2)hibernate.cfg.xml是如何自动生成的?它的基本内容和作用是什么?
(3)如何为每个数据库表生成对应的DAO,每个DAO组件有哪些基本文件?
(4)Hibernate的DAO提供了什么?与基于JDBC的DAO有何不同?
(5)如何应用DAO编写业务模型处理接口?
(6)业务逻辑应该是什么样?在那里编写?
(7)先处理Struts还是Hibernate?
(8)表单对象ActionForm与持久对象POVO有何区别?
(9)如何做到用Struts标签对Hibernate查询结果进行分页显示?
五、考核方法
1.教师对学生实验过程完成情况进行详细登记,记入实验成绩中。
2.学生完成实验后按要求撰写实验报告,根据实验报告确定每次实验的等级。
3.实验成绩按20%比例计入课程期评总成绩中。
六、实验指导书及主要参考书目
[1]《Java EE基础实用教程》,郑阿奇,电子工业出版社,2009.7
[2]李绪成主编.《Java EE 5实用教程——基于WebLogic和Eclipse》.北京:电子工业出版社,2007,2.
[3]郭克华主编,JavaEE程序设计与应用开发.北京:清华大学出版社,2010.11
主 撰 人:彭东海
审 核 人:罗如为
2012.6