├── src
└── main
│ ├── webapp
│ ├── images
│ │ ├── alipay.png
│ │ ├── wechat.png
│ │ ├── alipay0.1.png
│ │ └── wechat0.1.png
│ ├── res
│ │ ├── foldingMenu
│ │ │ ├── 使用方法.txt
│ │ │ ├── index.html
│ │ │ ├── images
│ │ │ │ ├── pro_down.png
│ │ │ │ └── pro_left.png
│ │ │ ├── css
│ │ │ │ └── lrtk.css
│ │ │ └── js
│ │ │ │ └── html5.js
│ │ ├── My97DatePicker
│ │ │ ├── 开发包
│ │ │ │ ├── readme.txt
│ │ │ │ ├── lang
│ │ │ │ │ ├── zh-cn.js
│ │ │ │ │ ├── zh-tw.js
│ │ │ │ │ └── en.js
│ │ │ │ └── skin
│ │ │ │ │ ├── datePicker.gif
│ │ │ │ │ ├── default
│ │ │ │ │ ├── img.gif
│ │ │ │ │ └── datepicker.css
│ │ │ │ │ ├── whyGreen
│ │ │ │ │ ├── bg.jpg
│ │ │ │ │ ├── img.gif
│ │ │ │ │ └── datepicker.css
│ │ │ │ │ └── WdatePicker.css
│ │ │ ├── skin
│ │ │ │ ├── datePicker.gif
│ │ │ │ ├── default
│ │ │ │ │ └── img.gif
│ │ │ │ ├── whyGreen
│ │ │ │ │ ├── bg.jpg
│ │ │ │ │ └── img.gif
│ │ │ │ └── WdatePicker.css
│ │ │ └── lang
│ │ │ │ ├── en.js
│ │ │ │ ├── zh-cn.js
│ │ │ │ └── zh-tw.js
│ │ ├── css
│ │ │ ├── about.css
│ │ │ ├── monthlyStatistics.css
│ │ │ ├── manageItems.css
│ │ │ ├── user.register.css
│ │ │ ├── frame.css
│ │ │ ├── managePayMethods.css
│ │ │ ├── history.css
│ │ │ ├── inOrOut.css
│ │ │ └── public.css
│ │ ├── layer
│ │ │ └── skin
│ │ │ │ └── default
│ │ │ │ ├── icon.png
│ │ │ │ ├── icon-ext.png
│ │ │ │ ├── loading-0.gif
│ │ │ │ ├── loading-1.gif
│ │ │ │ └── loading-2.gif
│ │ ├── bootstrap-3.3.5-dist
│ │ │ ├── fonts
│ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ └── js
│ │ │ │ └── npm.js
│ │ └── js
│ │ │ ├── user.logout.js
│ │ │ ├── about.js
│ │ │ ├── user.login.js
│ │ │ ├── monthlyStatistics.js
│ │ │ ├── common
│ │ │ ├── validator.js
│ │ │ ├── common.js
│ │ │ └── incomeAndExpenditure.js
│ │ │ ├── manageItems.js
│ │ │ ├── income.js
│ │ │ ├── expenditure.js
│ │ │ ├── user.register.js
│ │ │ └── managePayMethods.js
│ ├── pages
│ │ ├── frame.jsp
│ │ ├── common
│ │ │ └── common.jsp
│ │ ├── head.jsp
│ │ ├── about.jsp
│ │ ├── userActive.jsp
│ │ ├── userRegister.jsp
│ │ ├── userLogin.jsp
│ │ └── menu.jsp
│ └── WEB-INF
│ │ └── web.xml
│ ├── resources
│ ├── log4j.properties
│ ├── mysqldb.properties
│ ├── mybatis-config.xml
│ ├── spring.xml
│ ├── spring-mvc.xml
│ └── mybatis-spring.xml
│ └── java
│ ├── com
│ └── taoxiuxia
│ │ ├── model
│ │ ├── SessionUser.java
│ │ ├── Balance.java
│ │ ├── Item.java
│ │ ├── PayMethod.java
│ │ ├── Income.java
│ │ ├── Expenditure.java
│ │ └── User.java
│ │ ├── util
│ │ ├── NumberFormat.java
│ │ ├── SpringContextUtil.java
│ │ ├── MyDateFormat.java
│ │ ├── DateTimeUtil.java
│ │ ├── Constants.java
│ │ ├── PasswordUtil.java
│ │ └── StringTools.java
│ │ ├── exception
│ │ └── BusinessException.java
│ │ ├── controller
│ │ ├── AboutController.java
│ │ ├── FrameController.java
│ │ ├── MonthlyStatisticsController.java
│ │ └── ItemController.java
│ │ ├── mapper
│ │ ├── ExpenditureMapper.java
│ │ ├── IncomeMapper.java
│ │ ├── ItemMapper.java
│ │ ├── UserMapper.java
│ │ ├── PayMethodMapper.java
│ │ └── BalanceMapper.java
│ │ └── service
│ │ ├── IIncomeService.java
│ │ ├── IExpenditureService.java
│ │ ├── IPayMethodService.java
│ │ ├── IItemService.java
│ │ ├── IUserService.java
│ │ ├── IMonthlyStatisticsService.java
│ │ ├── IHistoryService.java
│ │ └── impl
│ │ ├── IncomeServiceImpl.java
│ │ ├── ExpenditureServiceImpl.java
│ │ └── MonthlyStatisticsServiceImpl.java
│ └── checkcode
│ └── patchca
│ ├── word
│ ├── WordFactory.java
│ ├── RandomWordFactory.java
│ └── AdaptiveRandomWordFactory.java
│ ├── service
│ ├── CaptchaService.java
│ ├── Captcha.java
│ ├── ConfigurableCaptchaService.java
│ ├── SimpleCaptchaService.java
│ └── AbstractCaptchaService.java
│ ├── font
│ ├── FontFactory.java
│ └── RandomFontFactory.java
│ ├── demo
│ ├── Sample.java
│ ├── PatchcaFilterDemoPNG.java
│ └── PatchcaFilterDemo.java
│ ├── color
│ ├── ColorFactory.java
│ ├── SingleColorFactory.java
│ ├── GradientColorFactory.java
│ └── RandomColorFactory.java
│ ├── filter
│ ├── FilterFactory.java
│ ├── library
│ │ ├── BlurImageOp.java
│ │ ├── SoftenImageOp.java
│ │ ├── DoubleRippleImageOp.java
│ │ ├── DiffuseImageOp.java
│ │ ├── AbstractTransformImageOp.java
│ │ ├── RippleImageOp.java
│ │ ├── AbstractConvolveImageOp.java
│ │ ├── MarbleImageOp.java
│ │ └── WobbleImageOp.java
│ ├── ConfigurableFilterFactory.java
│ ├── predefined
│ │ ├── DiffuseRippleFilterFactory.java
│ │ ├── MarbleRippleFilterFactory.java
│ │ ├── WobbleRippleFilterFactory.java
│ │ ├── DoubleRippleFilterFactory.java
│ │ ├── RippleFilterFactory.java
│ │ └── CurvesRippleFilterFactory.java
│ └── AbstractFilterFactory.java
│ ├── background
│ ├── BackgroundFactory.java
│ ├── GradientBackgroundFactory.java
│ └── SingleColorBackgroundFactory.java
│ ├── text
│ └── renderer
│ │ ├── SimpleTextRenderer.java
│ │ ├── TextRenderer.java
│ │ ├── BestFitTextRenderer.java
│ │ ├── RandomYBestFitTextRenderer.java
│ │ ├── TextString.java
│ │ ├── TextCharacter.java
│ │ └── AbstractTextRenderer.java
│ └── utils
│ └── encoder
│ └── EncoderHelper.java
├── .gitignore
└── README.md
/src/main/webapp/images/alipay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/images/alipay.png
--------------------------------------------------------------------------------
/src/main/webapp/images/wechat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/images/wechat.png
--------------------------------------------------------------------------------
/src/main/webapp/images/alipay0.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/images/alipay0.1.png
--------------------------------------------------------------------------------
/src/main/webapp/images/wechat0.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/images/wechat0.1.png
--------------------------------------------------------------------------------
/src/main/webapp/res/foldingMenu/使用方法.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/foldingMenu/使用方法.txt
--------------------------------------------------------------------------------
/src/main/webapp/res/foldingMenu/index.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/foldingMenu/index.html
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | /.settings/
3 | .project
4 | .classpath
5 | .checkstyle
6 | /src/main/resources/mybatis-spring.xml
7 | mysqldb.properties
8 |
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/开发包/readme.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/My97DatePicker/开发包/readme.txt
--------------------------------------------------------------------------------
/src/main/webapp/res/css/about.css:
--------------------------------------------------------------------------------
1 | .money-image{height:250px;}
2 | .label1{text-align: center;}
3 | .label2{text-align: center; height: 30px; margin-top: 50px;}
--------------------------------------------------------------------------------
/src/main/webapp/res/layer/skin/default/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/layer/skin/default/icon.png
--------------------------------------------------------------------------------
/src/main/webapp/res/foldingMenu/images/pro_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/foldingMenu/images/pro_down.png
--------------------------------------------------------------------------------
/src/main/webapp/res/foldingMenu/images/pro_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/foldingMenu/images/pro_left.png
--------------------------------------------------------------------------------
/src/main/webapp/res/layer/skin/default/icon-ext.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/layer/skin/default/icon-ext.png
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/skin/datePicker.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/My97DatePicker/skin/datePicker.gif
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/开发包/lang/zh-cn.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/My97DatePicker/开发包/lang/zh-cn.js
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/开发包/lang/zh-tw.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/My97DatePicker/开发包/lang/zh-tw.js
--------------------------------------------------------------------------------
/src/main/webapp/res/layer/skin/default/loading-0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/layer/skin/default/loading-0.gif
--------------------------------------------------------------------------------
/src/main/webapp/res/layer/skin/default/loading-1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/layer/skin/default/loading-1.gif
--------------------------------------------------------------------------------
/src/main/webapp/res/layer/skin/default/loading-2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/layer/skin/default/loading-2.gif
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/skin/default/img.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/My97DatePicker/skin/default/img.gif
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/skin/whyGreen/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/My97DatePicker/skin/whyGreen/bg.jpg
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/skin/whyGreen/img.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/My97DatePicker/skin/whyGreen/img.gif
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/开发包/skin/datePicker.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/My97DatePicker/开发包/skin/datePicker.gif
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/开发包/skin/default/img.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/My97DatePicker/开发包/skin/default/img.gif
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/开发包/skin/whyGreen/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/My97DatePicker/开发包/skin/whyGreen/bg.jpg
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/开发包/skin/whyGreen/img.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/My97DatePicker/开发包/skin/whyGreen/img.gif
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/开发包/skin/default/datepicker.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/My97DatePicker/开发包/skin/default/datepicker.css
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/开发包/skin/whyGreen/datepicker.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/My97DatePicker/开发包/skin/whyGreen/datepicker.css
--------------------------------------------------------------------------------
/src/main/webapp/res/bootstrap-3.3.5-dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/bootstrap-3.3.5-dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/src/main/webapp/res/bootstrap-3.3.5-dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/bootstrap-3.3.5-dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/src/main/webapp/res/bootstrap-3.3.5-dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/bootstrap-3.3.5-dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/src/main/webapp/res/bootstrap-3.3.5-dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TaoXiuxia/AccountBook-V2/HEAD/src/main/webapp/res/bootstrap-3.3.5-dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/src/main/webapp/res/css/monthlyStatistics.css:
--------------------------------------------------------------------------------
1 | .left{margin-left: 30px}
2 | .head{margin-top: 30px}
3 | .head2{margin-top: 10px}
4 | .label1{width:90px}
5 | .money1{width:120px}
6 | .button1{width:70px}
7 | .button2{width:170px}
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # AccountBook-V2
2 | 简单的记账系统:使用Maven作为项目管理,SSM(Spring,SpringMVC,MyBatis)开发框架。
3 |
4 | 登录页
5 | http://59.110.231.132:8080/AccountBook-V2/userController/showUserLogin.action
6 | 项目搭建方法
7 | http://blog.csdn.net/taoxiuxia/article/details/77902197
8 |
--------------------------------------------------------------------------------
/src/main/resources/log4j.properties:
--------------------------------------------------------------------------------
1 | log4j.rootLogger=DEBUG, stdout
2 | log4j.logger.org.mybatis=DEBUG
3 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender
4 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
5 | log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/skin/WdatePicker.css:
--------------------------------------------------------------------------------
1 | .Wdate{
2 | border:#999 1px solid;
3 | height:20px;
4 | background:#fff url(datePicker.gif) no-repeat right;
5 | }
6 | .Wdate::-ms-clear{display:none;}
7 |
8 | .WdateFmtErr{
9 | font-weight:bold;
10 | color:red;
11 | }
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/开发包/skin/WdatePicker.css:
--------------------------------------------------------------------------------
1 | .Wdate{
2 | border:#999 1px solid;
3 | height:20px;
4 | background:#fff url(datePicker.gif) no-repeat right;
5 | }
6 | .Wdate::-ms-clear{display:none;}
7 |
8 | .WdateFmtErr{
9 | font-weight:bold;
10 | color:red;
11 | }
--------------------------------------------------------------------------------
/src/main/webapp/res/css/manageItems.css:
--------------------------------------------------------------------------------
1 | .addItem{margin-top:20px;}
2 | .addItem-label{height: 25px;width: 70px;}
3 | .addItem-input{height: 25px;width: 100px;}
4 | .col1{width:240px;}
5 | .col2{width:500px;}
6 | .col3{width:110px;}
7 | .col4{width:110px;}
8 |
9 |
10 | .tableTitle{font-size:19px}
--------------------------------------------------------------------------------
/src/main/webapp/res/css/user.register.css:
--------------------------------------------------------------------------------
1 | .register{width:500px;margin-left:450px; margin-top: 80px;}
2 | .div1{margin-top: 15px;}
3 | .label1{width:100px;text-align: right; font-weight: 500;}
4 | .input1{width:260px;}
5 | .input2{width:100px;}
6 | .btn1{width:100px; margin-left:100px}
7 | .link1{width:100px; margin-left:20px}
--------------------------------------------------------------------------------
/src/main/webapp/res/css/frame.css:
--------------------------------------------------------------------------------
1 | /* 顶部标题栏 */
2 | .title{height: 50px; background-color: #DCDCDC; position: fixed; top: 0; width: 97%; z-index: 1; margin-top: 0px; border-radius: 10px;}
3 | .title-text{font-size:25px; color:#000000;}
4 | .li-style{list-style: none; margin-top: 6px;}
5 | .userInfo{color: #000000; font-size: 20px; margin-left: 80%;}
6 | .logoutLink{color: #000000; margin-left:10px}
7 |
--------------------------------------------------------------------------------
/src/main/webapp/res/css/managePayMethods.css:
--------------------------------------------------------------------------------
1 | .addPayMethod{margin-top:20px;}
2 | .addPayMethod-label{height: 25px;width: 150px; text-align: right;}
3 | .addPayMethod-input{height: 25px;width: 100px;}
4 | .col1{width:240px;}
5 | .col2{width:500px;}
6 | .col3{width:110px;}
7 | .col4{width:110px;}
8 | .add-select{height: 25px;width: 180px; margin-top: 10px; margin-bottom: 10px}
9 |
10 | .tableTitle{font-size:19px}
11 |
12 |
--------------------------------------------------------------------------------
/src/main/java/com/taoxiuxia/model/SessionUser.java:
--------------------------------------------------------------------------------
1 | package com.taoxiuxia.model;
2 |
3 | public class SessionUser {
4 |
5 | private int userId;
6 | private String userName;
7 |
8 | public int getUserId() {
9 | return userId;
10 | }
11 |
12 | public void setUserId(int userId) {
13 | this.userId = userId;
14 | }
15 |
16 | public String getUserName() {
17 | return userName;
18 | }
19 |
20 | public void setUserName(String userName) {
21 | this.userName = userName;
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/com/taoxiuxia/util/NumberFormat.java:
--------------------------------------------------------------------------------
1 | package com.taoxiuxia.util;
2 |
3 | public class NumberFormat {
4 |
5 | public static float to2Decimals(float num){
6 | return (float)(int)(num)/100;
7 | }
8 |
9 | /**
10 | * 保留2位小数
11 | * @param num
12 | * @return
13 | */
14 | public static float save2Decimals(float num){
15 | return (float)(int)(num*100)/100;
16 | }
17 |
18 | public static double save2Decimals(double num){
19 | return (double)(int)(num*100)/100;
20 | }
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/resources/mysqldb.properties:
--------------------------------------------------------------------------------
1 | jdbc.driverClassName=com.mysql.jdbc.Driver
2 | jdbc.url=jdbc:mysql://127.0.0.1:3306/account_v2
3 | jdbc.username=root
4 | jdbc.password=XXXXXX
5 | jdbc.initialSize=1
6 | jdbc.minIdle=1
7 | jdbc.maxActive=20
8 | jdbc.maxWait=60000
9 | jdbc.removeAbandoned=true
10 | jdbc.removeAbandonedTimeout=180
11 | jdbc.timeBetweenEvictionRunsMillis=60000
12 | jdbc.minEvictableIdleTimeMillis=300000
13 | jdbc.validationQuery=SELECT 1
14 | jdbc.testWhileIdle=true
15 | jdbc.testOnBorrow=false
16 | jdbc.testOnReturn=false
--------------------------------------------------------------------------------
/src/main/webapp/res/css/history.css:
--------------------------------------------------------------------------------
1 | .label2{font-size:15px; text-align: right;}
2 | .label3{font-size:17px;width:80px; text-align: right;}
3 | .input1{width:200px;}
4 | .layout_div_Style{height: 50px; width: 400px;}
5 | .change-label{width:90px; text-align: right; font-weight: normal;}
6 | .change-text{width:200px;height: 25px;}
7 | .select1{height: 25px;}
8 |
9 | .col1{width: 100px;}
10 | .col2{width: 50px;}
11 | .col3{width: 250px;}
12 | .col4{width: 110px;}
13 | .col5{width: 120px;}
14 | .col6{width: 250px;}
15 | .col7{width: 120px;}
16 |
17 |
--------------------------------------------------------------------------------
/src/main/webapp/res/bootstrap-3.3.5-dist/js/npm.js:
--------------------------------------------------------------------------------
1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
2 | require('../../js/transition.js')
3 | require('../../js/alert.js')
4 | require('../../js/button.js')
5 | require('../../js/carousel.js')
6 | require('../../js/collapse.js')
7 | require('../../js/dropdown.js')
8 | require('../../js/modal.js')
9 | require('../../js/tooltip.js')
10 | require('../../js/popover.js')
11 | require('../../js/scrollspy.js')
12 | require('../../js/tab.js')
13 | require('../../js/affix.js')
--------------------------------------------------------------------------------
/src/main/java/com/taoxiuxia/util/SpringContextUtil.java:
--------------------------------------------------------------------------------
1 | package com.taoxiuxia.util;
2 |
3 | import org.springframework.beans.BeansException;
4 | import org.springframework.context.ApplicationContext;
5 |
6 | public class SpringContextUtil {
7 |
8 | private static ApplicationContext context = null;
9 |
10 | public static void setContext(ApplicationContext applicationContext) throws BeansException {
11 | SpringContextUtil.context = applicationContext;
12 | }
13 |
14 | public static Object getBean(String name) {
15 | return context.getBean(name);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/webapp/res/js/user.logout.js:
--------------------------------------------------------------------------------
1 | function logout() {
2 | $.ajax({
3 | type: "POST",
4 | url: "/AccountBook-V2/userController/logout.action",
5 | data: {
6 | },
7 | success: function(msg){
8 | if(msg.info=="注销成功"){
9 | layer.msg(msg.info);
10 | setTimeout(function(){
11 | //此处不能使用window.location.href,
12 | //因为window.location.href是页内跳转,在frameset框架下会出错
13 | window.top.location.href="../userController/showUserLogin.action";
14 | },1500);
15 | }
16 | },
17 | error: function () {
18 | layer.msg("注销失败");
19 | }
20 | });
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/src/main/java/com/taoxiuxia/util/MyDateFormat.java:
--------------------------------------------------------------------------------
1 | package com.taoxiuxia.util;
2 |
3 | import java.text.SimpleDateFormat;
4 | import java.util.Date;
5 |
6 | public class MyDateFormat {
7 |
8 | /**
9 | * 处理日期,将只有年月日的日期字符串转化成日期格式的Date
10 | *
11 | * @param dateStr
12 | * @return
13 | */
14 | public static Date dateFormat(String dateStr) {
15 | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
16 | Date date = null;
17 | try {
18 | date = format.parse(dateStr);
19 | } catch (Exception e) {
20 | e.printStackTrace();
21 | }
22 | return date;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/com/taoxiuxia/exception/BusinessException.java:
--------------------------------------------------------------------------------
1 | package com.taoxiuxia.exception;
2 |
3 | public class BusinessException extends Exception {
4 |
5 | private static final long serialVersionUID = -5587054685087764286L;
6 |
7 | public BusinessException(String message, Throwable e) {
8 | super(message, e);
9 | }
10 |
11 | public BusinessException(String message) {
12 | super(message);
13 | }
14 |
15 | public BusinessException(Throwable e) {
16 | super(e);
17 | }
18 |
19 | /**
20 | * 重写 fillInStackTrace 方法,日志不会打印堆栈信息,节省时间。
21 | * 业务异常,没有必要打印堆栈,提高效率。
22 | */
23 | @Override
24 | public Throwable fillInStackTrace() {
25 | return this;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/resources/mybatis-config.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/lang/en.js:
--------------------------------------------------------------------------------
1 | var $lang={
2 | errAlertMsg: "Invalid date or the date out of range,redo or not?",
3 | aWeekStr: ["wk", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
4 | aLongWeekStr:["wk","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
5 | aMonStr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
6 | aLongMonStr: ["January","February","March","April","May","June","July","August","September","October","November","December"],
7 | clearStr: "Clear",
8 | todayStr: "Today",
9 | okStr: "OK",
10 | updateStr: "OK",
11 | timeStr: "Time",
12 | quickStr: "Quick Selection",
13 | err_1: 'MinDate Cannot be bigger than MaxDate!'
14 | }
--------------------------------------------------------------------------------
/src/main/webapp/res/My97DatePicker/开发包/lang/en.js:
--------------------------------------------------------------------------------
1 | var $lang={
2 | errAlertMsg: "Invalid date or the date out of range,redo or not?",
3 | aWeekStr: ["wk", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
4 | aLongWeekStr:["wk","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
5 | aMonStr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
6 | aLongMonStr: ["January","February","March","April","May","June","July","August","September","October","November","December"],
7 | clearStr: "Clear",
8 | todayStr: "Today",
9 | okStr: "OK",
10 | updateStr: "OK",
11 | timeStr: "Time",
12 | quickStr: "Quick Selection",
13 | err_1: 'MinDate Cannot be bigger than MaxDate!'
14 | }
--------------------------------------------------------------------------------
/src/main/webapp/res/foldingMenu/css/lrtk.css:
--------------------------------------------------------------------------------
1 | .menu_head{width:185px;height:47px;line-height:47px;padding-left:38px;font-size:14px;color:#525252;cursor:pointer;border:1px solid #e1e1e1;position:relative;margin:0px;font-weight:bold;background:#f1f1f1 url(../images/pro_left.png) center right no-repeat;}
2 | .menu_list .current{background:#f1f1f1 url(../images/pro_down.png) center right no-repeat;}
3 | .menu_body{width:223px;height:auto;overflow:hidden;line-height:38px;border-left:1px solid #e1e1e1;backguound:#fff;border-right:1px solid #e1e1e1;}
4 | .menu_body a{display:block;width:223px;height:38px;line-height:38px;padding-left:38px;color:#777777;background:#fff;text-decoration:none;border-bottom:1px solid #e1e1e1;}
5 | .menu_body a:hover{text-decoration:none;}
--------------------------------------------------------------------------------
/src/main/java/com/taoxiuxia/controller/AboutController.java:
--------------------------------------------------------------------------------
1 | package com.taoxiuxia.controller;
2 |
3 | import javax.servlet.http.HttpSession;
4 |
5 | import org.springframework.stereotype.Controller;
6 | import org.springframework.ui.Model;
7 | import org.springframework.web.bind.annotation.RequestMapping;
8 |
9 | import com.taoxiuxia.model.SessionUser;
10 | import com.taoxiuxia.util.Constants;
11 |
12 | @Controller
13 | @RequestMapping("/aboutController")
14 | public class AboutController {
15 |
16 | @RequestMapping("/showAbout")
17 | public String showBorrows(Model model,HttpSession session) {
18 | SessionUser sessionUser= (SessionUser) session.getAttribute(Constants.SESSION_USER_KEY);
19 | model.addAttribute("sessionUser", sessionUser);
20 | return "pages/about";
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/webapp/pages/frame.jsp:
--------------------------------------------------------------------------------
1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
3 | <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
4 |
5 |
6 |
7 |
8 | Account Book v2
9 |
10 |
11 |
18 |
19 |
--------------------------------------------------------------------------------
/src/main/webapp/pages/common/common.jsp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/main/webapp/res/js/about.js:
--------------------------------------------------------------------------------
1 | function setLeftColumn(){
2 | $("#income").addClass("left-column-button-inactive");
3 | $("#income").addClass("left-column-button-inactive-font");
4 | $("#expenditure").addClass("left-column-button-inactive");
5 | $("#expenditure").addClass("left-column-button-inactive-font");
6 | $("#history").addClass("left-column-button-inactive");
7 | $("#history").addClass("left-column-button-inactive-font");
8 | $("#itemsManagement").addClass("left-column-button-inactive");
9 | $("#itemsManagement").addClass("left-column-button-inactive-font");
10 | $("#payMethodsManagement").addClass("left-column-button-inactive");
11 | $("#payMethodsManagement").addClass("left-column-button-inactive-font");
12 | $("#about").addClass("left-column-button-active");
13 | $("#about").addClass("left-column-button-active-font");
14 | }
15 |
--------------------------------------------------------------------------------
/src/main/java/com/taoxiuxia/mapper/ExpenditureMapper.java:
--------------------------------------------------------------------------------
1 | package com.taoxiuxia.mapper;
2 |
3 | import java.util.HashMap;
4 | import java.util.List;
5 | import java.util.Map;
6 |
7 | import com.taoxiuxia.model.Expenditure;
8 |
9 | public interface ExpenditureMapper {
10 |
11 | List selectAllExpenditures(HashMap map);
12 |
13 | int updateByPrimaryKeySelective(Expenditure record);
14 |
15 | int insert(Expenditure record);
16 |
17 | List