logo资料库

MyEclipse开发基于MVC 模式的WEB应用实例讲解.pdf

第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
资料共30页,剩余部分请下载后查看
MyEclipse 开发基于  MVC  模式的 WEB 应用 实例讲解  ­­­­­­­《struts  框架开发实战》 行胜于言 (QQ:624600325)整理共享  ­­­­­­  一、开发步骤 软件开发通常包括的五个步骤:  1、 分析 2、设计 3、编码 4、测试 5、发布 本文档以 addressbook  应用为例, 阐述对 struts 应用进行需求分析 设计开发的过程和方 法,步骤如下:  1、 收集和分析应用需求  2、 设计数据库  3、 设计应用的业务逻辑组件  4、 设计客户界面  5、 设计 ActionForm  6、 设计 Action  二、需求分析 理解客户的业务过程,分析员和具有业务知识的客户沟通,发现需求,绘制 UML 用例 图、编写用例文档。  Addressbook  应用的需求:  A、 安全登入  B、添加好友  C、根据特定条件查询好友  D、 列出所有好友  E、安全登出 用例图
用例详细描述表 用例 前置条件 主事件流 其他事件流 后置条件  A、安全登入 无 码,安全登入,显示应用主 用户输入正确的用户名密 菜单  1、 如果用户未输入用户名密码 提示用户名和密码不为空  2、 如果用户输入非法用户名密 码提示用户名密码不正确 B、添加好友 用户已经安全登陆系统 把用户输入的信息保存到 如果用户未输入姓名电话地址 数据库,返回提示信息:记 提示错误信息:姓名密码地址 录已经被成功保存 不能为空 C、查询好友 用户已经安全登陆系统 用户输入模糊查询条件 (如 如果用户没有输入任何信息, 姓名,电话,地址),返回 提示:必须至少提供一个查询 D、列出所有好友 用户已经安全登陆系统 返回所有好友信息 E、安全登出 用户已经安全登入系统 结束当前 http 会话,返回  符合条件的记录 条件 无 无 welcome 页面 无  无  无  无  无 三、数据库设计 本系统需要存储好友信息到数据库,需要建数据库和相应表 数据库名:ADDRESSBOOKSAMPLE  表 ADDRESSBOOK_TABLE 结构 字段 类型 ID  NAME  PHONE  ADDRESS  Int(4) Char(25) Char(10) Char(50) 说明  记录 ID  ,自动增长,主键  好友姓名  好友电话  好友地址 系统登陆认证数据保存在 xml 文档中。文档名 userdatabase.xml  文档内容如下: 四、业务逻辑组件设计  Struts  框架中,模型组件负责完成业务逻辑,模型组件可以是 Java  Bean  、Ejb 组 件、实体类。本应用包括以下业务逻辑:  1、 访问 xml 格式用户信息  2、 访问和操纵数据库,包括添加,查询信息。 设计相应业务逻辑实现类  UserDatabaseServlet  :负责访问 userdatabase.xml  文件,加载认证用户信息存放到  Hashtable 中。  DbUtil  :负责建立数据库的连接,提供 connectToDb()方法,该方法建立和数据 库的连接并返回这个连接。  AddressBookBean  :代表好友信息,包括  name,phone,address  字段。负责查询 添加数据库的功能。
Constants:应用用到的常量类;  UserBean:系统认证用户类,由 UserDatabaseServlet 类使用。  UML 类图
五、 用户界面设计 用户界面是 WEB 应用和用户交互的窗口。 本应用的界面列表 无 说明  欢迎页面提供登陆连接 用户登陆,可编辑 添加好友信息,可编辑 查询数据,可编辑 字段 字段类型 界面 Welcome(index.jsp) 无 username,password  字符 登陆界面 logon.jsp  添加数据(insert.jsp)  name,phone, address  字符 查询数据 (search.jsp)  name,phone, address  字符 显示数据(display.jsp)  Name,phone,address  字符 主 (mainMenu.jsp) 添 加 数 据 确 认 界 面 (confirmation.jsp) 根据用例事件流可以确定界面的访问入口和切换关系,UML 状态图 如下: 提供操作菜单 显示确认信息 菜 单 无 无 无 只读 无 六、设计 ActionForm  ActonForm bean  用于在视图组件和控制器组件之间传递 Html 表单数据, 它的 validate  方法用于对用户输入的数据进行合法性验证,不涉及对数据的业务逻辑验证。 本应用的 ActionForm Bean 列表  ActionForm  LogonForm  InsertForm  SearchForm  属性  username,password  name,phone,addres  name,phone,address  Validate()方法  都不为空  都不为空  不都为空
七、设计 Action  和 ActionForm 的映射  Action  负责单个事件的流程控制,根据本应用的用例,可以创建以下  Action:  LogonAction、LogoffAction、InsertAction、SearchAction、DisplayAllAction  Action 映射决定了 Action 与其他 web 组件之间的关联关系。  Action  LogonAction  LogoffAction  InsertAction  SearchAction  DisplayAllAction  入口  logon.jsp  mainMenu.jsp  insert.jsp  search.jsp  mainMenu.jsp  Action 组件映射图: Action 映射表  ActionForm  LogonForm  无  InsertForm  SearchForm  无  出口  mainMenu.jsp  index.jsp  confirmation.jsp  display.jsp  display.jsp  八、实战开发过程  1、打开 MyEclipse  新建 Web  工程  addressbook。
添加 struts 性能:在工程单击右键选择:MyEclipse­­>Add Struts Capabilites....
完成后目录结构如下:  2、 业务逻辑组件编码 依据业务逻辑组件设计部分的说明编写相关类代码。这些类有:Constants.java  UserBean.java DbUtil.java AddressBookBean.java UserDatabaseServlet.java  把这几个 类放到 model 包里。 新建 model 包
新建  Constants 类 package com.mycompany.struts.model; public class Constants { // Session keys public static final String DATABASE_KEY = "database"; public static final String USER_KEY = "user"; public static final String SQLSTMT_KEY = "sqlstatement"; // Forward values public static final String FORWARD_SUCCESS = "success"; public static final String FORWARD_FAILURE = "failure"; public static final String FORWARD_ERROR = "error"; public static final String FORWARD_CONFIRMATION = "confirmation"; public static final String FORWARD_INSERT = "insert"; // Jsp files references in this application public static final String DISPLAY_JSP = "/display.jsp"; public static final String INDEX_JSP = "/index.jsp"; public static final String LOGOFF_JSP = "/logoff.jsp"; public static final String LOGON_JSP = "/logon.jsp"; public static final String MAIMENU_JSP = "/mainMenu.jsp"; public static final String SEARCH_JSP = "search.jsp"; // Database table name used for this sample public static final String TABLENAME = "ADDRESSBOOK_TABLE"; } 新建 UserBean 类 package com.mycompany.struts.model; public class UserBean { private String password = null; private String userName = null; public String getPassword() { return password; } public void setPassword(String password) {
分享到:
收藏