十一天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年4月1日
    119
  • httpselearning. tcsasac. com

    人工智能在教育领域的应用 随着科技的不断进步,人工智能在教育领域中的应用也越来越广泛。人工智能可以帮助教师更好地教授课程,为学生提供更好的学习体验,同时也可以提高学生的学习效果。 …

    科研百科 2024年10月28日
    0
  • lims实验室管理平台图片

    lims实验室管理平台图片 lims实验室管理平台是用于lims(Linux应用服务器)实验室管理的软件平台。它可以帮助管理员对lims实验室进行有效的管理和监控,确保实验室的安全…

    科研百科 2024年10月31日
    0
  • 科研项目摘要包含哪些信息

    科研项目摘要包含哪些信息 科研项目摘要是一篇简短的文章,用于概括一个科研项目的主要发现和成果。一篇好的科研项目摘要应该包含以下信息: 1. 项目名称:项目名称应该简洁明了,描述项目…

    科研百科 2024年10月21日
    11
  • 项目系统管理系统有哪些

    项目系统管理系统是一种用于管理和跟踪项目的工具,能够帮助团队更有效地协作。以下是一些常见的项目系统管理系统: 1. Jira:Jira是一种广泛使用的项目系统管理系统,提供各种功能…

    科研百科 2024年12月14日
    2
  • 考试项目管理考试内容(考试项目管理考试)

    考试项目管理考试考试项目管理考试一般是按照知识+考点为主的,它是一个综合性的考试,由高考考生将考试科目、学科成绩、高考项目、分数等综合性的科目所组成。在考试中,它有不同的层次,包括…

    科研百科 2024年7月31日
    51
  • 我们国家工程师倾力打造的超级工程:中国近现代超级工程排行榜(299项)

    由胡文瑞院士、王基铭院士、刘合院士、唐立新院士领衔的中国工程院重大战略研究与咨询项目“超级工程研究”,从2019年起历时5年,在浩如烟海、数以万计的世界重大工程中,严格按照定义、标…

    科研百科 2024年4月13日
    166
  • 一个人的科研项目一个人的科研项目

    一个人的科研项目 一个人的科研项目,通常是由一个单独的人或团队进行的。这个项目旨在研究一个特定的领域或问题,并且需要这个人或团队独自完成。在一个人的科研项目中,这个人或团队通常会花…

    科研百科 2024年7月9日
    42
  • 帆软项目管理系统

    帆软项目管理系统:提升项目管理效率的利器 随着信息技术的不断发展,项目管理已经成为了企业日常运营中不可或缺的一部分。帆软项目管理系统作为一款功能强大的项目管理工具,为企业管理提供了…

    科研百科 2024年12月17日
    4
  • 党员e先锋系统操作手册

    党员e先锋系统操作手册 党员e先锋系统是中国共产党官方推出的一款党员在线服务系统,旨在为党员提供便捷的服务和管理。以下是本操作手册的主要内容: 1. 系统介绍 党员e先锋系统是中国…

    科研百科 2024年10月15日
    129