1、javaEE实验报告 西安科技大学JAVAEE框架开发技术实验报告学院: 计算机科学与技术学院 专业及班级: 软件工程1202班 学号: 1208010212 姓名:_ 黄子斌 2015年12 实验一 struts基础实验 1.实验类型 验证型2.实验目的掌握Struts2开发环境的搭建;理解Struts 2工作流程;掌握Struts 2 的web.xml文件的配置;掌握config_browser插件的使用。3.实验要求 搭建Struts 2的开发环境;实现用户登录;使用log4j输出调试信息。4.实验内容 1.Web.xml文件的配在该文件中主要配置默认启动的jsp界面,还有filter过
2、滤器。使用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
3、.action;/导入关键类public class RegisterAction extends ActionSupport private String username; private String password; private String repassword;/实现getter和setter以及构造器部分略 public void validate() /判断用户名是否输入,如果输入了再判断格式是否正确 if(username = null | .equals(username) this.addFieldError(username,用户名必须输入); else if (
4、 !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之间); /判断确
5、认密码是否输入,如果输入了再判断格式是否正确 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
6、) 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(st
7、art.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; 4.运行结果图 1-2实验二 持久
8、化层hibernate1.实验类型验证类型2.实验目的掌握hibernate访问数据库,以及对数据库进行操作。3.实验要求1.实现对product表的插入查询2.编写product表的操作的junit的测试4.实验内容 1.hibernate.cfg.xml文件配置该文件是hibernate最重要的一个配置文件。在这里配置了连接数据库的信息,比如数据库连接字符串,驱动,用户名,用户密码还有数据库方言等等。还有指定映射文件。!DOCTYPE hibernate-configuration PUBLIC -/Hibernate/Hibernate Configuration DTD 3.0/EN
9、jdbc:mysql:/localhost/javaweb com.mysql.jdbc.Driver root admin org.hibernate.dialect.MySQLDialect 2.实体类和映射文件1.实体类productpackage com.javaweb.ch17.hibernate;public class Product /产品ID private String id; /产品名称 private String name; /产品价格 private double price; /对每一个属性设置getter和setter方法略。2.映射文件Product.hbm.
10、xml!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN 3.创建数据库操作在CreateDB.java文件是创建数据库的主入口。import org.hibernate.tool.hbm2ddl.SchemaExport;public class CreateDB public static void main(String args) /读取配置文件hibernate.cfg.xml Configuration cfg = new Configuration().configure(); /创
11、建SchemaExport实例 SchemaExport sExport = new SchemaExport(cfg); /创建数据库表 sExport.create(true, true); 4.Product的增删查这个自定义实现一个操作操作的工具类。public class HibernateUtil private static SessionFactory factory; static /读取配置文件hibernate.cfg.xml Configuration cfg = new Configuration().configure(); /创建SessionFactory fa
12、ctory = cfg.buildSessionFactory(); /获得SessionFactory实例 public static SessionFactory getSessionFactory() return factory; /获得Session实例 public static Session getSession() return factory.openSession(); /关闭指定Session public static void closeSession(Session session) if(session != null) if(session.isOpen()
13、session.close(); 增加product的操作public class InsertProduct public static void main(String args) /创建Session Session session = HibernateUtil.getSession() ; /开启事务 session.beginTransaction(); /实例化一个Product Product product = new Product(); product.setId(0511234); product.setName(冰箱); product.setPrice(1250.0
14、0); 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 =
15、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(); / 关闭session ibernateUtil.closeSession(
16、session); 其他的删除和修改类似。3.运行结果完成插入删除后的结果。实验三 SSM整合实验 1.实验类型验证类型2.实验目的掌握ssh的整合过程,能够使用ssh创建网站。3.实验要求1.使用hibernate实现数据库表的插入和查询2.用Struts 2实现REST API3.使用Spring实现service的注入。4.实验内容 1.applicationContext.xml文件配置 com.mysql.jdbc.Driver jdbc:mysql:/localhost/javaweb root admin org.hibernate.dialect.MySQLDialect false com/javaweb/po/User.hbm.xml 2.struts.xml 文件配置. /showAll.jsp /showAll.action /showAll.action /add.jsp /add.jsp /s
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1