十一天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

相关推荐

  • 温州瑞安“项目化”管理推进农村人居环境整治(温州市生态环境局瑞安分局)

    入夏以来,在温州瑞安市平阳坑镇东源村,水流潺潺,绿荫冉冉,农房前后各种各样的花园“小品”造型别致。有的花开正艳,有的藤蔓爬墙上树,有的蔬果飘香……美丽的农家院落与初夏美景融为一体,…

    科研百科 2022年7月15日
    177
  • 江苏省卫健委课题是什么级别

    江苏省卫健委课题是什么级别 随着经济的发展和医疗事业的不断进步,江苏省卫健委课题作为一种新型的医疗研究方式,逐渐得到了广泛的应用和推广。那么,江苏省卫健委课题是什么级别的呢? 江苏…

    科研百科 2024年12月2日
    16
  • 武山县:“五个强化”规范机关党建(武山县党建网)

    新天水讯 武山县委直属机关工委严格按照中央和省、市、县委部署要求,坚持以“五个强化”为抓手,以提升组织力为重点,以党支部建设为基础,深入推进机关党建规范化,努力为全县各项事业高质量…

    科研百科 2023年1月30日
    155
  • 海螺oa系统

    海螺oa系统:企业信息化的新选择 随着企业信息化的不断发展,越来越多的企业开始采用oa系统来管理自己的业务流程。其中,海螺oa系统则是其中比较有代表性的一款。 海螺oa系统是一款基…

    科研百科 2024年12月2日
    1
  • 南航读博士生有收入吗

    南航读博士生有收入吗 作为一名南航读博士生,收入是一个重要的考虑因素。博士生的薪资水平因地区和导师而异,但一般来说,他们能够获得一定的奖学金和助学金来支持他们的研究项目。此外,一些…

    科研百科 2024年12月5日
    4
  • 协同办公信息系统

    协同办公信息系统:让工作更加高效 随着信息技术的不断发展,协同办公信息系统已经成为了现代企业必备的重要工具之一。该系统能够帮助企业更好地协调各部门之间的工作,提高工作效率,降低运营…

    科研百科 2024年9月18日
    26
  • 新点软件:拥有大数据治理与智能分析、数字孪生等核心技术(新点软件ipo最新消息)

    金融界1月11日消息,有投资者在互动平台向新点软件提问:董秘您好请问公司有没有大数据云计算数字孪生等相关的业务? 公司回答表示:长期的行业聚焦和技术研发,公司积累了不见面交易支撑、…

    科研百科 2024年5月14日
    83
  • MacOS 微信多开指南(mac上微信多开)

    本文主要介绍了如何在Mac上通过脚本实现微信双开,并通过自动操作创建应用程序APP,在启动台点击后可以直接启动第二个微信,无需打开终端输入代码,且双开后无终端出现。通过打包和修改图…

    科研百科 2024年5月10日
    129
  • 比Excel好用!这2款表格制作应用,正在重新定义生产力

    买好了「随心飞」准备出门旅游,该如何制作诱人的攻略吸引朋友一同前往呢?用《Excel》或备忘录发旅行攻略?不仅不够美观,还不够酷。 看看 A 君是怎么用《vika 维格表》做的。 …

    科研百科 2022年10月21日
    119
  • 图书的管理软件有哪些(图书的管理软件)

    图书的管理软件 图书是文化传承的重要载体,也是知识传播的媒介。随着科技的不断发展,图书的管理软件也在不断更新和完善。一款好的图书管理软件可以提高图书馆的管理效率,方便读者查找和借阅…

    科研百科 2024年8月28日
    37