十一天SSH项目快速实战课程(第3天)

1 项目介绍

1.1 项目背景

国税协同办公平台包括了行政管理、后勤服务、在线学习、纳税服务、我的空间等几个子系统;我们本次主要的开发功能是纳税服务子系统的部分模块和基于纳税服务子系统信息的个人工作台首页。纳税服务子系统是办税PC前端或移动端的后台管理系统,主要包括的功能有系统角色管理、用户管理、信息发布管理、投诉受理、纳税咨询、易告知、服务预约、服务调查等模块。

十一天SSH项目快速实战课程(第3天)

十一天SSH项目快速实战课程(第3天)

————————————————————————————

此处上接实战第二天课程内容

4 抽取BaseAction

在action中继承了ActionSupport和其它一些公共属性,如selectedRow等;可能以后还会产生更多公共的内容,所以应该把这些共有的抽取出来,放入到一个基本action中,我们命名为BaseAction,让它去继承ActionSupport和其它公共属性,其它的action只要继承它就可以了。

5 系统异常处理

当在页面中发送了请求,请求被系统处理时出现错误时,如果没有特别处理在请求过程中出现的异常信息时,那么返回给用户的则是后台的异常信息页面;为避免直接将这报错的页面呈现给用户,可对这报错进行处理。

5.1 分层异常

在本系统中的后台处理有分3个层,分别是action、service和dao层,每个层次都有可能出现相应错误。① Action层可能出现解析请求参数、返回结果有问题;② Service 层则可能出现请求中要做的业务操作出现问题;出现了问题要根据实际情况判断是否会影响本次操作结果,action中要根据异常信息进行判断然后确定是否操作成功;③ dao层也可能出现在操作数据库时出现错误;而此种错误一般都是致命的会影响操作结果。以此;在3个层次中至少要有两种类型的异常信息来标识。

制定总的系统异常类:

十一天SSH项目快速实战课程(第3天)

Action层异常类:

十一天SSH项目快速实战课程(第3天)

Service层异常类:

十一天SSH项目快速实战课程(第3天)

5.2 异常处理

5.2.1 全局异常映射

在struts总配置文件(struts.xml)中配置一个包括 全局异常映射和全局结果的package,然后让其它所有的业务模块的struts配置文件(*-struts.xml)继承后便可处理由后台抛出的特定异常并处理。

在总配置文件struts.xml中:

十一天SSH项目快速实战课程(第3天)

在子业务模块中的*-sturts.xml中继承总配置文件中的package:

十一天SSH项目快速实战课程(第3天)

在具体的后台处理代码中抛出系统异常:

十一天SSH项目快速实战课程(第3天)

如果在action中只抛出了ActionException,那么非此异常出现时,如果在全局异常映射中配置了java.lang.Exception 异常类的映射,同样可以捕获。

5.2.2 制定返回类型(StrutsResultSupport)

在有特殊情况时;如果没有异常信息,但是有错误并且有错误信息等内容;此时也需要进行友好的错误处理的话,那么可以借助StrutsResultSupport 返回结果类型来实现特定处理。此种方式先需要继承StrutsResultSupport ,然后可以在子类中获取本次请求的相关信息,再根据相关信息进行结果处理:

十一天SSH项目快速实战课程(第3天)

在struts.xml总配置文件中定义全局处理类型和全局处理结果:

十一天SSH项目快速实战课程(第3天)

6 角色管理

6.1 角色与权限说明

6.1.1 角色与权限的关系

系统中可以存在多个角色,每个角色可以自由的组合系统定义的权限集合。即角色和权限的关系是多对多的关系。为了保存这种多对多关系,需要一个角色权限表来保存。角色与角色权限的关系是一对多的关系;而权限与角色权限的关系也为一对多关系。

6.1.2 定义系统权限集

将系统中需要使用到的权限先定义出来:粗粒度的分为各个子系统的访问权限;这些权限可以定义在常量文件中。

十一天SSH项目快速实战课程(第3天)

6.2 角色管理CRUD

6.2.1 实体类及映射文件

1 Role/Role.hbml.xml

十一天SSH项目快速实战课程(第3天)

2 RolePrivilege/RolePrivilegeId,RolePrivilege.hbm.xml

十一天SSH项目快速实战课程(第3天)

十一天SSH项目快速实战课程(第3天)

6.2.2 dao、service层主要操作方法

dao中主要方法:

十一天SSH项目快速实战课程(第3天)

service中主要方法:

十一天SSH项目快速实战课程(第3天)

6.2.3 action中主要方法

十一天SSH项目快速实战课程(第3天)

十一天SSH项目快速实战课程(第3天)

6.2.4 配置文件

配置role-spring.xml及role-struts.xml,并将role-struts.xml加入到struts.xml总配置文件中。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年3月15日 上午9:54
下一篇 2024年3月15日 上午10:10

相关推荐

  • 环保工程项目管理

    环保工程项目管理 随着全球环境问题的日益严重,环保工程项目管理成为了一个日益重要的话题。环保工程项目是指在保护环境的同时,实现经济效益和社会效益的工程项目。在这些项目中,项目管理至…

    科研百科 2024年8月21日
    57
  • 北京 医院 党支部 参与决策

    北京医院党支部参与决策 北京医院党支部是北京医院最重要的一支政治组织,它的成员都是医院的高级领导,主要负责监督和指导医院的工作,确保医院在党的路线方针政策指导下开展工作。 在过去的…

    科研百科 2024年10月18日
    0
  • 连续三年,中国容器软件市场第一(中国容器软件市场排名)

    近日 全球领先的IT市场研究和咨询公司IDC发布 《中国软件定义计算软件市场跟踪,2022H2/2022》报告 报告显示2022下半年 华为云容器市场份额位列第一 连续三年居中国云…

    科研百科 2023年12月15日
    172
  • 泉州市科技(泉州科技计划项目管理系统)

    泉州科技计划项目管理系统泉州科技计划项目管理系统启动主要工作任务有两个方面:首先,明确市场需求,社会需要解决的问题,包括人口问题、城市经济问题、人口政策问题等。具体来说,按照国家统…

    科研百科 2024年5月18日
    102
  • 采购项目管理系统

    采购项目管理系统 采购项目管理系统是一种用于管理采购流程的软件系统,可以帮助企业高效地完成采购任务,提高采购效率,降低采购成本,同时保证采购质量。 采购项目管理系统可以提高采购效率…

    科研百科 2024年9月12日
    16
  • 党支部宣传视频文案

    党支部宣传视频文案 中国共产党是一个拥有8900万党员、执政70多年的强大政党。在中国的政治和经济生活中起着至关重要的作用。党支部是中国共产党的重要组成部分,是党的地下组织,主要负…

    科研百科 2024年10月28日
    4
  • 项目时间管理:如何合理安排项目进度与时间预算(项目时间管理步骤)

    项目时间管理对于项目经理来说是一项重要的任务,它可以帮助项目经理合理安排项目进度与时间预算,从而确保项目能够按时完成。 项目时间管理的主要内容包括: 1. 项目进度计划的制定:项目…

    科研百科 2023年11月1日
    173
  • 使用TS开发微信小程序(3):网络请求封装

    引言 结合业务需求和技术需求,目前使用TS开发小程序,之前已经发过了TypeScript开发微信小程序的环境搭建。虽然现在也有很多第三方开发框架,但是大部分都是基于vue,有一定的…

    科研百科 2023年4月3日
    683
  • 湖南电子税务局税务登记流程

    湖南电子税务局税务登记流程 湖南电子税务局税务登记流程概述 湖南电子税务局税务登记流程是指在网上进行税务登记的过程。现在,湖南电子税务局已经成为了纳税人进行税务登记的便捷渠道。纳税…

    科研百科 2024年11月9日
    6
  • 项目管理:如何使用甘特图制定项目计划(项目管理-如何使用甘特图制定项目计划)

    甘特图能够很直观地显示项目任务、进度随着时间推进的进展情况。 横轴为时间,纵轴为项目事项,用条形图的方式直观地展现项目中所有任务的时间及进度。 它可以直观地表明项目中有哪些任务?任…

    科研百科 2022年11月14日
    176