




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安科技大学JAVAEE框架开发技术实验报告学院: 计算机科学与技术学院 专业及班级: 软件工程1202班 学号: 1208010212 姓名:_ 黄子斌 2015年12目录实验一 struts基础实验31.实验类型32.实验目的33.实验要求34.实验内容31.Web.xml文件的配32.struts.xml文件配置43.Action的实现44.运行结果5实验二 持久化层hibernate61.实验类型62.实验目的63.实验要求64.实验内容61.hibernate.cfg.xml文件配置62.实体类和映射文件73.运行结果9实验三 SSM整合实验101.实验类型102.实验目的103.实验要求104.实验内容101.applicationContext.xml文件配置102.struts.xml 文件配置113.工程代码结构分析124. 运行结果13实验总结14实验一 struts基础实验 1. 实验类型 验证型2. 实验目的掌握Struts2开发环境的搭建;理解Struts 2工作流程;掌握Struts 2 的web.xml文件的配置;掌握config_browser插件的使用。3. 实验要求 搭建Struts 2的开发环境;实现用户登录;使用log4j输出调试信息。4. 实验内容 1. Web.xml文件的配在该文件中主要配置默认启动的jsp界面,还有filter过滤器。使用Apache的StrutsPrepareAndExecuteFilter类进行拦截。 javaweb16ValidateDemo index.jsp struts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* 2. struts.xml文件配置对action的拦截及使用com.javaweb.action.RegisterAction处理。 /result.jsp /register2.jsp 3. Action的实现主要核心处理功能。package com.javaweb.action;/导入关键类public class RegisterAction extends ActionSupportprivate String username;private String password;private String repassword;/实现getter和setter以及构造器部分略public void validate() /判断用户名是否输入,如果输入了再判断格式是否正确if(username = null | .equals(username)this.addFieldError(username,用户名必须输入); else if ( !Pattern.matches(w6,20, username.trim() this.addFieldError(username,用户名必须是字母和数字,长度为6到20之间);/判断密码是否输入,如果输入了再判断格式是否正确if( password = null | .equals(password)this.addFieldError(password,密码必须输入) ;else if( !Pattern.matches(w6,20, password.trim() this.addFieldError(password,密码必须是字母和数字,长度为6到20之间);/判断确认密码是否输入,如果输入了再判断格式是否正确if(repassword = null | .equals(repassword)this.addFieldError(repassword,确认密码必须输入) ;else if( !Pattern.matches(w6,20, repassword.trim() this.addFieldError(repassword,确认密码必须是字母和数字,长度为6到20之间);/判断确认密码和密码是否相同if(password != null & repassword != null & ! repassword.equals(password)this.addFieldError(repassword,确认密码和密码必须相同);/判断年龄是否合法if(age 130) this.addFieldError(age,请输入有效的年龄);/判断出生日期是否合法Calendar start = Calendar.getInstance();Calendar end = Calendar.getInstance();start.set(1900, 1,1);end.set(2010, 1,1);if(birth != null & ( birth.after(end.getTime() | birth.before(start.getTime() this.addFieldError(birth,请输入有效的出生日期);/判断邮箱地址是否合法if(email != null & !.equals(email) & email != & !Pattern.matches(a-zA-Za-zA-Z0-9._-*(a-zA-Z0-9-_+.)+(com|gov|net||), email)this.addFieldError(email,请输入正确的邮箱地址);public String execute() throws Exception return SUCCESS;图 1-14. 运行结果图 1-2图 1-2实验二 持久化层hibernate1. 实验类型验证类型2. 实验目的掌握hibernate访问数据库,以及对数据库进行操作。3. 实验要求1. 实现对product表的插入查询2. 编写product表的操作的junit的测试4. 实验内容 1. hibernate.cfg.xml文件配置该文件是hibernate最重要的一个配置文件。在这里配置了连接数据库的信息,比如数据库连接字符串,驱动,用户名,用户密码还有数据库方言等等。还有指定映射文件。jdbc:mysql:/localhost/javaweb com.mysql.jdbc.Driver rootadmin org.hibernate.dialect.MySQLDialect 2. 实体类和映射文件1. 实体类productpackage com.javaweb.ch17.hibernate;public class Product /产品IDprivate String id;/产品名称private String name;/产品价格private double price;/对每一个属性设置getter和setter方法略。2. 映射文件Product.hbm.xml3. 创建数据库操作在CreateDB.java文件是创建数据库的主入口。import org.hibernate.tool.hbm2ddl.SchemaExport;public class CreateDB public static void main(String args) /读取配置文件hibernate.cfg.xmlConfiguration cfg = new Configuration().configure();/创建SchemaExport实例SchemaExport sExport = new SchemaExport(cfg);/创建数据库表sExport.create(true, true);4. Product的增删查这个自定义实现一个操作操作的工具类。public class HibernateUtil private static SessionFactory factory; static/读取配置文件hibernate.cfg.xmlConfiguration cfg = new Configuration().configure();/创建SessionFactoryfactory = cfg.buildSessionFactory();/获得SessionFactory实例public static SessionFactory getSessionFactory()return factory;/获得Session实例public static Session getSession() return factory.openSession();/关闭指定Sessionpublic static void closeSession(Session session) if(session != null) if(session.isOpen() session.close(); 增加product的操作public class InsertProduct public static void main(String args) /创建SessionSession session = HibernateUtil.getSession();/开启事务session.beginTransaction();/实例化一个ProductProduct product = new Product();product.setId(0511234);product.setName(冰箱);product.setPrice(1250.00);session.save(product);/保存数据session.getTransaction().commit();/事务提交ibernateUtil.closeSession(session);查询所有信息public class QueryAllProduct public static void main(String args) Session session = HibernateUtil.getSession();Product p = null;String hql = FROM Product as pro;/ 使用HQL查询Query q = session.createQuery(hql);/ 通过Query方法查询List list = q.list();/查询结果保存到list中Iterator iter = list.iterator();/遍历是否存在该id的产品,如果存在则进行输出while(iter.hasNext() p = (Product) iter.next();System.out.println(id: + p.getId() + name: + p.getName() + price: + p.getPrice();/ 关闭sessionibernateUtil.closeSession(session);其他的删除和修改类似。3. 运行结果完成插入删除后的结果。图 2-1实验三 SSM整合实验 1. 实验类型验证类型2. 实验目的掌握ssh的整合过程,能够使用ssh创建网站。3. 实验要求1. 使用hibernate实现数据库表的插入和查询2. 用Struts 2实现REST API3. 使用Spring实现service的注入。4. 实验内容 1. applicationContext.xml文件配置 com.mysql.jdbc.Driverjdbc:mysql:/localhost/javawebrootadminorg.hibernate.dialect.MySQLDialectfalsecom/javaweb/po/User.hbm.xml2. struts.xml 文件配置./showAll.jsp/showAll.action/showAll.action/add.jsp/add.jsp/showAll.action/update.jsp/update.jsp/showUser.jsp3. 工程代码结构分析1. com.javaweb.po层业务实体类都放在该包里面。比如用户的类和映射文件都放在这里。2. com.javaweb.dao该包底下是数据库操作数据库的接口,以及对接口的实现类都在这里。比如:增删改查等。UserDao接口中定义各种操作方法,在UserDaoImI中提供了对这些方法的实现。/ 添加用户public void save(User user) this.getHibernateTemplate().save(user);3. com.javaweb.action具体的action都在这个包下面。Action的操作是调用service层的方法处理事件。代码:public String execute() throws Exception /将接受的参数设置到User实例中User user = new User();user.setUsername(username);user.setPassword(password);user.setAge(age);user.setBirth(birth);user.setEmail(email);/调用业务逻辑组件保存该产品if(userService.addUser(user)return SUCCESS; elseaddActionError(添加用户失败!);return ERROR;4. com.javaweb.service对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 曲阳文综考试题库及答案
- 销售合同电子签署与审核模板
- 城市绿化环境美化承诺书6篇
- 2025年国电电网安规考试配电部分考试题库(附答案)
- 2025年新疆籽棉种植基地施肥合同书
- 2025年新疆农业科技交流合作合同
- 材料力学证考试题及答案
- 化纤厂应聘考试题及答案
- 运维管理岗考试题及答案
- 农产品网络销售平台商家服务合同书
- 2.3河流与湖泊第1课时课件-八年级地理上学期人教版
- 专题04 利用基本不等式求最值(压轴题8大类型专项训练)数学人教A版2019必修一(解析版)
- 2025上海浦东新区浦东公安分局文员招聘300人考试参考题库及答案解析
- 风险限额管理与应用
- 2025年三方股权合作合同协议书
- 工程结算审核工作方案(3篇)
- 地方病竞赛试题及答案
- 弘扬伟大抗战精神为实现中华民族伟大复兴而奋斗2025-2026学年高二上学期爱国主义教育主题班会
- 秋季企业施工安全培训内容课件
- 社工抗压与情绪处理课件
- 起重机作业人员Q2证理论考试练习题含答案
评论
0/150
提交评论