版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java Web应用开发计算机与软件学院王俊松第10章 后台用户管理模块 本章要点 后台管理总体规划 管理员功能模块设计与实现 后台会员功能模块设计与实现 ActionServlet Action ActionForm struts-config.xml第10章 后台用户管理模块 功能分析 E-Store后台主要由用户管理、商品信息管理、商城信息管理三大模块。 第10章 后台用户管理模块 本章功能模块 管理员登录 管理员增、删、改、查 会员查询、删除用户权限分析 会员 普通管理员 超级管理员10.1 E-Store后台总体规划总体规划 JSP组件存放在WebRoot下 ActionForm组件
2、存放在com.mycompany.struts.form中 Action组件存放在com.mycompany.struts.action中 数据库存取组件DAO存放在com.mycompany.struts.dao中10.2 管理员登录设计与实现功能说明 与E-Store电子商城的前台不同,前台的未登录用户可以浏览和查询商品,后台管理员只有登录后才能进行所有相关操作,后台登录页面:10.2 管理员登录设计与实现 普通管理员登录界面 10.2 管理员登录设计与实现 超级管理员登录界面10.2 管理员登录设计与实现流程分析与设计设计数据库字段名数据类型是否为空是否主键默认值描述idint(4)No
3、YesID(自动编号)accountvarchar(50)Yes管理员名称passwordvarchar(50)Yes登录密码namevarchar(50)Yes真实姓名signbit(1)No类型标识10.2 管理员登录设计与实现流程分析与设计设计数据库3)在数据库中创建表 数据库中创建tb_manager 数据表如图所示:10.2 管理员登录设计与实现功能流程图 10.2 管理员登录设计与实现为工程引入Struts支持 在Package Explorer选中当前工程,选择菜单MyeclipseProject CapabilitiesAdd Struts Capabilities如图,这样S
4、truts类库就被导入到当前Web应用中,本例中使用的Struts版本为Struts1.2。10.2 管理员登录设计与实现创建工具类DBConnection.java和CountTime.java CountTime获得系统当前时间:package com.mycompany.util;import java.util.Date;import java.text.DateFormat;public class CountTime public String currentlyTime() Date date = new Date();DateFormat dateFormat = DateFo
5、rmat.getDateInstance(DateFormat.FULL);return dateFormat.format(date);10.2 管理员登录设计与实现DAO类ManagerDAO.java ManagerDAO.java封装了与管理员有关的数据库操作。验证后台管理员登录时需要使用方法selectOne()获得管理员对象。 public ManagerForm selectOne(String account) 该方法以管理员名称为参数查询数据库获得管理员对象ManagerForm。在登录验证中,如果查询到该管理员则表示该管理员已经存在再对密码做下一步验证。 10.2 管理员登
6、录设计与实现创建后台登录页面land_back.jsp land_back.jsp与前台登录页面很相似,都需要包括一个FORM提交表单,但是Struts中的表单不是提交给某个JSP,而是提交给所谓的控制器来验证。 可以看到提交的对象是managerAction,而且还带了参数action。当然为了验证用户输入时是否合法,需要使用JavaScript脚本进行验证。 land_back.jsp在根目录下直接创建10.2 管理员登录设计与实现创建ActionForm组件类ManagerForm.java 1)在工程下创建包com.mycompany.struts.form2)参照创建普通类的方法,在
7、包com.mycompany.struts.form按右键,选择newClass,打开类创建页面如图所示 ,为ManagerForm增加属性account,id,name,password,sign,并使用工具自动生成get/set方法。 10.2 管理员登录设计与实现创建ActionForm组件类ManagerForm.java ManagerForm.java中定义的属性分别与数据库中的字段一一对应。其中ID为标识, sign为管理员属性标识,1标识超级管理员,0标识普通管理员,默认情况下定义sign为0。 ManagerForm.java中还生成了validate方法和reset方法,前
8、者是用来完成验证,后者是用来重置数据, 10.2 管理员登录设计与实现创建控制器组件ManagerAction.java land_back.jsp向控制器提交方法如下: ManagerAction负责具体的逻辑判断,它决定应用程序中有关管理员操作的流程 10.2 管理员登录设计与实现创建控制器组件ManagerAction.java 在代码编辑区域点击右键选择SourceOverride/Implement Methods10.2 管理员登录设计与实现创建控制器组件ManagerAction.java 选择需要覆盖的方法execute() 在execute()方法中先获得参数action,根
9、据action值选择具体的处理方法。10.2 管理员登录设计与实现配置文件修改1)web.xmlaction org.apache.struts.action.ActionServlet 对该Servlet的访问路径为 action *.do 类似*.do的访问都将被ActionServlet处理,称ActionServlet为中央控制器的原因。10.2 管理员登录设计与实现配置文件修改2)struts-config.xml Struts应用中struts-config.xml用来配置和连接Struts应用中各个组件。 10.2 管理员登录设计与实现landResult.jsp landRes
10、ult.jsp中先判断是否出错,如果出错,将弹出出错信息并返回登录页面;如果验证成功则跳转到后台主页面index_back.jsp。10.2 管理员登录设计与实现index_back.jsp 关于后台主页面的设计可以参照前台主页面index.jsp来实现。 index_back.jsp中将包含三个JSP文件,分别为: top_back.jsp left_back.jsp down_back.jsp 这几个JSP文件中包含的都是静态页面 10.2 管理员登录设计与实现提供ActionServlet组件的必要性 1)Web应用程序缺少主入口点2)为Web应用系统程序提供一个固定的访问入口 Acti
11、onServlet为Web应用系统提供一个固定的访问控制总入口,有利于对Web应用系统的控制和调度进行管理。10.2 管理员登录设计与实现ActionServlet组件的主要作用 1)ActionServlet系统定位 ActionServlet组件完成业务请求的预处理,而各个Action组件类则完成具体的业务请求的实际处理。2)ActionServlet组件为Web应用系统主调度程序 应用J2EE平台中的前端控制器的设计模式。10.2 管理员登录设计与实现ActionServlet组件的工作过程 1)ActionServlet 组件被加载的时机 由于ActionServlet组件为标准的J2
12、EE Servlet组件,当客户端请求时,Servlet容器将根据在web.xml中的和标签来加载该ActionServlet组件,并将它缓存在内存中,形成单对象多线程的效果。2)ActionServlet组件如何定位业务调度控制器组件 ActionServlet组件根据开发者在struts-config.xml配置文件中的特定请求处理器的设置来决定转向到哪个具体的后端业务控制器Action类中。 10.2 管理员登录设计与实现ActionServlet组件的可配置参数 部署描述文件中进行部署配置 struts-config.xml文件是一个基于Struts框架的Web应用系统的最重要的配置文
13、件。其中包含了所有的Action组件的请求、相应的Action处理类、ActionForm组件以及页面的转向等有关的信息配置。10.3 管理员查询功能说明 超级管理员登录后在left_back.jsp中有链接“后台管理员设置”,点击该链接将出现管理员查询结果页面10.3 管理员查询流程分析与设计 数据库访问设计 查询管理员时,需要在数据库操作类ManagerDAO.java中增加方法,selectManager方法将查询tb_manager返回所有管理员的信息。 /查询全部管理员的信息 public List selectManager() 10.3 管理员查询流程分析与设计 功能实现流程设计
14、 1)在index_back.jsp页面(包含left_back.jsp)中点击超级链接“后台管理员设置”, 后台管理员设置2)在ManageAction中增加处理方法managerSelect,当传递的参数action=1时,该方法被调用,方法查询所有的管理员信息并将结果保存在request对象的属性中。3)页面跳转至managerSelect.jsp。10.3 管理员查询流程分析与设计 管理员查询功能流程图 10.3 管理员查询编程详解1、修改ManagerAction.java 在switch中增加 case 1: return managerSelect(mapping, form,
15、request, response); /查询所有的管理员信息 并且增加方法managerSelect,将查询的管理员信息保存在list对象中,并将此list对象作为request对象的一个属性。 10.3 管理员查询编程详解2、创建managerSelect.jsp 在managerSelect.jsp中分页显示管理员信息 。3、修改配置文件struts-config.xml 增加forward项: 10.3 管理员查询Action组件 Struts框架中的Action组件类作为业务调度控制器而完成实际的业务功能请求的控制和管理,并根据请求的类型而实际调用特定的业务功能组件以完成最终的处理。
16、开发者在一般的应用开发状况下,只需要对Struts框架的标准Action组件类进行继承和扩展,并重写其中的execute()方法,然后在struts-config.xml配置文件中加以配置定义 10.3 管理员查询为什么要使用Action 使用Action的目的是为了将Web应用系统中的表示层和模型层分开。基于MVC系统架构模式的设计思想,需要在表示层和业务逻辑层之间增加一个关联的控制层,而在Struts框架的系统架构设计中是通过提供Action组件类来承担这样的职责。 另外Action组件类实现业务模块的调度,加载对应的表示层JSP页面以完成对用户请求的实际处理。 10.3 管理员查询如何实
17、现自己的业务控制器 由于Struts框架中从总体应用方面是采用继承的方式实现对应用系统的功能扩展,因此所有用户自己的业务控制器Action处理器组件类都必须从Struts框架的API中的org.apache.struts.action.Action类进行派生,并在子类中重写基类的execute()方法。 Action组件类的核心职责为:访问业务层组件并为表现层目标组件准备结果数据对象,并通过RequestDispatcher转发到目标页面进行显示输出,同时也处理其中出现的各种异常和错误 10.3 管理员查询Action组件类的编程原则Action组件类更多的是承担“控制和协调”的职责。因此,不
18、要在Action组件类中写太多的业务功能实现的代码,而具体的业务功能实现则应该是通过调用相应的JavaBean组件或者EJB等业务功能组件来完成对业务功能的处理 10.3 管理员查询Action组件的一般编程模式 1) 获得业务请求参数,并辅助ActionForm组件进行一些表单数据的逻辑检查 2) 执行必要的业务逻辑的前期处理,比如存取数据库、参数和环境的初始化 3) 调用业务JavaBean或者EJB Bean组件等,但不应该自己完成具体的业务功能实现 4) 业务处理后的状态结果实现10.4 管理员添加功能说明 超级管理员可以为系统添加新的管理员用户,添加的管理员为普通管理员。添加管理员时
19、需要注册“用户名”,“密码”,“姓名”等字段 10.4 管理员添加添加管理员成功页面 10.4 管理员添加流程分析与设计 数据库访问设计 添加管理员时,需要在数据库操作类ManagerDAO.java中增加方法insertManager。 /添加管理员 public void insertManager(ManagerForm form) 10.4 管理员添加流程分析与设计 管理员添加功能流程图 10.4 管理员添加 编程详解 1、创建视图managerInsert.jsp 2、修改ManagerAction.java 1)在switch (action)中添加case 3: return m
20、anagerInsert(mapping, form, request, response); /添加管理员信息 2)添加方法managerInsert 10.4 管理员添加 编程详解 3、修改struts-config.xml 为ManagerAction增加一个name=managerInsert的forward配置项。 10.4 管理员添加 编程详解 ActionForm 在Struts框架中通过提供ActionForm组件来解决表单提交的问题。ActionForm本质上也是JavaBean组件,这个组件通过捕获HTTP请求获得提交表单的参数从而填充自己。利用ActionForm和Str
21、uts框架所提供的自定义标签库技术相互结合,可以实现对客户端的页面表单数据的良好封装和支持。10.4 管理员添加 编程详解 编写用户自定义ActionForm组件类 所有用户自定义的ActionForm组件类都必须继承于抽象基类org.apache.struts.action.ActionForm类,并且在用户自定义的ActionForm组件类中的各种成员属性的名称和数据类型必须要和请求页面表单中的各个字段相互对应,目的是使得Struts框架系统程序能够完成客户请求数据的自动化获取。10.5 管理员删除 功能说明 超级管理员具有删除普通管理员的权限。在管理员信息的查询页面中可以通过点击“删除”
22、链接完成删除某个管理员操作。10.5 管理员删除删除结果页面 10.5 管理员删除流程分析与设计 数据库访问设计 删除管理员,需要在数据库操作类ManagerDAO.java中增加方法deleteManager。 /删除管理员的操作 public void deleteManager(Integer id) 10.5 管理员删除流程分析与设计 功能实现流程设计 1)在managerSelect.jsp增加删除链接a href=javascript:deleteManager()删除2)javascript脚本方法deleteManager调用ManagerAction的方法完成删除操作3)删除
23、成功后将删除成功信息保存到request对象中并通过调用方法managerSelect跳转至managerSelect.jsp10.5 管理员删除管理员删除功能流程图 10.5 管理员删除编程详解 1、修改ManagerAction.java 1)在switch (action)中添加 case 4: /删除管理员信息 return managerDelete(mapping, form, request, response); 2)添加方法managerDelete/删除管理员信息public ActionForward managerDelete() 10.5 管理员删除 Struts H
24、TML标签 Struts HTML标签可以和标准的HTML标签完成相同的功能,在Struts应用中提倡使用Struts HTML标签这是因为这些标签可以和Struts框架的其他组件紧密结合在一起,例如, 标签用来定义HTML表单,Struts框架能够把这个表单中的数据自动映射到相应的ActionForm组件中。Struts HTML标签大致分为以下几类: 用于生成基本的HTML元素的标签 用于生成HTML表单的标签 显示错误或正常消息的标签10.5 管理员删除用于生成基本的HTML元素的标签 Struts HTML标签库中的许多标签的哦和基本的HTML元素对应,这些标签包括: : 生成HTML 元素 : 生成HTML元素 :生成HTML Anchorage元素 :生成用户请求的URL :生成HTML元素10.5 管理员删除用于生成基本的HTML元素的标签 1)标签 标签用于在网页的开头生成HTML的元素。2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025 高中信息技术数据与计算之数据在移动支付风险防控策略分析中的应用课件
- 家庭春季健康防护课件
- 无公害农产品生产全流程规范与管理
- 2026年转基因玉米大豆产业化示范推广工作指南
- 2026年服务业领域反垄断审查与经营者集中申报指南
- 2026年量子SIM卡手机终端会话加密充注技术
- 2026年轻工纺织高端供给不足问题破解路径
- 2026年遥感物联网人工智能技术融合应用
- 2026年无人机物流隐私数据保护合规指引
- 2026年数据安全治理与发展安全数据中台建设
- 化工风险辨识培训
- 学校水污染事故责任追究制度
- 新洲租房合同范本
- 肝硬化肝性脑病诊疗指南(2024年版)解读 课件
- 现代家政导论-课件 3.1.1认识家庭生命周期(上课)
- 标准设计招标文件(2017年版)
- 第52讲、立体几何中的轨迹问题(教师版)
- 大学实验室租赁合同范本
- 酒店数字化运营概论 课件 3.2 酒店网络分销渠道认知
- (高清版)TDT 1090-2023 国土空间历史文化遗产保护规划编制指南
- MOOC 中国近现代史纲要-武汉大学 中国大学慕课答案
评论
0/150
提交评论