重庆大学JAVA大作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二.导入 struts2 和 hibernate4 的 jar 包
同样与前面所做的实验一样,首先去官网下载需要的 jar 包。然后再点开 eclipse 创建用 户类库:window->preference->java->bulid path->user libraries,然后找到 jar 包所 在的位置,完成导入操作。此外同时创建 MySQL-jdbc(驱动),junit-4(单元测试)。然后 再点击 eclipse 里面的->BuildPath->configure->Libraries->Add External JARs 然后 找到 jar 包所在的位置,完成导入操作。
}//比如我们需要查询用户的姓名,就可以使用 hibernate 操作已经插入数据之后的数 据库。 当我们完成用户登录模块之后,就开始着手设计学生信息管理模块。
1. 显示学生资料。 2. 删除学生资料 3. 学生主键生成策略 4. 添加,修改学生信息
在显示学生资料里面,我们需要完成的是添加测试数据,设计学生业务逻辑接口,设计学 生业务逻辑接口实现类,设计学生 Action 类,页面调用,显示数据。删除学生资料这个 模块里面,首先需要做的是页面调用,然后编写业务逻辑代码,编写删除 action 的这个 方式,最后进行测试结果。
</session-factory> </hibernate-configuration>
创建两个简单的实体类学生和用户,例如用户这个实体类:private int uid private string uname。然后得到私有属性的 get(),set(),tostring()方法,接着创建 两个构造函数,一个有参数,一个无参数。并将生成的实体类的对象关系映射文件。最终 调用 hibernate 里面封装的 SchemaExport 自动生成表结构。
`sid` varchar(8) NOT NULL, `sname` varchar(255) DEFAULT NULL, `gender` varchar(255) DEFAULT NULL, `birthday` date DEFAULT NULL, `address` varchar(255) DEFAULT NULL, PRIMARY KEY (`sid`) ) CREATE TABLE `users` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL,
六.总结
1.本次作业总结
本次大作业,我们基本完成了老师提出的相关设计任务,正是因为我们按照老师 的要求逐步进行相关的 java 课程的学习,这才使得我们能够更加有信心地完成这个项 目。万事都在于平时的积累,充足的准备能够让我们随时进入战斗状态。同时,良好的团 队合作氛围也是促进任务顺利进行并最终完成的关键因素。
一.Hibernate 与 Struts2 的简介
Struts 设计的第一目标就是使 MVC 模式应用于 web 程序设计 。技术优势:Struts2 有两 方面的技术优势,一是所有的 Struts2 应用程序都是基于 client/server HTTP 交换协 议,The Java Servlet API 揭示了 Java Servlet 只是 Java API 的一个很小子集,这样 我们可以在业务逻辑部分使用功能强大的 Java 语言进行程序设计。
配置 struts.xml: <struts>
<package name = "default" nameplace = "/" extend = "struts-default"> </package>
</struts>
配置 hibernate.cfg.xml:加入链接数据库 jdbc 的一些信息。其中比较重要的是:
五.关于数据库的延伸
另外要提到一点,我们可以也可以使用 mongoDB 数据库进行开发。MySQL 与 MongoDB 都是开源的常用数据库,我们常用的 MySQL 是传统的关系型数据库,MongoDB 则是非关系 型数据库,是一种 NoSQl 的文档型数据库。由于 SQL 语句是关系型数据库的标准语言,我 们所熟知的那些 SQL 语句就不适用于 MongoDB 了。关于 Mongodb 的操作命令的不在此特别 说明。 Mysql 在性能不错的情况下,有着开源优势而且具有事务性和高性能。但是当有大量的 用户数据进行交互--海量存储,Mysql 的读写速度会有一点瓶颈,于是我们就使用 Nosql。经过测试,redis 与 mongodb 的读写速度确实比 Mysql 有着很明显的优势。 mongodb 的写入速度大约 2.5W/次每秒。mongodb 以 BSON 结构(二进制)进行存储,对海 量数据存储有着很明显的优势。并且内置了 GridFS 了 MongoDB,能够满足对大数据集的 快速范围查询。 此外 mongoDB 具有一致性(最终一致),更能保证用户的访问速度。MongoDB 的文档结构 的存储方式能够更便捷的获取数据。例如在 MongoDB 中,能用一个文档来表示一个微博, 评论与点赞作为文档数组,放在正文主文档中。这样数据更易于管理,消除了传统关系型 数据库中影响性能和水平扩展性的“JOIN”操作。
<hibernate-configuration> <session-factory> <property name
="hibernate.current_session_context_class">thread</property>//方便我们使用 getCurrentSession方式打开会话
2.学期课程总结
张行:通过这学期的 java 的学习,基本掌握了如何去设计一个完整的项目,也让我深 切的体会到了合作与实践的重要性。我刚开始想得比较简单,构思了许多的功能,在和助 教的一番深入交流后,才发现实现起来有多难。后来我们在小组内部讨论,形成了比较明 确且符合要求的设计目标,然后从头开始做,实验过程中我们一起努力,互相督促,认真 的完成每一步的工作,最终在规定的时间内较好的完成了此次大作业
二是提供了对 MVC 的一个清晰的实现,这一实现包含了很多参与对所以请求进行处理的关 键组件,如:拦截器、OGNL 表达式语言、堆栈。因为 struts2 有这样目标,并且有这样 的优势,所以,这是我们学习 struts2 的理由。
Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象 封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。
//用户业务逻辑接口 public interface UsersDAO{
//用户登录方法 public boolean usersLogin(Users u); } 然后创建一个类UsersDAOLmpl来实例化这个逻辑接口。
视图层:进行界面框架设计的时候,根目录下设置 index.jsp 为主欢迎界面,设置两个模 块分别为学生模块和用户模块。其中用户模块包括用户登录界面 userLongin.jsp,用户 登录成功跳转界面 userLonginSuccess.jsp,userLonginSuccess.jsp 利用帧结构包含 userLoginMain.jsp 静态页面。当用户点击学生管理模块则跳转到学生模块 studentQuerry.jsp。当我们设计完善了所有的用户自定义的类比如:Sessionfactory, 用户 action 和业务逻辑接口,然后就可以进行页面的调用。我们还可以对程序进行完 善,比如说安全退出,显示登录成功用户名,只需要更改参数的传递,在 jsp 页面进行相 应的显示结果就能知道当前是哪一个用户登录了系统。
public void selectDEMO() { User user = new User(); Session session = HibernateUtil.currentSession(); Query query = session.createQuery("select u.userName from User u"); List list = query.list(); for(int i = 0 ; i < list.size(); i++) { String name = (String)list.get(i); System.out.println(name); }
Java 程序设计课程报告
2015-2016 学年第 1 学期
项目组成员名单
学号
20135043 20135140 20135044
姓名 张行 乔芸瑶 熊方正
2015 年 12 月
小组评分表
序号 评分项 1 排版格式规范(20 分) 2 逻辑清楚、图表清晰(20 分) 3 举例论证充分(20 分) 4 技术描述正确,设计方案 具备合理性(40 分)
三.配置文件的说明
配置 web.xml: <filterclass>org.apache.struts2.dispatcher,ng.filter.StructsPrepareAndExecuteFilter</ filter-class>//表示使用 Struts2 的过滤器过滤 Struts 的动作 <url-pattern>/*</url-pattern>//表示过滤所有的请求
初步可以定义文件夹组织结构,然后就可以开始向里面添加具体内容。
系统功能结构:
学生信息管理
用户 登录
用户 退出
用户 操作
显示 学生 资料
修改 学生 信息
添加 学生 资料
四、具体的实现框架图
接口层
实体层
项目分层
Baidu Nhomakorabea
数据库层
接口实现层
动作层
Jsp 页面
我们采用 MVC 模式就是可以将视图、控制器逻辑和业务逻辑分别进行开发。目的还是通过 操作 eclipse 来操纵数据库里面的数据,将我们 web 网站里面需要的文本,数据统统都保 存到 mysql 数据库里面,也就是说当我们需要其中的学生和用户的 id,name 等属性的时 候方便调用和传递,最终实现该 web 应用的开发。数据库层面:我们采用的是 mysql 的数 据库的设计,创建了两个符合项目要求的两张表分别为:用户和学生,属性为下表所示。 CREATE TABLE `students` (
综合得分 任课教师 评分日期
得分
备注
Java 的应用开发案例: 学生信息管理
新技术的应用:
本次研究旨在设计一个基于 Java Web 开发技术的网上学生信息管理系统,方便学生 随时随地查看自己的信息,修改自己的学生信息,也方便教师录入学生信息以及管理员维 护系统。本论文基于 Java Web 的学生信息管理系统的研究与开发,采用 Structs2+Hibernate4 实现在网络上构建一个动态的信息管理网站。完成的功能包括实现 后台登录以及学生信息的增加、删除、更改和查找。本次研究采用 B/S 三层架构的模 式,即浏览器和服务器架构,使用 Struts 开源框架实现 MVC 三层模式进行开发。本次 开发使用的开发工具为 Eclipse,并且接入 Tomcat 软件,实现虚拟服务器的连接;数据库 我们选择 MySQL6.0(时下新兴使用非关系性数据库 MongoDB)。我们的开发环境选择 Struts2.3.4+hibernate4.2.4+MySQL6.0。
`password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`uid`)
)
逻辑层:首先创建用户自定义的 SessionFactory 类,然后当用户的业务逻辑接口和类设 计完成之后,就需要设计所有 Action 父类,它首先会去继承 ActionSupport,但是为了 获得常用的内置对象采用耦合 IOC 方式注入属性。ServletRequestAware, ServletResponseAware,ServletContextAware。接着设计用户的 Action 类,采用模型驱 动接收表单数据。Struts2 接收表单数据的方式为:普通属性,领域对象,模型驱动。
相关文档
最新文档