1 Star 0 Fork 1

crchen/Library-with-JSF-EJB-JPA

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
题目.txt 6.41 KB
一键复制 编辑 原始数据 按行查看 历史
YouthLin 提交于 2016-05-18 23:42 . 微调界面,添加截图
第一次实验
题目1 (必做)搭建Java EE开发环境。
[实验目的]
安装/验证JDK 7、Eclipse IDE、JBoss AS 7.1.1.Final和MySQL,搭建Java EE开发环境。
[实验内容及要求]
注意:所有的软件都安装到D盘根目录下
1、 安装JDK 7,完成JDK 7的安装和配置,具体见教材1.2.1节。
2、 安装Eclipse IDE,完成Eclipse IDE的安装和配置,具体见教材1.2.2节。
注意:必须安装到D盘根目录下,否则ClassPath中会出现用户库无法找到的情况。
3、 安装JBoss AS 7.1.1.Final,完成JBoss AS 7.1.1.Final的进行安装和配置,具体见教材1.2.3节。
4、 完成MySQL5.6,完成MySQL5.6的进行安装和配置,具体见教材1.2.4节。
注意:在默认安装选项中,会同时安装MySQL Workbench 6.0 CE,这是一个图形化的MySQL客户端软件。该软件的安装需要.net frame4.0的支持,在某些电脑上如果没有安装过.net frame4.0,在安装MySQL Workbench过程中会提示缺少.net frame4.0支持。这时需要安.net frame4.0。
题目2:
练习使用JSF的页面标签、托管Bean、转换器、验证器、导航功能以及事件处理。
[实验内容及要求]
1、 使用JSF标签构建图书添加页面。页面中包括:图书名称、图书书号、作者、出版时间、价格文本输入框(h:inputText),分类、子分类选择框(h:selectOneRadio或h:selectOnelistbox) 和添加按钮、取消按钮(h:commandButton),以及必需的文本标签(h:outputLabel)和表单标签(h:form)。
分类包括如下几种:计算机、文学、管理、其它。
子分类由分类确定,当选择不同分类时,子分类会根据所选择的分类不同而不同。分类与子分类的关系:计算机->软件工程、计算机网络、编程语言、其它;文学->小说、散文、诗词、其它;管理->行政管理、工商管理、金融管理、其它;其它->无。
2、 使用托管Bean获得用户输入的图书信息。构建图书类,将该类设置为托管Bean,并将其属性与页面上的标签建立对应的关联关系。图书类的属性中,图书名称、图书书号为字符串类型、作者为字符串类型的有序集合(作者可以有多个,要求用户输入时以逗号分隔)、出版时间为日期类型、价格为浮点类型、分类和子分类为整型或枚举类型。
3、 使用转换器和验证器对用户输入的图书信息进行转换和验证。除子分类外所有的字段均不能为空;图书编码必须是ISBN开头后跟13位数字;价格必须是整数或浮点数,若用户输入的数字小数点后位数超过1位,取小数点后一位有效;将作者转换到有序集合中存储;根据图书书号验证位,验证书号的正确性。
关于图书书号:
中国标准书号由标识符ISBN和13位数字编码组成,
其格式为 ISBN 978-7-5343-4134-2
ISBN是国际标准书号的英文缩写。
978是ISBN 产品标识编码,目前使用的前缀为978。
7是国家标识码,7代表中国。
7后面的8位数分两组,
第一组是出版者号,表明是哪家出版社,及出版社的规模,
5343代表江苏教育出版社。
第二组是出版序号,代表本书在出版社出版的次序,
4134表明是小学一年级数学。
最后一位数2 是计算机校验码。
13位ISBN的最后一位校验位的加权算法与10位ISBN的算法不同。具体算法是:用1分别乘ISBN的前12位中的奇数位,用3乘以偶数位,成绩之和以10为模,用10减去此模,即可得到校验位的值,其值范围应该为0-9
1.假设某13位ISBN号码前15位(包含‘-’符号)是:987-7-309-04547;
2.位置为123-4-567-89(10)(11)(12)
3.计算加权和S:S=9×1+8×3+7×1+7×3+3×1+0×3+9×1+0×3+4×1+5×3+4×1+7×3 = 117;
4.计算S÷10的余数M:M = 117 mod 10 = 7;
5.计算10-M的差N:N = 10 ? 7 = 3 (如果10-M的值为10则校验码取0)
6.所以,本书的13位ISBN的校验码是3。
4、 使用导航功能,用户点击添加按钮后,将其导航到添加确认页面。
添加按钮对应的动作函数中返回“success”,在导航配置中,将其对应到添加确认页面。
添加确认页面包括:待添加书的信息,添加确认按钮和继续添加按钮。书的信息用EL表达式进行显示,要求出版日期按照2015年03月的形式显示,价格按照人民币货币的方式显示,书号按照ISBN 978-7-5343-4134-2的方式显示。点击确认按钮,完成图书的数据库插入操作。点击继续添加按钮,导航到图书添加页面,重新添加其他书籍信息。
所有与数据库相关的操作可在第三次使用JPA完成,本次只需要在控制台打印信息即可。
5、 使用值更改事件,实现类别与子类别的联动关系。当用户选择类别发生变化时,要求子类别也随之改变。
6、 (选作)使用动作事件,实现日志的写入。为添加按钮设置动作事件响应,当用户点击添加按钮时,在日志文件中写入一行记录。
第二次实验
[实验目的]
练习使用无状态会话Bean、有状态会话Bean以及单例态会话Bean。
[实验内容及要求]
1、 使用无状态会话Bean实现图书的查询操作。管理员可以使用该按钮查询所有已经添加的各种书籍的信息。
2、 使用有状态会话Bean实现图书的批量添加操作。管理员在添加书籍后,保存到一个添加列表中,只有当管理员点击确认按钮后,才会把所有的书籍添加到数据库中。
3、 使用单例会话Bean记录图书管理员的登录次数。
第三次实验
[实验目的]
练习使用JPA实现数据库访问操作。
[实验内容及要求]
5、 按照第2次和第3次试验内容,将所有与数据库有关的操作都使用JPA方式进行。
6、 由于本实验需要部署到JBoss上,因此建议使用JTA类型的事务。
persistence.xml可以配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="datasource" transaction-type="JTA">
<non-jta-data-source>java:jboss/datasources/MySqlDS</non-jta-data-source>
<class>javaee.jsf.StuEntities.StudentEO</class>
<properties>
</properties>
</persistence-unit>
</persistence>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/crchen/Library-with-JSF-EJB-JPA.git
git@gitee.com:crchen/Library-with-JSF-EJB-JPA.git
crchen
Library-with-JSF-EJB-JPA
Library-with-JSF-EJB-JPA
master

搜索帮助