当前位置:文档之家› JavaWeb期末大作业

JavaWeb期末大作业

西安欧亚学院2015—2016学年第二学期考试成绩评定表专业:软件工程课程:Web开发技术(Java)年级:14级《Web开发技术(Java)》大作业姓名:题目:Web开发技术大作业专业:软件工程班级:日期:目录1.JSP开发概述 (1)1.1.JSP M ODEL1 (1)1.2.JSP M ODEL2 (1)1.3.MVC设计模式 (2)2.JSP MODEL1案例 (4)2.1功能描述 (4)2.2C ACULATOR类分析 (4)2.3JSP页面代码分析 (4)2.4功能实现 (4)2.5测试用例设计 (6)3.JSP MODEL2案例 (7)3.1功能描述 (7)3.2MVC架构分析 (7)3.3M ODEL层类分析 (8)3.4控制类分析 (8)3.5V IEW层界面分析 (8)3.6功能实现 (8)3.7测试用例设计 (10)1. JSP 开发概述1.1. JSP Model1JSP Model 1采用了JSP+JavaBean 的技术,将页面显示和业务逻辑分开。

其中,JSP 实现流程控制和页面显示,JavaBean 对象封装数据和业务逻辑。

接下来通过一张图来描述JSP Model 1的工作原理,如图1-1所示。

图1-1 JSP Model 1模型的工作原理图从图1-1中可以看出,JSP Model 1模型将封装数据以及处理数据的业务逻辑的任务交给了JavaBean 组件,JSP 只负责接受用户请求和调用JavaBean 的组件来响应用户的请求,这种设计实现了数据,业务逻辑和页面显示的分离,在一定程度上实现了程序开发的模块化,降低了程序修改和维护的难度。

1.2. JSP Model2JSP Model 2架构模型采用JSP+Servlet+JavaBean 的技术,此技术将原本JSP 页面中的流程控制代码提取出来,封装到Servlet 中,从而实现了整个程序页面显示、流程控制和业务逻辑的分离。

实际上JSP Model 2模型就是MVC 设计模式,其中控制器的角色是由Servlet 实现,视图的角色是由JSP 页面实现,模型的角色是由JavaBean 实现。

接下来通过一张图来描述Model 2的工作原理,如图1-2所示。

从图1-2中可以看出,Servlet 充当了控制器的角色,它接受用户请求,并实例化JavaBean 对象封装数据和对业务逻辑进行处理,然后将调用JSP 页面显示JavaBean 中的数据信息。

JavaBean浏览器JSP请求响应数据库保存或 修改数据读取数据图1-2 JSP Model 2模型的工作原理图1.3. MVC 设计模式MVC 设计模式是施乐帕克研究中心在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,提供了一种按功能对软件进行模块划分的方法。

MVC 模式将软件程序分为三个核心模块:模型(Model )、视图(View )和控制器(Controller ),这三个模块的作用如下所示。

1.模型模型(Model )负责管理应用程序的业务数据以及定义访问控制和修改这些数据的业务规则。

当模型的状态发生改变时,它会通知视图发生改变,并为视图提供查询模型状态的方法。

2.视图视图(View )负责与用户进行交互,它从模型中获取数据向用户展示,同时也能将用户请求传递给控制器进行处理。

当模型状态发生改变时,视图会对用户界面进行同步更新,从而保持与模型数据的一致性3.控制器控制器(Controller )是负责应用程序中处理用户交互的部分,它负责从视图中读取数据,控制用户输入,并向模型发送数据。

接下来通过一张图来描述MVC 组件类型的关系和功能,如图1-3所示。

从图1-3可以看出这三个模块的关系,借助这个图例来梳理一下MVC 模式的工作流程:当控制器接收到用户的请求后,他根据请求信息调用模型组件的业务方法,控制器调用模型组件处理完毕后,根据模型的返回结果选择相应的视图组件来显示处理结果和模型中的数据。

浏览器Servlet (Controller)JSP(View)JavaBean (Model)数据库请求响应选择视图实例化保存或 修改数据读取数据(模型)封装程序内部的数据状态封装业务处理方法内部状态改变通知视图(视图)显示模型中的数据接收模型的数据更新通知将用户操作传递给控制器(控制器)接受用户的操作调用模型的业务处理方法选择响应用户操作的视图选择视图用户操作请求数据状态查询状态改变通知调用业务方法和修改数据图1-3 MVC模型组件类型的关系和功能图2.JSP Model1案例2.1功能描述该网页计算器可以实现加减乘除四则运算操作。

2.2Caculator类分析1.类UML图CalculatorfirstNum :StringsecondNum :Stringoperator :charerrors :Map<string,stirng>set() :get() :calculate() :Stringvalidate() :boolean图2-1 类UML图2.JavaBean特性分析JavaBean是java开发语言中的一个能够重复使用的软件组件,本质上还是一个Java类,并且它要遵循一定的编码规范。

它必须有一个公共的,无参的构造方法,编译器可以自动生成。

它提供公共的setter方法和getter方法,让外部程序设置和获取JavaBean的属性。

3.主要方法功能分析calculate(); 此方法主要用于计算。

validate(); 此方法主要用于验证用户输入的数据是否合法。

2.3JSP页面代码分析JSP标签用于获取用户输入的数据,jsp脚本验证用户输入的数据是否合法,form表单显示用户输入的界面。

2.4功能实现图2-2 计算器界面图2-3 加法计算演示图2-4 减法计算演示图2-5 乘法计算演示图2-6 除法计算演示2.5测试用例设计测试序号测试实例测试结果1第一个数字输入第二个数字不输入第二个运算数不能为空2第一个第二个输入符号需要重新输入3第一个第二个输入正确格式得出正确结果表2-1 测试用例3. JSP Model2案例3.1 功能描述在网页上注册一个账户。

3.2 MVC 架构分析1. 系统架构图图3-1 系统架构图2. 系统运行流程图3-2 系统运行流程(模型)封装程序内部的数据状态封装业务处理方法内部状态改变通知视图(视图) 显示模型中的数据 接收模型的数据更新通知 将用户操作传递给控制器 (控制器)接受用户的操作调用模型的业务处理方法 选择响应用户操作的视图选择视图 用户操作请求 数据状态查询 状态改变通知 调用业务方法和修改数据register.jsp ControllerServletloginSuccess.jspRegisterFormBean UserBeanDButil3.3 Model 层类分析1. 类UML 图图3-3 类UML 图2. RegisterFormBean 类合法性验证方法分析封装注册表单信息的JavaBean ,validate ()方法用于判断表单信息是否合法。

3. DBUtil 类分析DBUtil 是一个单例类,他实现了两个功能。

第一个功能是定义一个HasMap 集合users ,用于模拟数据库,并向数据库中存入了两条学生信息。

第二个功能是定义了getUser ()方法和insertUser ()方法来操作数据库,其中getUser ()方法用于回去数据库中的用户信息,insertUser()方法用于向数据库中插入用户信息。

3.4 控制类分析用于处理用户请求,如果注册成功,则跳转到loginSuccess.jsp 界面,否则跳转到register.jsp 界面。

3.5 View 层界面分析 1. Register.jsp用于显示注册界面,将注册请求发送给ControllerServlet 程序处理。

2. LoginSuccess.jsp用于显示用户注册成功后显示用户注册信息。

3.6 功能实现RegFormBean name:Stirng passWord:String checkWord:Stirng email:Stringset() get()validate():booleanUserBean name:Stirng passWord:String email:String set() get()图3-4 注册界面图3-5 注册自动纠错功能图3-6 注册成功自动跳转到登陆信息页面图3-7 登录信息页面3.7测试用例设计测试序号测试实例测试结果1 用户名不输入请输入姓名.2 两次密码输入不一样两次输入的密码不匹配.3 email不输入请输入邮箱.4 email输入错误邮箱格式错误.5 密码输入长度<6或>12 请输入6~12个字符.6 输入正确格式注册成功,3秒跳转,显示注册信息表3-1 测试用例。

相关主题