纳税服务系统总结
时间:2022-05-06
本文章向大家介绍纳税服务系统总结,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
纳税服务系统总结
纳税服务系统是我第一个做得比较大的项目(不同于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这个日历类
上面仅仅是我个人总结的要点,如果有错误的地方还请大家给我指正。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CentOS7 下安装telnet服务的实现方法
- Linux内核启动参数详解
- CentOS6.3添加nginx系统服务的实例详解
- Linux中在防火墙中开启80端口方法示例
- Apache 获取真实ip的配置的实现方法
- Linux下文件的切分与合并的简单方法介绍
- ubuntu 系统上为php加上redis 扩展的实现方法
- deepin linux 手动升级内核的方法
- UGL之单色位图
- Linux网络启动问题:Device does not seem to be present解决办法
- UGL之透明位图
- 关于ISR
- python 井字棋-文字版(下)
- Linux下nginx生成日志自动切割的实现方法
- Centos 7.2中双网卡绑定及相关问题踩坑记录