javaEE实验报告.docx
- 文档编号:20128641
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:19
- 大小:51.79KB
javaEE实验报告.docx
《javaEE实验报告.docx》由会员分享,可在线阅读,更多相关《javaEE实验报告.docx(19页珍藏版)》请在冰豆网上搜索。
javaEE实验报告
西安科技大学
《JAVAEE框架开发技术》
实验报告
学院:
计算机科学与技术学院
专业及班级:
软件工程1202班
学号:
1208010212
姓名:
_黄子斌
2015年12
实验一struts基础实验
1.实验类型
验证型
2.实验目的
掌握Struts2开发环境的搭建;理解Struts2工作流程;掌握Struts2的web、xml文件的配置;掌握config_browser插件的使用。
3.实验要求
搭建Struts2的开发环境;实现用户登录;使用log4j输出调试信息。
4.实验内容
1.Web、xml文件的配
在该文件中主要配置默认启动的jsp界面,还有filter过滤器。
使用Apache的StrutsPrep
areAndExecuteFilter类进行拦截。
xmlversion="1、0"encoding="UTF-8"?
>
xsi=""xmlns=""xsi: schemaLocation=""id="WebApp_ID"version="3、0"> 2.struts、xml文件配置 对action的拦截及使用com、javaweb、action、RegisterAction处理。 xmlversion="1、0"encoding="UTF-8"? > DOCTYPEstrutsPUBLIC "-//ApacheSoftwareFoundation//DTDStrutsConfiguration2、3//EN" ""> --定义register的Action,其实现类为com、javaweb、action、RegisterAction--> --定义处理结果与视图资源之间的关系--> 3.Action的实现 主要核心处理功能。 packagecom、javaweb、action; //导入关键类 publicclassRegisterActionextendsActionSupport{ privateStringusername; privateStringpassword; privateStringrepassword; //实现getter与setter以及构造器部分略 publicvoidvalidate(){ //判断用户名就是否输入,如果输入了再判断格式就是否正确 if(username==null||""、equals(username)){ this、addFieldError("username","用户名必须输入"); }elseif(! Pattern、matches("\\w{6,20}",username、trim())){ this、addFieldError("username","用户名必须就是字母与数字,长度为6到20之间"); } //判断密码就是否输入,如果输入了再判断格式就是否正确 if(password==null||""、equals(password)){ this、addFieldError("password","密码必须输入"); }elseif(! Pattern、matches("\\w{6,20}",password、trim())){ this、addFieldError("password","密码必须就是字母与数字,长度为6到20之间"); } //判断确认密码就是否输入,如果输入了再判断格式就是否正确 if(repassword==null||""、equals(repassword)){ this、addFieldError("repassword","确认密码必须输入"); }elseif(! Pattern、matches("\\w{6,20}",repassword、trim())){ this、addFieldError("repassword","确认密码必须就是字母与数字,长度为6到20之间"); } //判断确认密码与密码就是否相同 if(password! =null&&repassword! =null&&! repassword、equals(password)){ this、addFieldError("repassword","确认密码与密码必须相同"); } //判断年龄就是否合法 if(age<0||age>130){ this、addFieldError("age","请输入有效的年龄"); } //判断出生日期就是否合法 Calendarstart=Calendar、getInstance(); Calendarend=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-Z][a-zA-Z0-9、_-]*@([a-zA-Z0-9-_]+\\、)+(com|gov|net|com\\、cn|edu\\、cn)",email)){ this、addFieldError("email","请输入正确的邮箱地址"); } } publicStringexecute()throwsException{ returnSUCCESS; } } 4. 运行结果 实验二持久化层hibernate 1.实验类型 验证类型 2.实验目的 掌握hibernate访问数据库,以及对数据库进行操作。 3.实验要求 1.实现对product表的插入查询 2.编写product表的操作的junit的测试 4.实验内容 1.hibernate、cfg、xml文件配置 该文件就是hibernate最重要的一个配置文件。 在这里配置了连接数据库的信息,比如数据库连接字符串,驱动,用户名,用户密码还有数据库方言等等。 还有指定映射文件。 DOCTYPEhibernate-configurationPUBLIC"-//Hibernate/HibernateConfigurationDTD3、0//EN" ""> --数据库连接URL--> jdbc: mysql: //localhost/javaweb --数据库连接驱动--> --数据库用户名--> --数据库用户密码--> --数据库方言--> --指定映射文件--> 2.实体类与映射文件 1.实体类product packagecom、javaweb、ch17、hibernate; publicclassProduct{ //产品ID privateStringid; //产品名称 privateStringname; //产品价格 privatedoubleprice; //对每一个属性设置getter与setter方法略。 } 2.映射文件Product、hbm、xml xmlversion="1、0"? > DOCTYPEhibernate-mappingPUBLIC "-//Hibernate/HibernateMappingDTD3、0//EN" ""> --每个class对应一个持久化对象--> --id元素用来定义主键标识,并指定主键生成策略--> --定义其她属性--> 3.创建数据库操作 在CreateDB、java文件就是创建数据库的主入口。 importorg、hibernate、tool、hbm2ddl、SchemaExport; publicclassCreateDB{ publicstaticvoidmain(String[]args){ //读取配置文件hibernate、cfg、xml Configurationcfg=newConfiguration()、configure(); //创建SchemaExport实例 SchemaExportsExport=newSchemaExport(cfg); //创建数据库表 sExport、create(true,true); } } 4.Product的增删查 这个自定义实现一个操作操作的工具类。 publicclassHibernateUtil{ privatestaticSessionFactoryfactory; static{ //读取配置文件hibernate、cfg、xml Configurationcfg=newConfiguration()、configure(); //创建SessionFactory factory=cfg、buildSessionFactory(); } //获得SessionFactory实例 publicstaticSessionFactorygetSessionFactory(){ returnfactory; } //获得Session实例 publicstaticSessiongetSession(){ returnfactory、openSession(); } //关闭指定Session publicstaticvoidcloseSession(Sessionsession){ if(session! =null){ if(session、isOpen()){ session、close(); }}} } 增加product的操作 publicclassInsertProduct{ publicstaticvoidmain(String[]args){ //创建Session Sessionsession=HibernateUtil、getSession(); //开启事务 session、beginTransaction(); //实例化一个Product Productproduct=newProduct(); product、setId("0511234"); product、setName("冰箱"); product、setPrice(1250、00); session、save(product);//保存数据 session、getTransaction()、commit();//事务提交 ibernateUtil、closeSession(session); } } 查询所有信息 publicclassQueryAllProduct{ publicstaticvoidmain(String[]args){ Sessionsession=HibernateUtil、getSession(); Productp=null; Stringhql="FROMProductaspro";//使用HQL查询 Queryq=session、createQuery(hql);//通过Query方法查询 Listlist=q、list();//查询结果保存到list中 Iteratoriter=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(session);} } 其她的删除与修改类似。 3.运行结果 完成插入删除后的结果。 实验三SSM整合实验 1.实验类型 验证类型 2.实验目的 掌握ssh的整合过程,能够使用ssh创建网站。 3.实验要求 1.使用hibernate实现数据库表的插入与查询 2.用Struts2实现RESTAPI 3.使用Spring实现service的注入。 4.实验内容 1.applicationContext、xml文件配置 xmlversion="1、0"encoding="UTF-8"? > --定义数据源Bean--> mysql: //localhost/javaweb --定义SessionFactory--> class="org、springframework、orm、hibernate3、LocalSessionFactoryBean"> org、hibernate、dialect、MySQLDialect --定义hibernateTemplate--> --配置DAO组件--> 2.struts、xml文件配置 xmlversion="1、0"encoding="UTF-8"? > …、、 --struts为配置文件根元素--> --Action必须放在指定的包名空间中--> --定义处理结果与视图资源之间的关系--> --定义处理结果与视图资源之间的关系--> --定义处理结果与视图资源之间的关系--> --定义处理结果与视图资源之间的关系--> --定义处理结果与视图资源之间的关系--> 3.工程代码结构分析 、javaweb、po层 业务实体类都放在该包里面。 比如用户的类与映射文件都放在这里。 、javaweb、dao
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javaEE 实验 报告