当前位置:文档之家› javaEE实验报告

javaEE实验报告

科技大学《JAVAEE框架开发技术》实验报告学院:计算机科学与技术学院专业及班级:软件工程1202班学号: 1208010212 :_ 黄子斌2015年12目录实验一 struts基础实验 (3)1. 实验类型 (3)2. 实验目的 (3)3. 实验要求 (3)4. 实验容 (3)1. Web.xml文件的配 (3)2. struts.xml文件配置 (4)3. Action的实现 (4)4. 运行结果 (6)实验二持久化层hibernate (6)1. 实验类型 (6)2. 实验目的 (6)3. 实验要求 (6)4. 实验容 (7)1. hibernate.cfg.xml文件配置 (7)2. 实体类和映射文件 (7)3. 运行结果 (10)实验三 SSM整合实验 (10)1. 实验类型 (10)2. 实验目的 (10)3. 实验要求 (11)4. 实验容 (11)1. applicationContext.xml文件配置 (11)2. struts.xml 文件配置 (12)3. 工程代码结构分析 (13)4. 运行结果 (14)实验总结 (15)实验一 struts基础实验1.实验类型验证型2.实验目的掌握Struts2开发环境的搭建;理解Struts 2工作流程;掌握Struts 2 的web.xml 文件的配置;掌握config_browser插件的使用。

3.实验要求搭建Struts 2的开发环境;实现用户登录;使用log4j输出调试信息。

4.实验容1.Web.xml文件的配在该文件中主要配置默认启动的jsp界面,还有filter过滤器。

使用Apache的StrutsPrep areAndExecuteFilter类进行拦截。

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance"xmlns="java.sun./xml/ns/javaee" xsi:schemaLocation="java.sun./xml/ns/javaee java.sun./xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>javaweb16ValidateDemo</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><filter> <filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFi lter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>2.struts.xml文件配置对action的拦截及使用com.javaweb.action.RegisterAction处理。

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""/dtds/struts-2.3.dtd"><struts><package name="struts2" extends="struts-default"><!-- 定义register的Action,其实现类为com.javaweb.action.RegisterAction--><action name="register" class=".javaweb.action.RegisterAction"> <!-- 定义处理结果与视图资源之间的关系--><result name="success">/result.jsp</result><result name="input">/register2.jsp</result></action></package></struts>3.Action的实现主要核心处理功能。

package .javaweb.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 ( !Pattern.matches("\\w{6,20}", username.trim())) {this.addFieldError("username","用户名必须是字母和数字,长度为6到20之间");}//判断密码是否输入,如果输入了再判断格式是否正确if( password == null || "".equals(password)){this.addFieldError("password","密码必须输入") ;}else if( !Pattern.matches("\\w{6,20}", password.trim())) {this.addFieldError("password","密码必须是字母和数字,长度为6到20之间");}//判断确认密码是否输入,如果输入了再判断格式是否正确if(repassword == null || "".equals(repassword)){this.addFieldError("repassword","确认密码必须输入") ;}else if( !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","请输入有效的年龄");}//判断出生日期是否合法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-Z][a-zA-Z0-9._-]*([a-zA-Z0-9-_]+\\.)+(|gov|net|\\.cn |edu\\.cn)", email)){this.addFieldError("email","请输入正确的地址");}}public String execute() throws Exception {return SUCCESS;}}4. 运行结果实验二 持久化层hibernate1. 实验类型验证类型2. 实验目的掌握hibernate 访问数据库,以及对数据库进行操作。

3. 实验要求1. 实现对product 表的插入查询2. 编写product 表的操作的junit 的测试图 1-2图 1-24.实验容1.hibernate.cfg.xml文件配置该文件是hibernate最重要的一个配置文件。

相关主题