使用Java企业级技术开发大型系统1内部测试机试题题目:图书管理系统一、语言和环境A、实现语言JavaB、环境要求JDK6、MyEclipse10.6、Tomcat7.*、Oracle11g二、功能要求使用SSH(Struts2+Spring+Hibernate)实现图书管理系统,Oracle11g作为后台数据库,该系统包括用户登录,图书信息列表、图书的新增、修改、删除,并实现分页功能,具体要求如下:1、用户登录功能。打开图书管理系统首页,会出现用户登录界面,输入用户名和密码后,点击登录,如果用户名和密码不正确,给出相应的提示信息。如图-1所示。图-12、图书信息列表显示功能。用户登录成功后,进入图书信息列表显示首页。默认按图书ID降序列出所有的图书。并能够根据用户类型显示登录用户的用户信息。提供新增图书按钮,提供修改链接,提供删除链接。如图-2所示:使用Java企业级技术开发大型系统2图-23、图书新增功能。点击“新增图书”按钮,跳转到新增的页面,其中书名,作者、出版社、出版日期为必填项,如图-3所示。图-3点击“提交”时,需要执行非空验证,如果书名为空,提示“图书名称不能为空!”,如果作者为空,则提示“作者不能为空!”,出版社和出版日期一样,同样不能为空。日期的输入格式为”年-月-日”,页面效果如图-4所示。使用Java企业级技术开发大型系统3图-4提交并保存图书信息后返回到图书信息列表。点击“返回”按钮,直接返回原来的图书信息列表,效果如同图-2。4、图书修改功能。点击“修改”超链接,显示要修改的图书信息,如图-5所示。图-5提交并更新图书信息后,返回到图书信息列表。点击“返回”按钮,直接返回原来的图书信息列表,效果如同图-2。5、分页功能。点击第一页、上一页、下一页、最后一页、能够实现分页功能。能够显示总记录数,当前页数/总页数。设置每页条数和转到第几页可以不实现。效果如图-6所示。使用Java企业级技术开发大型系统4图-66、图书删除功能。点击“删除”超链接,执行删除图书功能,并返回图书列表页。三、数据库设计用户表如下,其他设置参见下表:表名bookUser中文表名称用户信息表主键id序号字段名称字段说明类型长度属性备注1id用户idNUMBER10主键序列方式实现ID的增长2name用户名VARCHAR220非空3password密码VARCHAR240非空4age年龄NUMBER55sex性别NUMBER2非空6nickname昵称VARCHAR220非空7usertype用户类型NUMBER2非空0:普通用户1:图书系统管理员图书信息表如下:表名book中文表名称图书信息表主键id序号字段名称字段说明类型长度属性备注1id图书idNUMBER10主键序列方式实现ID的增长2Name图书名VARCHAR2100非空3Author图书作者VARCHAR2100非空4publish出版社VARCHAR2100非空5publishdate出版日期DATE非空6Page页数NUMBER57Price价格NUMBER(10,1)8Content内容摘要VARCHAR2500使用Java企业级技术开发大型系统5四、具体要求及推荐实现步骤1、建立数据表,并且添加测试数据(用户列表和图书信息列表每个至少3条);2、在MyEclipse中创建web工程,命名为bookmanage;3、为工程添加Struts2、Spring、Hibernate支持;4、正确配置Struts2、Spring、Hibernate,正确配置SSH集成;5、创建持久化类和对应Hibernate映射文件;A、编写用户表(bookUser)的持久化类,并添加相应的hbm.xml映射文件B、编写图书表(book)的持久化类,并添加相应的hbm.xml映射文件6、创建DAO接口及其实现类,在DAO类中使用Spring底层数据库对象实现相应的操作.7、创建Service接口及其实现类,实现相应业务,并在类中加入DAO引用8、创建Action,在类中加入Service的引用,并配置Struts的文件;9、创建并配置Spring文件,业务类需添加声明式事务;10、创建用户登录页面:A、按照图-1进行页面设计。B、点击“登录”按钮,调用Action类中的方法,如果登录失败,给出提示信息。C、登录成功后跳转到图书信息列表页面显示图书列表。11、图书信息列表显示页面:A、按照图-2进行页面设计B、各条数据按图书编号降序排列,并隔行换色(颜色值plum)C、显示登录成功后的用户信息,如果用户的usertype=1,显示图书系统管理员,usertype=0,显示普通用户C、图书日期按年-月-日显示结果D、提供“修改”、“删除”超链接和“新增图书”按钮E、提供分页功能,显示总记录数,当前页数,总页数。能够提供第一页、上一页、下一页、最后一页的链接。分页后的效果如图-6所示。12、添加图书页面:A、按照图-3进行页面设计B、提交前对书名、作者、出版社、出版日期进行非空判断,如图-4所示C、点击提交能够提交到正确的Action,实现图书增加。D、保存成功后跳转到图书信息列表页面显示图书列表,如图-2所示。13、图书编辑页面:A、按照图-5进行页面设计B、提交前对书名、作者、出版社、出版日期进行非空判断,如图-4所示C、点击提交能够提交到正确的Action,实现图书更新。D、更新成功后跳转到图书信息列表页面显示图书列表,如图-2所示14、在图书列表页,点击“删除”链接,实现图书删除功能,删除成功后返回到图书信息列表页面显示图书列表。15、调试运行成功后导出SQL语句,其中包括表结构(包括主键和约束)、创建序列、初始化数据生成SQL脚本文件与代码文件一同提交。若无数据库脚本提交或以其他格式提交,数据库项不得分。五、注意事项1、请注意界面美观,控件摆放整齐;使用Java企业级技术开发大型系统62、请注意代码的书写、命名符合规范,在代码中添加必要的注释;3、请注意操作数据库时进行必要的异常处理。机试题评分标准评分标准(总分100分)题目:图书信息管理系统该程序的评分标准如下:7数据库设计5正确创建用户表bookUser【1分】正确创建用户表bookUser主键约束【1分】正确创建图书表book【1分】正确创建图书表book主键约束【1分】正确创建序列【1分】2输入测试数据(用户表和图书表每个至少3条),每少2条记录减1分,减完为止。9正确整合Struts+Spring+Hibernate3正确在工程中导入Struts2框架:在web.xml文件中配置Struts框架【2分】导入Struts2JAR包【1分】(工程中无JAR包此项不得分)3正确在工程中导入Spring框架:在web.xml文件中配置Spring框架【2分】导入SpringJAR包【1分】(工程中无JAR包此项不得分)3正确在工程中导入Hibernate框架并导入HibernateJAR包(工程中无JAR包此项不得分)。【1分】Spring正确整合Hibernate。【2分】14正确配置applicationContext.xml和struts.xml文件2正确在applicationContext.xml文件中配置事务信息,保证所有的业务方法都能用事务管理。在方法中代码实现事务操作不得分。【2分】5在applicationContext.xml文件中正确配置用户管理的DAO类【1分】在applicationContext.xml文件中正确配置用户管理的Service类【1分】,并正确注入用户管理的DAO【1分】在applicationContext.xml文件中正确配置用户管理的Action类【1分】,并正确注入用户管理的Service【1分】5在applicationContext.xml文件中正确配置图书管理的DAO类【1分】在applicationContext.xml文件中正确配置图书管理的Service类【1分】,并正确注入图书管理的DAO【1分】在applicationContext.xml文件中正确配置图书管理的Action类【1分】,并正确注入图书管理的Service【1分】使用Java企业级技术开发大型系统72在struts.xml文件中正确配置用户管理的Action类【1分】在struts.xml文件中正确配置图书管理的Action类【1分】8创建实体类和对应Hibernate映射文件3按照数据库设计表的设计正确生成用户实体类【1分】按照数据库设计表的设计正确生成图书实体类【2分】(每错2个实体属性减1分,扣完为止)5正确生成用户实体类的hbm.xml文件【2分】正确生成图书实体类的hbm.xml文件【3分】(每错2个实体属性配置扣1分,扣完为止)10创建DAO类2正确创建用户管理的DAO类:实现用户登录:【2分】8正确创建图书管理的DAO类:查询所有的图书的总记录数【1分】,根据ID查询指定图书【1】正确修改图书【1分】,正确删除图书【1分】,正确增加图书【1分】,根据当前页数,每页大小等分页参数实现图书分页查询,【2分】按序号降序【1】(注,如果DAO是一个公共的DAO,只要能实现上述功能者,均可得分)11创建Service类3正确创建用户管理的Service类:正确创建用户管理的DAO引用【1分】,实现Setter方法【1分】正确调用用户管理的DAO引用实现用户登录【1分】8正确创建图书管理的Service类:正确创建图书管理的DAO引用【1分】,实现Setter方法【1分】正确调用图书管理的DAO引用根据分页参数实现图书列表查询查询图书信息【2分】正确调用DAO中按ID查询图书的方法【0.5】正确调用图书管理的DAO引用实现图书增加【1分】正确调用图书管理的DAO引用实现图书删除【0.5分】正确调用图书管理的DAO引用实现图书编辑【1分】正确调用图书管理的DAO引用实现查询图书总记录数【1分】11创建Action类3正确创建用户管理的Action类:正确创建用户管理的Service引用【1分】,实现Setter方法【1分】正确调用用户管理的Service引用实现用户登录【1分】8正确创建图书管理的Action类:正确创建图书管理的Service引用【1分】,实现Setter【1分】正确创建图书实体(属性)并实现GET\SET方法【1分】(错或少都不得分)正确调用图书管理的Service引用根据分页参数实现图书列表分页查询【2分】使用Java企业级技术开发大型系统8正确调用图书管理的Service引用实现新增图书【1分】正确调用图书管理的Service引用按ID查询要修改的图书【0.5】正确调用图书管理的Service引用实现编辑图书【1分】正确调用图书管理的Service引用实现删除图书【0.5分】5用户登录页面5按照图-1所示完成页面制作【1分】登录按钮能够提交到正确的登录Action【2分】登录失败后能够显示提示信息【1分】登录成功后正确跳转到图书列表页面(必须查询出展示所需的数据)【1分】,如图-2所示15图书列表页面15根据用户类型,正确显示用户信息【1分】正确获取图书列表集合对象【1分】正确全部显示图书列表对象值【2分】,按照图-1所示完成页面制作,使用CSS完成隔行变色效果【1分】(只有CSS而没有实现隔行变色效果此项不得分)日期按年-月-日正确显示【1分】正确提供“修改”图书链接(能够查询出要修改的图书并展示)【1分】,正确提供“新增图书”按钮【1分】,正确提供“删除”图书链接【1分】正确创建图书分页功能:正确提供图书总记录数【1分】,正确提供第一页链接【1分】,正确提供上一页链接【1分】,正确提供下一页链接【1分】,正确提供最后一页链接【1分】,正确提供当前页和总页数【1分】(错一个不得分)4图书增加页面4按照图-3所示完成页面制作【1分】点击提交能够正确调用JavaScript方法进行验证【1分】JavaScript方法能够对所有属性进行