纳税服务系统【总结】

纳税服务系统总结

纳税服务系统是我第一个作得比较大的项目(不一样于javaWeb小项目),该项目系统来源于传智Java32期,十天的视频课程(想要视频的同窗关注个人公众号就能够直接获取了)前端

我跟着练习一步一步完成需求,才发觉原来Java是这样用来作网站的,Java有那么多的类库,页面的效果(图表、日期选择器等等)是经过JavaScript组件来显示,调用后端代码来获取数据从而显示出来的。java

经过此次的项目开阔了个人视野,也解决了我当初学习Java时不少的疑问,本身练习完我将项目的代码放到了GitHub中:https://github.com/ZhongFuCheng3y/NSFW_Systengit

同时在练习的过程当中也用博文记录下来了,一共7篇。github

纳税服务系统一(用户模块)【简单增删改查、日期组件、上传和修改头像】数据库

纳税服务系统二(用户模块)【POI、用户惟一性校验】c#

纳税服务系统三(优化处理)【异常处理、抽取BaseAction】后端

纳税服务系统四(角色模块)【角色与权限、角色与用户】缓存

纳税服务系统五(登录与系统拦截)【配置系统、子系统首页、登录与拦截】微信

纳税服务系统六(信息发布管理模块)【Ueditor、异步信息交互、抽取BaseService、条件查询、分页】架构

纳税服务系统七(投诉管理模块)【显示投诉信息、处理回复、我要投诉、Quartz自动受理、统计图FusionCharts】

练习时截取部分的gif:

该项目涉及到的知识:

  • Struts2,Spring,Hibernate
  • JSP
  • Javascript,jQuery,AJAX
  • 某些工具类及组件如(FileUtil,POI,DateUtils)
  • JS组件:日期组件、富文本编辑器、Fusionchart(图表组件)
  • 抽取Action、Service、Dao,全局异常处理
  • 权限控制的模型设计(用户、角色、权限)
  • 数据回显和分页
  • Hibernate逆向工程
  • Quartz定时调度工具

写这篇博文的目的也是为了总结一下在此次项目中学到了什么东西,除了上面这些知识点大纲,还有不少实用的小技巧

  • JSP重复的代码最好抽取出来,用到的页面再从新include进去就好了
  • 多用一些经常使用的工具类(FileUtil,DateUtils),简化咱们的开发
  • 在前端页面上想要达到一些绚丽的效果(本身很难写出来和功能比较复杂那种),找找有没有对应的组件来使用(日期组件、富文本编辑器、Fusionchart)。
  • 同理,在后端也是同样。Java操做Excel有对应的组件POI等,Java实现"自动处理"有Quartz开源框架
  • AJAX无刷新特定能干不少的功能
  • 三层架构(Controller、Service、Dao)的代码不少都可以抽取出来,Controller抽取的是通用的属性和方法,Service抽取的是相同的业务方法,Dao层抽取CURD通用方法
  • 统一处理异常可以提升系统的健壮性,避免异常信息给到用户看(用户也看不懂,发生错误应该提示友好的提示)
  • 在设计模型对象关系时,若是功能简单的话也不用“死板”地建立对象,建立表,看能不能用常量(集合)来代替
  • 在修改多个数据的时候能够换个思路:先把原有的数据删除了,再增长用户勾选的记录(达到修改的效果)
  • 在页面上定位一个标签,咱们能够使用特殊的前缀+上咱们的Id
  • 在条件查询的时候,尽可能把like字段的数据放在后边,以提升咱们的查询性能!当在数据库查询时,若是某些数据是不存在但有这个字段时,想一想能不能用左外链接查询
  • 在Struts2指定name为root的话,咱们能够指定哪一个属性是返回JSON格式的。
  • 要是使用到日历的话,咱们想到使用Calendar这个日历类

上面仅仅是我我的总结的要点,若是有错误的地方还请你们给我指正。

若是SSH还不太熟悉的同窗可先看我其余的基础博文:

Hibernate:

Struts2:

Spring:

SSH整合与阅读项目:

若是文章有错的地方欢迎指正,你们互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同窗,能够关注微信公众号:Java3y

相关文章
相关标签/搜索