纳税服务系统总结

纳税服务系统总结

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

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

通过这次的项目开阔了我的视野,也解决了我当初学习Java时很多的疑问,自己练习完我将项目的代码放到了GitHub中:https://github.com/ZhongFuCheng3y/NSFW_Systen,同时在练习的过程中也用博文记录下来了,一共7篇。

练习时截取部分的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这个日历类

上面仅仅是我个人总结的要点,如果有错误的地方还请大家给我指正。

原文发布于微信公众号 - Java3y(gh_085b56c42174)

原文发表时间:2018-03-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维

Ubuntu10.04 sudoers文件损坏又没有root密码修复

Ubuntu10.04 sudoers文件损坏又没有root密码修复 昨天遇到一个案子: 一台GIT服务器是安装的Ubuntu10.04的系统,上面有几个普...

17520
来自专栏用户2442861的专栏

Python安装模块出错解决的办法(pip相关的安装)

然后在cmd进入命令行窗口, 进入ez_setup.py目录,我这里是下载放置在F盘,然后输入命令:python ez_setup.py 系统就会自动下载se...

49330
来自专栏IT笔记

前后端分离之Vue项目构建测试打包发布

写在开始 其实之前对前后端分离研究过一段时间,中间由于项目进度耽搁也就不了了之了,最近项目中部分使用到了Vue,恰逢前端小伙伴们居然说要使用这个东西,也许是前端...

38690
来自专栏不二小段

【爬虫军火库】AnyProxy安装使用【Windows】

分析网络请求详情是写爬虫应用的初始步骤,抓包便是一种十分强大的分析手段,尤其是对手机App进行抓包,往往能收获到Web端没有的API接口。抓包的工具多种多样,功...

2.1K60
来自专栏帘卷西风的专栏

关于cocos2dx程序的BUG调试解决方案

      今天说一下手机游戏开发的调试问题吧。不得不说的是和PC平台游戏、软件开发相比,手机上开发游戏和软件要困难的多。原因是多方面的,比如说开发环境比较复杂...

10320
来自专栏木子昭的博客

Python将md批量转为docx

20460
来自专栏云计算教程系列

CentOS 如何配置NTP加入NTP池项目

准确的计时对于几乎所有服务或软件都至关重要。在分布式平台上运行的电子邮件,记录器,事件系统和调度程序,用户身份验证机制和服务都需要准确的时间戳来按时间顺序记录事...

17700
来自专栏地方网络工作室的专栏

打造前端 Deepin Linux 工作环境——安装配置 atom 编辑器

打造前端 Deepin Linux 工作环境——安装配置 atom 编辑器 好,我个人推荐大家使用 atom 编辑器,第一是免费,第二是好看,第三是好用。 安装...

56780
来自专栏Coco的专栏

【nodeJS爬虫】前端爬虫系列 -- 小爬「博客园」

26080
来自专栏武军超python专栏

2018年8月9号飞机大战项目答辩得到的经验和基本的win终端命令

今天遇到的新单词: adapter n适配器 virtual adj 虚拟的 interface n接口 corporation n公司,法人

12230

扫码关注云+社区

领取腾讯云代金券