From e8a350ce60e5a45715edededb5f4a31e96cada0f Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Sun, 19 Feb 2017 22:34:34 +0800 Subject: [PATCH 01/17] Create README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..4a57afb --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# javaee-tutorial +这是个简单的教务系统网站 +使用技术spring + springmvc + mybatis + shiro + mysql + maven From 029fe107897355c9df411117907767d77d417a5b Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Sun, 19 Feb 2017 22:37:01 +0800 Subject: [PATCH 02/17] Update README.md --- README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4a57afb..7a6ac09 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,15 @@ # javaee-tutorial 这是个简单的教务系统网站 -使用技术spring + springmvc + mybatis + shiro + mysql + maven + +使用技术 + IoC容器:spring + web框架:springmvc + orm框架:mybatis + 安全框架:shiro + 数据源:dbcp2 + 日志: sl4j + Json: Gson + 前端框架:Bootstrap + +数据库表结构: +http://7xi78h.com1.z0.glb.clouddn.com/db.png From 9beaf935c20934767dc2d2d6757ddd2f01d4cc42 Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Sun, 19 Feb 2017 22:37:49 +0800 Subject: [PATCH 03/17] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a6ac09..7c46235 100644 --- a/README.md +++ b/README.md @@ -12,4 +12,6 @@ 前端框架:Bootstrap 数据库表结构: -http://7xi78h.com1.z0.glb.clouddn.com/db.png +![image](http://7xi78h.com1.z0.glb.clouddn.com/db.png) + + From 86cd191adb832ed795f6b82d286ba11769229b1a Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Sun, 19 Feb 2017 22:38:18 +0800 Subject: [PATCH 04/17] Update README.md --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 7c46235..b8f84fb 100644 --- a/README.md +++ b/README.md @@ -3,13 +3,21 @@ 使用技术 IoC容器:spring + web框架:springmvc + orm框架:mybatis + 安全框架:shiro + 数据源:dbcp2 + 日志: sl4j + Json: Gson + 前端框架:Bootstrap + 数据库表结构: ![image](http://7xi78h.com1.z0.glb.clouddn.com/db.png) From 8fbd6c401256ba3fd0da9db1807780ad2da24db3 Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Sun, 19 Feb 2017 22:38:45 +0800 Subject: [PATCH 05/17] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b8f84fb..20a7a99 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# javaee-tutorial +# 简介 这是个简单的教务系统网站 -使用技术 +#使用技术 IoC容器:spring web框架:springmvc @@ -19,7 +19,7 @@ 前端框架:Bootstrap -数据库表结构: +#数据库表结构: ![image](http://7xi78h.com1.z0.glb.clouddn.com/db.png) From f1b40753ec1a4c80ed842f7fa6b48dac77492126 Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Sun, 19 Feb 2017 23:31:55 +0800 Subject: [PATCH 06/17] Delete hello.html~ --- src/main/webapp/hello.html~ | 107 ------------------------------------ 1 file changed, 107 deletions(-) delete mode 100644 src/main/webapp/hello.html~ diff --git a/src/main/webapp/hello.html~ b/src/main/webapp/hello.html~ deleted file mode 100644 index 2f564b0..0000000 --- a/src/main/webapp/hello.html~ +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - Web Introduce - - -
-
- Welcome To Here -
- - -
-
-

尊敬的面试官你好,以下是网站和个人的简略介绍

- --->点我直接跳转到项目首页

- 网站技术选型
- 数据库表结构:点我查看
- IoC容器:spring
- web框架:springmvc
- orm框架:mybatis
- 安全框架:shiro
- 数据源:dbcp2
- 日志: sl4j
- Json: Gson
- 前端框架:Bootstrap
- -

- 可改进的地方(成吨的问题所以只能说改进了└(^o^)┘)
- 1.完善基本的业务功能
- 2.实现网站对机器的性能等监控(这个不会,很有兴趣去实现,了解到Driud好像有相关的资料)
- 3.阅读Shiro源码更好使用shiro,并且把权限控制从角色改变为资源粒度
- 4.学习Effective Java,Clean code,重构等书籍对代码进行清理
- 5.Sql优化
- 6.Web安全设计
- 7.Resetful方式重写
-

- -

- 目前所了解过的书籍(略为只扫读过一遍,稍微详细为仔细阅读过或者有写代码和练习)
- 略:
- 《数据结构与算法》(表,栈,队列,二叉树,散列表,希尔,快排,堆排,归并,并查集,最小生成树,最短路径,拓扑排序,动态规划)
- 《算法导论》(之后通过sky大大的博客了解了一下java集合源码http://www.cnblogs.com/skywang12345/p/3323085.html)
- 《设计模式》
- 《Mysql必知必会》->使用到了该图书管理网站
- 《Operating system-Internal and Design principle》(英文版)->从MIT的JOS了解了操作系统的启动bootload加载内核
- 《数据库系统概念》->该书以学校的组织结构进行描述业务需求,融入到了该网站中
- 《java核心卷1》
- 《Java网络编程》
- 《Http权威指南》->对图书管理网站的编写有指南作用,边读边查,对http协议的整个框架有了解便于感觉出错的位置
- 《Java NIO》->Tomcat有NIO的connector,先提前阅读有个知识准备
- 《深入剖析Tomcat》(之后阅读了Tomcat8源码)
- - 稍微详细:
- 《汇编语言》
- 《C Primer Plus》
- 《Windows程序设计》->写过五子棋,贪吃蛇
- 《Head First JSP & Servlet》(英文版)->该图书管理网站原来用jstl+servlet写过部分之后学习ssm就用它进行了代替
- 《深入理解计算机》->习题完成80%,onenote也有笔记
- 不足:
- 对操作系统学习的时候应该做完所有MIT JOS实验
- 对算法学习的时候应该使用leetcode做题,锻炼对问题的解决思路,光看不进行输出容易忘
-

-
-
-
- - - - From 4b9fc82170a285003cb06b548d851b0afb0b0338 Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Mon, 20 Feb 2017 00:30:54 +0800 Subject: [PATCH 07/17] Update README.md --- README.md | 43 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 20a7a99..e90363d 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # 简介 这是个简单的教务系统网站 -#使用技术 +# 使用技术 IoC容器:spring web框架:springmvc @@ -17,9 +17,44 @@ Json: Gson 前端框架:Bootstrap + +# 起步: + + 1.初始化项目 + + 1)下载Mysql,创建一个数据库名字为giit,导入create.sql与populate.sql,直接运行其中sql即可 + + 2)下载Tomcat + + 3)使用Intellij Idea导入项目,之后配置项目方式,使用刚才下载好的Tomcat + + 4)运行 + +# 使用简介: + + 1.权限介绍: + 其中权限分为 + 1).admin管理员 + 2).student学生 + 3).teacher教师 + 4).supplier供应商 + 密码均为:123456 + +# 功能介绍: +## 1.基本信息功能: + 其中可以设置一些基本的学校信息,也就是数据库中的实体-关系,之后就可以基于这些基本的关系信息进行更加复杂的功能,例如选课后可以记录多少学生选择了这门课程,只会教师提交图书后计算图书总数可以通过其中的关系得到 + 1)系部信息 + 2)专业信息 + 3)班级信息 + 4)课程信息 + 5)学生管理 + + +## 2.图书管理功能: + 1)教师上传图书 + 2)秘书审批图书 + 3)查看已审核图书 - -#数据库表结构: +# 数据库表结构: ![image](http://7xi78h.com1.z0.glb.clouddn.com/db.png) - From 5849d28740e381a882eee9882f387a4f882ac8ab Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Mon, 20 Feb 2017 00:32:16 +0800 Subject: [PATCH 08/17] Update README.md --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e90363d..a06a24f 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ 3)使用Intellij Idea导入项目,之后配置项目方式,使用刚才下载好的Tomcat 4)运行 - +https://pic1.zhimg.com/v2-44688d7a989ae25d9db6767a50a208f8_b.png # 使用简介: 1.权限介绍: @@ -39,6 +39,8 @@ 3).teacher教师 4).supplier供应商 密码均为:123456 + ![image](https://pic1.zhimg.com/v2-44688d7a989ae25d9db6767a50a208f8_b.png) + ![image](https://pic4.zhimg.com/v2-87231f2eb533cdab3d3e04c7a89457af_b.png) # 功能介绍: ## 1.基本信息功能: @@ -48,7 +50,7 @@ 3)班级信息 4)课程信息 5)学生管理 - + ![image](https://pic3.zhimg.com/v2-3ff2f0da17e8609f85da3b61671cf0de_b.png) ## 2.图书管理功能: 1)教师上传图书 From 18fbe4ebba49e27d3d4704ed66b75c75b6c21df1 Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Mon, 20 Feb 2017 00:40:13 +0800 Subject: [PATCH 09/17] Update README.md --- README.md | 88 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 52 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index a06a24f..f722a03 100644 --- a/README.md +++ b/README.md @@ -1,62 +1,78 @@ # 简介 这是个简单的教务系统网站 -# 使用技术 - IoC容器:spring - - web框架:springmvc +# 使用技术 + +IoC容器:spring - orm框架:mybatis +web框架:springmvc - 安全框架:shiro +orm框架:mybatis - 数据源:dbcp2 +安全框架:shiro - 日志: sl4j +数据源:dbcp2 - Json: Gson +日志: sl4j +   +Json: Gson - 前端框架:Bootstrap +前端框架:Bootstrap # 起步: - 1.初始化项目 - - 1)下载Mysql,创建一个数据库名字为giit,导入create.sql与populate.sql,直接运行其中sql即可 +1.初始化项目 - 2)下载Tomcat +1)下载Mysql,创建一个数据库名字为giit,导入create.sql与populate.sql,直接运行其中sql即可 - 3)使用Intellij Idea导入项目,之后配置项目方式,使用刚才下载好的Tomcat +2)下载Tomcat - 4)运行 +3)使用Intellij Idea导入项目,之后配置项目方式,使用刚才下载好的Tomcat + +4)运行 https://pic1.zhimg.com/v2-44688d7a989ae25d9db6767a50a208f8_b.png # 使用简介: - 1.权限介绍: - 其中权限分为 - 1).admin管理员 - 2).student学生 - 3).teacher教师 - 4).supplier供应商 - 密码均为:123456 - ![image](https://pic1.zhimg.com/v2-44688d7a989ae25d9db6767a50a208f8_b.png) - ![image](https://pic4.zhimg.com/v2-87231f2eb533cdab3d3e04c7a89457af_b.png) +1.权限介绍: + +其中权限分为 + +1).admin管理员 + +2).student学生 + +3).teacher教师 + +4).supplier供应商 + +密码均为:123456 + +![image](https://pic1.zhimg.com/v2-44688d7a989ae25d9db6767a50a208f8_b.png) +![image](https://pic4.zhimg.com/v2-87231f2eb533cdab3d3e04c7a89457af_b.png) # 功能介绍: ## 1.基本信息功能: - 其中可以设置一些基本的学校信息,也就是数据库中的实体-关系,之后就可以基于这些基本的关系信息进行更加复杂的功能,例如选课后可以记录多少学生选择了这门课程,只会教师提交图书后计算图书总数可以通过其中的关系得到 - 1)系部信息 - 2)专业信息 - 3)班级信息 - 4)课程信息 - 5)学生管理 - ![image](https://pic3.zhimg.com/v2-3ff2f0da17e8609f85da3b61671cf0de_b.png) +其中可以设置一些基本的学校信息,也就是数据库中的实体-关系,之后就可以基于这些基本的关系信息进行更加复杂的功能,例如选课后可以记录多少学生选择了这门课程,只会教师提交图书后计算图书总数可以通过其中的关系得到 + +1)系部信息 + +2)专业信息 + +3)班级信息 + +4)课程信息 + +5)学生管理 + +![image](https://pic3.zhimg.com/v2-3ff2f0da17e8609f85da3b61671cf0de_b.png) ## 2.图书管理功能: - 1)教师上传图书 - 2)秘书审批图书 - 3)查看已审核图书 - +1)教师上传图书 + +2)秘书审批图书 + +3)查看已审核图书 + # 数据库表结构: ![image](http://7xi78h.com1.z0.glb.clouddn.com/db.png) From 92e1776f4b3cdde2606f2ca10e2c7e18b2448433 Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Mon, 20 Feb 2017 00:41:22 +0800 Subject: [PATCH 10/17] Update README.md --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f722a03..fb8ec4d 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,8 @@ Json: Gson 3)使用Intellij Idea导入项目,之后配置项目方式,使用刚才下载好的Tomcat 4)运行 -https://pic1.zhimg.com/v2-44688d7a989ae25d9db6767a50a208f8_b.png +![image](https://pic4.zhimg.com/v2-87231f2eb533cdab3d3e04c7a89457af_b.png) + # 使用简介: 1.权限介绍: @@ -46,8 +47,7 @@ https://pic1.zhimg.com/v2-44688d7a989ae25d9db6767a50a208f8_b.png 4).supplier供应商 密码均为:123456 - -![image](https://pic1.zhimg.com/v2-44688d7a989ae25d9db6767a50a208f8_b.png) + ![image](https://pic4.zhimg.com/v2-87231f2eb533cdab3d3e04c7a89457af_b.png) # 功能介绍: @@ -64,7 +64,8 @@ https://pic1.zhimg.com/v2-44688d7a989ae25d9db6767a50a208f8_b.png 5)学生管理 -![image](https://pic3.zhimg.com/v2-3ff2f0da17e8609f85da3b61671cf0de_b.png) +![image](https://pic1.zhimg.com/v2-44688d7a989ae25d9db6767a50a208f8_b.png) + ## 2.图书管理功能: 1)教师上传图书 @@ -73,6 +74,8 @@ https://pic1.zhimg.com/v2-44688d7a989ae25d9db6767a50a208f8_b.png 3)查看已审核图书 +![image](https://pic3.zhimg.com/v2-3ff2f0da17e8609f85da3b61671cf0de_b.png) + # 数据库表结构: ![image](http://7xi78h.com1.z0.glb.clouddn.com/db.png) From 19070e7ef8914d28a15266848888543231e75a1f Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Mon, 20 Feb 2017 00:41:55 +0800 Subject: [PATCH 11/17] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index fb8ec4d..3eb7467 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Json: Gson 3)使用Intellij Idea导入项目,之后配置项目方式,使用刚才下载好的Tomcat 4)运行 + ![image](https://pic4.zhimg.com/v2-87231f2eb533cdab3d3e04c7a89457af_b.png) # 使用简介: @@ -48,8 +49,6 @@ Json: Gson 密码均为:123456 -![image](https://pic4.zhimg.com/v2-87231f2eb533cdab3d3e04c7a89457af_b.png) - # 功能介绍: ## 1.基本信息功能: 其中可以设置一些基本的学校信息,也就是数据库中的实体-关系,之后就可以基于这些基本的关系信息进行更加复杂的功能,例如选课后可以记录多少学生选择了这门课程,只会教师提交图书后计算图书总数可以通过其中的关系得到 From 08d952fac51b3371490439699908bf9dd8e40766 Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Mon, 20 Feb 2017 00:45:47 +0800 Subject: [PATCH 12/17] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3eb7467..59bd7c2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # 简介 -这是个简单的教务系统网站 +这是个简单的教务系统网站,并且结合了图书订购功能 # 使用技术 @@ -27,7 +27,7 @@ Json: Gson 2)下载Tomcat -3)使用Intellij Idea导入项目,之后配置项目方式,使用刚才下载好的Tomcat +3)使用Intellij Idea导入项目,之后配置项目启动方式,使用刚才下载好的Tomcat 4)运行 From fe80b5ab0d4be4de0598ccd90ccdf1141d376e46 Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Mon, 20 Feb 2017 00:46:05 +0800 Subject: [PATCH 13/17] Update README.md --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 59bd7c2..378adf4 100644 --- a/README.md +++ b/README.md @@ -4,19 +4,19 @@ # 使用技术 IoC容器:spring - + web框架:springmvc - + orm框架:mybatis - + 安全框架:shiro - + 数据源:dbcp2 - + 日志: sl4j -   + Json: Gson - + 前端框架:Bootstrap # 起步: From c76d683775bf7e0ebf0ed469928db4e8eb1bb889 Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Mon, 20 Feb 2017 00:49:21 +0800 Subject: [PATCH 14/17] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 378adf4..8915448 100644 --- a/README.md +++ b/README.md @@ -37,17 +37,17 @@ Json: Gson 1.权限介绍: -其中权限分为 +根据导入的populate.sql,运行网站初始时会存在四个权限角色: -1).admin管理员 +1).管理员,账号为admin -2).student学生 +2).学生,账号为student -3).teacher教师 +3).教师,账号为teache -4).supplier供应商 +4).供应商,账号为supplier -密码均为:123456 +/b密码均为123456 # 功能介绍: ## 1.基本信息功能: From 723bf8384683bdb9e1c9bda76febfdcc99b3e476 Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Mon, 20 Feb 2017 00:50:39 +0800 Subject: [PATCH 15/17] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8915448..2961e02 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ Json: Gson 4).供应商,账号为supplier -/b密码均为123456 +*密码均为123456* # 功能介绍: ## 1.基本信息功能: From c9bf50f31558a4c6eafc5be0ad3e7e0633fef61d Mon Sep 17 00:00:00 2001 From: c0de8ug Date: Mon, 20 Feb 2017 01:10:00 +0800 Subject: [PATCH 16/17] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2961e02..3a6caaf 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # 简介 -这是个简单的教务系统网站,并且结合了图书订购功能 +这是个简单的教务系统网站,并且结合了图书订购功能,希望这个小DEMO能对大家学习有帮助 # 使用技术 From 4dc28bd756af64aa3e7a3286b22c72957aa0cb7f Mon Sep 17 00:00:00 2001 From: dn Date: Sun, 3 Sep 2017 22:04:53 +0800 Subject: [PATCH 17/17] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E8=BF=90=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 +- src/main/resources/db.properties | 4 +- src/main/webapp/hello.html | 2 + .../com/giit/www/college/dao/BookDao.xml | 21 ++++ .../com/giit/www/college/dao/ClazzDao.xml | 31 +++++ .../com/giit/www/college/dao/CourseDao.xml | 31 +++++ .../com/giit/www/college/dao/DeptDao.xml | 41 +++++++ .../com/giit/www/college/dao/OrderBookDao.xml | 89 ++++++++++++++ .../com/giit/www/college/dao/SectionDao.xml | 47 ++++++++ .../com/giit/www/college/dao/SpecDao.xml | 49 ++++++++ .../com/giit/www/college/dao/StaffDao.xml | 37 ++++++ .../com/giit/www/college/dao/StudentDao.xml | 53 +++++++++ .../com/giit/www/college/dao/TakesDao.xml | 20 ++++ .../com/giit/www/college/dao/TimetableDao.xml | 16 +++ .../com/giit/www/system/dao/ResourceDao.xml | 9 ++ .../com/giit/www/system/dao/RoleDao.xml | 41 +++++++ .../com/giit/www/system/dao/UserDao.xml | 45 ++++++++ target/classes/db.properties | 4 +- target/classes/mybatis-config.xml | 9 ++ target/classes/spring-mvc-shiro.xml | 17 +++ target/classes/spring-mvc.xml | 50 ++++++++ target/classes/spring-shiro.xml | 55 +++++++++ target/classes/spring.xml | 56 +++++++++ target/giit/META-INF/MANIFEST.MF | 5 + .../com/giit/www/college/dao/BookDao.xml | 21 ++++ .../com/giit/www/college/dao/ClazzDao.xml | 31 +++++ .../com/giit/www/college/dao/CourseDao.xml | 31 +++++ .../com/giit/www/college/dao/DeptDao.xml | 41 +++++++ .../com/giit/www/college/dao/OrderBookDao.xml | 89 ++++++++++++++ .../com/giit/www/college/dao/SectionDao.xml | 47 ++++++++ .../com/giit/www/college/dao/SpecDao.xml | 49 ++++++++ .../com/giit/www/college/dao/StaffDao.xml | 37 ++++++ .../com/giit/www/college/dao/StudentDao.xml | 53 +++++++++ .../com/giit/www/college/dao/TakesDao.xml | 20 ++++ .../com/giit/www/college/dao/TimetableDao.xml | 16 +++ .../com/giit/www/system/dao/ResourceDao.xml | 9 ++ .../com/giit/www/system/dao/RoleDao.xml | 41 +++++++ .../com/giit/www/system/dao/UserDao.xml | 45 ++++++++ target/giit/WEB-INF/classes/db.properties | 4 +- .../giit/WEB-INF/classes/mybatis-config.xml | 9 ++ .../giit/WEB-INF/classes/spring-mvc-shiro.xml | 17 +++ target/giit/WEB-INF/classes/spring-mvc.xml | 50 ++++++++ target/giit/WEB-INF/classes/spring-shiro.xml | 55 +++++++++ target/giit/WEB-INF/classes/spring.xml | 56 +++++++++ .../view/admin/system/resource/resource.jsp | 68 +++++++++++ .../admin/system/resource/resource_add.jsp | 56 +++++++++ .../WEB-INF/view/admin/system/role/role.jsp | 66 +++++++++++ .../view/admin/system/role/role_add.jsp | 55 +++++++++ .../WEB-INF/view/admin/system/user/user.jsp | 70 +++++++++++ .../view/admin/system/user/user_add.jsp | 59 ++++++++++ .../view/admin/system/user/user_update.jsp | 61 ++++++++++ target/giit/WEB-INF/view/unauthorized.jsp | 11 ++ target/giit/hello.html | 109 ++++++++++++++++++ target/giit/img/1.png | Bin 0 -> 147150 bytes 54 files changed, 2004 insertions(+), 8 deletions(-) create mode 100644 target/classes/com/giit/www/college/dao/BookDao.xml create mode 100644 target/classes/com/giit/www/college/dao/ClazzDao.xml create mode 100644 target/classes/com/giit/www/college/dao/CourseDao.xml create mode 100644 target/classes/com/giit/www/college/dao/DeptDao.xml create mode 100644 target/classes/com/giit/www/college/dao/OrderBookDao.xml create mode 100644 target/classes/com/giit/www/college/dao/SectionDao.xml create mode 100644 target/classes/com/giit/www/college/dao/SpecDao.xml create mode 100644 target/classes/com/giit/www/college/dao/StaffDao.xml create mode 100644 target/classes/com/giit/www/college/dao/StudentDao.xml create mode 100644 target/classes/com/giit/www/college/dao/TakesDao.xml create mode 100644 target/classes/com/giit/www/college/dao/TimetableDao.xml create mode 100644 target/classes/com/giit/www/system/dao/ResourceDao.xml create mode 100644 target/classes/com/giit/www/system/dao/RoleDao.xml create mode 100644 target/classes/com/giit/www/system/dao/UserDao.xml create mode 100644 target/classes/mybatis-config.xml create mode 100644 target/classes/spring-mvc-shiro.xml create mode 100644 target/classes/spring-mvc.xml create mode 100644 target/classes/spring-shiro.xml create mode 100644 target/classes/spring.xml create mode 100644 target/giit/META-INF/MANIFEST.MF create mode 100644 target/giit/WEB-INF/classes/com/giit/www/college/dao/BookDao.xml create mode 100644 target/giit/WEB-INF/classes/com/giit/www/college/dao/ClazzDao.xml create mode 100644 target/giit/WEB-INF/classes/com/giit/www/college/dao/CourseDao.xml create mode 100644 target/giit/WEB-INF/classes/com/giit/www/college/dao/DeptDao.xml create mode 100644 target/giit/WEB-INF/classes/com/giit/www/college/dao/OrderBookDao.xml create mode 100644 target/giit/WEB-INF/classes/com/giit/www/college/dao/SectionDao.xml create mode 100644 target/giit/WEB-INF/classes/com/giit/www/college/dao/SpecDao.xml create mode 100644 target/giit/WEB-INF/classes/com/giit/www/college/dao/StaffDao.xml create mode 100644 target/giit/WEB-INF/classes/com/giit/www/college/dao/StudentDao.xml create mode 100644 target/giit/WEB-INF/classes/com/giit/www/college/dao/TakesDao.xml create mode 100644 target/giit/WEB-INF/classes/com/giit/www/college/dao/TimetableDao.xml create mode 100644 target/giit/WEB-INF/classes/com/giit/www/system/dao/ResourceDao.xml create mode 100644 target/giit/WEB-INF/classes/com/giit/www/system/dao/RoleDao.xml create mode 100644 target/giit/WEB-INF/classes/com/giit/www/system/dao/UserDao.xml create mode 100644 target/giit/WEB-INF/classes/mybatis-config.xml create mode 100644 target/giit/WEB-INF/classes/spring-mvc-shiro.xml create mode 100644 target/giit/WEB-INF/classes/spring-mvc.xml create mode 100644 target/giit/WEB-INF/classes/spring-shiro.xml create mode 100644 target/giit/WEB-INF/classes/spring.xml create mode 100644 target/giit/WEB-INF/view/admin/system/resource/resource.jsp create mode 100644 target/giit/WEB-INF/view/admin/system/resource/resource_add.jsp create mode 100644 target/giit/WEB-INF/view/admin/system/role/role.jsp create mode 100644 target/giit/WEB-INF/view/admin/system/role/role_add.jsp create mode 100644 target/giit/WEB-INF/view/admin/system/user/user.jsp create mode 100644 target/giit/WEB-INF/view/admin/system/user/user_add.jsp create mode 100644 target/giit/WEB-INF/view/admin/system/user/user_update.jsp create mode 100644 target/giit/WEB-INF/view/unauthorized.jsp create mode 100644 target/giit/hello.html create mode 100644 target/giit/img/1.png diff --git a/pom.xml b/pom.xml index c525808..e2493d4 100644 --- a/pom.xml +++ b/pom.xml @@ -256,13 +256,13 @@ tomcat8x - /home/c0de8ug/software/apache-tomcat-8.0.28 + /Users/dongning/Documents/java/程序包/apache-tomcat-8.0.45 300000 existing - /home/c0de8ug/software/apache-tomcat-8.0.28 + /Users/dongning/Documents/java/程序包/apache-tomcat-8.0.45 diff --git a/src/main/resources/db.properties b/src/main/resources/db.properties index 7732dfa..e4b4340 100644 --- a/src/main/resources/db.properties +++ b/src/main/resources/db.properties @@ -1,4 +1,4 @@ jdbc.driver=com.mysql.jdbc.Driver -jdbc.url=jdbc:mysql://localhost:3306/giit +jdbc.url=jdbc:mysql://localhost/giit?useSSL=false&useUnicode=true&characterEncoding=utf-8 jdbc.username=root -jdbc.password=0313 +jdbc.password=123456 diff --git a/src/main/webapp/hello.html b/src/main/webapp/hello.html index 4952598..2bcc50b 100644 --- a/src/main/webapp/hello.html +++ b/src/main/webapp/hello.html @@ -1,6 +1,7 @@ + Web Introduce +
diff --git a/target/classes/com/giit/www/college/dao/BookDao.xml b/target/classes/com/giit/www/college/dao/BookDao.xml new file mode 100644 index 0000000..f9b03e7 --- /dev/null +++ b/target/classes/com/giit/www/college/dao/BookDao.xml @@ -0,0 +1,21 @@ + + + + + + + + INSERT INTO book(book_title,isbn,date_of_printing,author,press,category,unit_price) + VALUES(#{bookTitle},#{isbn},#{dateOfPrinting},#{author},#{press},#{category},#{unitPrice}) + + + + + + DELETE FROM book WHERE book_title = #{bookTitle} AND isbn = #{isbn} + + \ No newline at end of file diff --git a/target/classes/com/giit/www/college/dao/ClazzDao.xml b/target/classes/com/giit/www/college/dao/ClazzDao.xml new file mode 100644 index 0000000..6477267 --- /dev/null +++ b/target/classes/com/giit/www/college/dao/ClazzDao.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + INSERT INTO class(class_id,class_name,year,spec_name) VALUES (#{clazzId},#{className},#{year},#{specName}) + + + + DELETE FROM class WHERE class_id = #{value} + + + + \ No newline at end of file diff --git a/target/classes/com/giit/www/college/dao/CourseDao.xml b/target/classes/com/giit/www/college/dao/CourseDao.xml new file mode 100644 index 0000000..9c39a96 --- /dev/null +++ b/target/classes/com/giit/www/college/dao/CourseDao.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + DELETE FROM course WHERE course_title=#{value} + + + + \ No newline at end of file diff --git a/target/classes/com/giit/www/college/dao/DeptDao.xml b/target/classes/com/giit/www/college/dao/DeptDao.xml new file mode 100644 index 0000000..f1c8d59 --- /dev/null +++ b/target/classes/com/giit/www/college/dao/DeptDao.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + UPDATE department SET dept_name = #{deptName} WHERE dept_id = #{deptId} + + + + INSERT INTO department(dept_name) VALUES(#{value}) + + + + DELETE FROM department WHERE dept_id = #{value} + + \ No newline at end of file diff --git a/target/classes/com/giit/www/college/dao/OrderBookDao.xml b/target/classes/com/giit/www/college/dao/OrderBookDao.xml new file mode 100644 index 0000000..3ea6df3 --- /dev/null +++ b/target/classes/com/giit/www/college/dao/OrderBookDao.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO order_book(staff_id,sec_id,book_title,isbn,remark,approval) VALUES(#{staffId},#{secId},#{bookTitle},#{isbn},#{remark},#{approval}) + + + + + + + + + + + + + DELETE FROM order_book WHERE sec_id = #{secId} AND book_title = #{bookTitle} AND isbn = #{isbn} + + + + UPDATE order_book SET approval = 1 WHERE sec_id = #{secId} AND book_title = #{bookTitle} AND isbn=#{isbn} + + \ No newline at end of file diff --git a/target/classes/com/giit/www/college/dao/SectionDao.xml b/target/classes/com/giit/www/college/dao/SectionDao.xml new file mode 100644 index 0000000..6cc7ecc --- /dev/null +++ b/target/classes/com/giit/www/college/dao/SectionDao.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO section(course_title,year,staff_id) VALUES(#{courseTitle},#{year},#{staffId}) + + + + DELETE FROM section WHERE sec_id = #{value} + + \ No newline at end of file diff --git a/target/classes/com/giit/www/college/dao/SpecDao.xml b/target/classes/com/giit/www/college/dao/SpecDao.xml new file mode 100644 index 0000000..478dfc7 --- /dev/null +++ b/target/classes/com/giit/www/college/dao/SpecDao.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE speciality SET spec_name = #{newSpecName} WHERE spec_name = #{specName} + + + + INSERT INTO speciality(dept_name,spec_name) VALUES(#{deptName},#{specName}) + + + + DELETE FROM speciality WHERE spec_name = #{value} + + \ No newline at end of file diff --git a/target/classes/com/giit/www/college/dao/StaffDao.xml b/target/classes/com/giit/www/college/dao/StaffDao.xml new file mode 100644 index 0000000..65c8504 --- /dev/null +++ b/target/classes/com/giit/www/college/dao/StaffDao.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + UPDATE staff SET spec_name = #{newSpecName} WHERE spec_name = #{specName} + + + + INSERT INTO staff(staff_id,staff_name) VALUES(#{staffId},#{staffName}) + + + + DELETE FROM staff WHERE staff_id = #{value} + + \ No newline at end of file diff --git a/target/classes/com/giit/www/college/dao/StudentDao.xml b/target/classes/com/giit/www/college/dao/StudentDao.xml new file mode 100644 index 0000000..bed5638 --- /dev/null +++ b/target/classes/com/giit/www/college/dao/StudentDao.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + INSERT INTO student + ( + student_id,student_name,id_card,year,class_name, + telephone_number,student_origin_base,gender,pic_path + ) + VALUES + ( + #{studentId}, + #{studentName}, + #{idCard}, + #{year}, + #{className}, + #{telephoneNumber}, + #{studentOriginBase}, + #{gender}, + #{picPath}) + + + DELETE FROM student WHERE student_id = #{value} + + + + UPDATE student + SET student_name = #{studentName},id_card = #{IdCard}, + year = #{year},class_name = #{className},telephone_number = #{telephoneNumber}, + student_origin_base = #{studentOriginBase},gender = #{gender},photo = #{photo} + WHERE student_id = #{studentId} + + + \ No newline at end of file diff --git a/target/classes/com/giit/www/college/dao/TakesDao.xml b/target/classes/com/giit/www/college/dao/TakesDao.xml new file mode 100644 index 0000000..d56c7f1 --- /dev/null +++ b/target/classes/com/giit/www/college/dao/TakesDao.xml @@ -0,0 +1,20 @@ + + + + + + + + + + INSERT INTO takes(student_id,sec_Id) VALUES(#{stdId},#{secId}) + + + + DELETE FROM takes WHERE student_id = #{stdId} AND sec_id = #{secId} + + \ No newline at end of file diff --git a/target/classes/com/giit/www/college/dao/TimetableDao.xml b/target/classes/com/giit/www/college/dao/TimetableDao.xml new file mode 100644 index 0000000..255f1bf --- /dev/null +++ b/target/classes/com/giit/www/college/dao/TimetableDao.xml @@ -0,0 +1,16 @@ + + + + + + + + INSERT INTO timetable(sec_id,time,week,weeks,classroom) VALUES(#{secId},#{time},#{week},#{weeks},#{classroom}) + + + + DELETE FROM timetable WHERE sec_id = #{value} + + \ No newline at end of file diff --git a/target/classes/com/giit/www/system/dao/ResourceDao.xml b/target/classes/com/giit/www/system/dao/ResourceDao.xml new file mode 100644 index 0000000..466a480 --- /dev/null +++ b/target/classes/com/giit/www/system/dao/ResourceDao.xml @@ -0,0 +1,9 @@ + + + + + + + \ No newline at end of file diff --git a/target/classes/com/giit/www/system/dao/RoleDao.xml b/target/classes/com/giit/www/system/dao/RoleDao.xml new file mode 100644 index 0000000..f6c6e98 --- /dev/null +++ b/target/classes/com/giit/www/system/dao/RoleDao.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + INSERT INTO role(role,description,resource_ids,available) VALUES(#{role},#{description},#{resourceIdsStr},#{available}) + + + + UPDATE role SET role=#{role}, description=#{description}, resource_ids=#{resourceIde}, available=#{avaliable} where id={id} + + + + DELETE FROM role where id=#{id} + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/giit/www/system/dao/UserDao.xml b/target/classes/com/giit/www/system/dao/UserDao.xml new file mode 100644 index 0000000..864ab68 --- /dev/null +++ b/target/classes/com/giit/www/system/dao/UserDao.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + UPDATE user SET password = #{password} ,authority = #{authority} WHERE user_id = #{userId} + + + + UPDATE user SET password = #{password} WHERE user_id = #{userId} + + + + INSERT INTO user(user_id,password,salt,role_ids,locked) VALUES(#{userId},#{password},#{salt},#{roleIdsStr},#{locked}) + + + + + + DELETE FROM user WHERE user_id = #{value} + + + + \ No newline at end of file diff --git a/target/classes/db.properties b/target/classes/db.properties index 7732dfa..e4b4340 100644 --- a/target/classes/db.properties +++ b/target/classes/db.properties @@ -1,4 +1,4 @@ jdbc.driver=com.mysql.jdbc.Driver -jdbc.url=jdbc:mysql://localhost:3306/giit +jdbc.url=jdbc:mysql://localhost/giit?useSSL=false&useUnicode=true&characterEncoding=utf-8 jdbc.username=root -jdbc.password=0313 +jdbc.password=123456 diff --git a/target/classes/mybatis-config.xml b/target/classes/mybatis-config.xml new file mode 100644 index 0000000..4009578 --- /dev/null +++ b/target/classes/mybatis-config.xml @@ -0,0 +1,9 @@ + + + + + + + \ No newline at end of file diff --git a/target/classes/spring-mvc-shiro.xml b/target/classes/spring-mvc-shiro.xml new file mode 100644 index 0000000..212e848 --- /dev/null +++ b/target/classes/spring-mvc-shiro.xml @@ -0,0 +1,17 @@ + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/spring-mvc.xml b/target/classes/spring-mvc.xml new file mode 100644 index 0000000..19c5e9c --- /dev/null +++ b/target/classes/spring-mvc.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/spring-shiro.xml b/target/classes/spring-shiro.xml new file mode 100644 index 0000000..1ca55af --- /dev/null +++ b/target/classes/spring-shiro.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /login = authc + /logout = logout + + + + + \ No newline at end of file diff --git a/target/classes/spring.xml b/target/classes/spring.xml new file mode 100644 index 0000000..5183bd8 --- /dev/null +++ b/target/classes/spring.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/giit/META-INF/MANIFEST.MF b/target/giit/META-INF/MANIFEST.MF new file mode 100644 index 0000000..4056bda --- /dev/null +++ b/target/giit/META-INF/MANIFEST.MF @@ -0,0 +1,5 @@ +Manifest-Version: 1.0 +Built-By: dongning +Created-By: IntelliJ IDEA +Build-Jdk: 1.8.0_60 + diff --git a/target/giit/WEB-INF/classes/com/giit/www/college/dao/BookDao.xml b/target/giit/WEB-INF/classes/com/giit/www/college/dao/BookDao.xml new file mode 100644 index 0000000..f9b03e7 --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/college/dao/BookDao.xml @@ -0,0 +1,21 @@ + + + + + + + + INSERT INTO book(book_title,isbn,date_of_printing,author,press,category,unit_price) + VALUES(#{bookTitle},#{isbn},#{dateOfPrinting},#{author},#{press},#{category},#{unitPrice}) + + + + + + DELETE FROM book WHERE book_title = #{bookTitle} AND isbn = #{isbn} + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/com/giit/www/college/dao/ClazzDao.xml b/target/giit/WEB-INF/classes/com/giit/www/college/dao/ClazzDao.xml new file mode 100644 index 0000000..6477267 --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/college/dao/ClazzDao.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + INSERT INTO class(class_id,class_name,year,spec_name) VALUES (#{clazzId},#{className},#{year},#{specName}) + + + + DELETE FROM class WHERE class_id = #{value} + + + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/com/giit/www/college/dao/CourseDao.xml b/target/giit/WEB-INF/classes/com/giit/www/college/dao/CourseDao.xml new file mode 100644 index 0000000..9c39a96 --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/college/dao/CourseDao.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + DELETE FROM course WHERE course_title=#{value} + + + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/com/giit/www/college/dao/DeptDao.xml b/target/giit/WEB-INF/classes/com/giit/www/college/dao/DeptDao.xml new file mode 100644 index 0000000..f1c8d59 --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/college/dao/DeptDao.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + UPDATE department SET dept_name = #{deptName} WHERE dept_id = #{deptId} + + + + INSERT INTO department(dept_name) VALUES(#{value}) + + + + DELETE FROM department WHERE dept_id = #{value} + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/com/giit/www/college/dao/OrderBookDao.xml b/target/giit/WEB-INF/classes/com/giit/www/college/dao/OrderBookDao.xml new file mode 100644 index 0000000..3ea6df3 --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/college/dao/OrderBookDao.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO order_book(staff_id,sec_id,book_title,isbn,remark,approval) VALUES(#{staffId},#{secId},#{bookTitle},#{isbn},#{remark},#{approval}) + + + + + + + + + + + + + DELETE FROM order_book WHERE sec_id = #{secId} AND book_title = #{bookTitle} AND isbn = #{isbn} + + + + UPDATE order_book SET approval = 1 WHERE sec_id = #{secId} AND book_title = #{bookTitle} AND isbn=#{isbn} + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/com/giit/www/college/dao/SectionDao.xml b/target/giit/WEB-INF/classes/com/giit/www/college/dao/SectionDao.xml new file mode 100644 index 0000000..6cc7ecc --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/college/dao/SectionDao.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO section(course_title,year,staff_id) VALUES(#{courseTitle},#{year},#{staffId}) + + + + DELETE FROM section WHERE sec_id = #{value} + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/com/giit/www/college/dao/SpecDao.xml b/target/giit/WEB-INF/classes/com/giit/www/college/dao/SpecDao.xml new file mode 100644 index 0000000..478dfc7 --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/college/dao/SpecDao.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE speciality SET spec_name = #{newSpecName} WHERE spec_name = #{specName} + + + + INSERT INTO speciality(dept_name,spec_name) VALUES(#{deptName},#{specName}) + + + + DELETE FROM speciality WHERE spec_name = #{value} + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/com/giit/www/college/dao/StaffDao.xml b/target/giit/WEB-INF/classes/com/giit/www/college/dao/StaffDao.xml new file mode 100644 index 0000000..65c8504 --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/college/dao/StaffDao.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + UPDATE staff SET spec_name = #{newSpecName} WHERE spec_name = #{specName} + + + + INSERT INTO staff(staff_id,staff_name) VALUES(#{staffId},#{staffName}) + + + + DELETE FROM staff WHERE staff_id = #{value} + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/com/giit/www/college/dao/StudentDao.xml b/target/giit/WEB-INF/classes/com/giit/www/college/dao/StudentDao.xml new file mode 100644 index 0000000..bed5638 --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/college/dao/StudentDao.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + INSERT INTO student + ( + student_id,student_name,id_card,year,class_name, + telephone_number,student_origin_base,gender,pic_path + ) + VALUES + ( + #{studentId}, + #{studentName}, + #{idCard}, + #{year}, + #{className}, + #{telephoneNumber}, + #{studentOriginBase}, + #{gender}, + #{picPath}) + + + DELETE FROM student WHERE student_id = #{value} + + + + UPDATE student + SET student_name = #{studentName},id_card = #{IdCard}, + year = #{year},class_name = #{className},telephone_number = #{telephoneNumber}, + student_origin_base = #{studentOriginBase},gender = #{gender},photo = #{photo} + WHERE student_id = #{studentId} + + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/com/giit/www/college/dao/TakesDao.xml b/target/giit/WEB-INF/classes/com/giit/www/college/dao/TakesDao.xml new file mode 100644 index 0000000..d56c7f1 --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/college/dao/TakesDao.xml @@ -0,0 +1,20 @@ + + + + + + + + + + INSERT INTO takes(student_id,sec_Id) VALUES(#{stdId},#{secId}) + + + + DELETE FROM takes WHERE student_id = #{stdId} AND sec_id = #{secId} + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/com/giit/www/college/dao/TimetableDao.xml b/target/giit/WEB-INF/classes/com/giit/www/college/dao/TimetableDao.xml new file mode 100644 index 0000000..255f1bf --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/college/dao/TimetableDao.xml @@ -0,0 +1,16 @@ + + + + + + + + INSERT INTO timetable(sec_id,time,week,weeks,classroom) VALUES(#{secId},#{time},#{week},#{weeks},#{classroom}) + + + + DELETE FROM timetable WHERE sec_id = #{value} + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/com/giit/www/system/dao/ResourceDao.xml b/target/giit/WEB-INF/classes/com/giit/www/system/dao/ResourceDao.xml new file mode 100644 index 0000000..466a480 --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/system/dao/ResourceDao.xml @@ -0,0 +1,9 @@ + + + + + + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/com/giit/www/system/dao/RoleDao.xml b/target/giit/WEB-INF/classes/com/giit/www/system/dao/RoleDao.xml new file mode 100644 index 0000000..f6c6e98 --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/system/dao/RoleDao.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + INSERT INTO role(role,description,resource_ids,available) VALUES(#{role},#{description},#{resourceIdsStr},#{available}) + + + + UPDATE role SET role=#{role}, description=#{description}, resource_ids=#{resourceIde}, available=#{avaliable} where id={id} + + + + DELETE FROM role where id=#{id} + + + + + + + + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/com/giit/www/system/dao/UserDao.xml b/target/giit/WEB-INF/classes/com/giit/www/system/dao/UserDao.xml new file mode 100644 index 0000000..864ab68 --- /dev/null +++ b/target/giit/WEB-INF/classes/com/giit/www/system/dao/UserDao.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + UPDATE user SET password = #{password} ,authority = #{authority} WHERE user_id = #{userId} + + + + UPDATE user SET password = #{password} WHERE user_id = #{userId} + + + + INSERT INTO user(user_id,password,salt,role_ids,locked) VALUES(#{userId},#{password},#{salt},#{roleIdsStr},#{locked}) + + + + + + DELETE FROM user WHERE user_id = #{value} + + + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/db.properties b/target/giit/WEB-INF/classes/db.properties index 7732dfa..e4b4340 100644 --- a/target/giit/WEB-INF/classes/db.properties +++ b/target/giit/WEB-INF/classes/db.properties @@ -1,4 +1,4 @@ jdbc.driver=com.mysql.jdbc.Driver -jdbc.url=jdbc:mysql://localhost:3306/giit +jdbc.url=jdbc:mysql://localhost/giit?useSSL=false&useUnicode=true&characterEncoding=utf-8 jdbc.username=root -jdbc.password=0313 +jdbc.password=123456 diff --git a/target/giit/WEB-INF/classes/mybatis-config.xml b/target/giit/WEB-INF/classes/mybatis-config.xml new file mode 100644 index 0000000..4009578 --- /dev/null +++ b/target/giit/WEB-INF/classes/mybatis-config.xml @@ -0,0 +1,9 @@ + + + + + + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/spring-mvc-shiro.xml b/target/giit/WEB-INF/classes/spring-mvc-shiro.xml new file mode 100644 index 0000000..212e848 --- /dev/null +++ b/target/giit/WEB-INF/classes/spring-mvc-shiro.xml @@ -0,0 +1,17 @@ + + + + + + + + + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/spring-mvc.xml b/target/giit/WEB-INF/classes/spring-mvc.xml new file mode 100644 index 0000000..19c5e9c --- /dev/null +++ b/target/giit/WEB-INF/classes/spring-mvc.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/spring-shiro.xml b/target/giit/WEB-INF/classes/spring-shiro.xml new file mode 100644 index 0000000..1ca55af --- /dev/null +++ b/target/giit/WEB-INF/classes/spring-shiro.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /login = authc + /logout = logout + + + + + \ No newline at end of file diff --git a/target/giit/WEB-INF/classes/spring.xml b/target/giit/WEB-INF/classes/spring.xml new file mode 100644 index 0000000..5183bd8 --- /dev/null +++ b/target/giit/WEB-INF/classes/spring.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/giit/WEB-INF/view/admin/system/resource/resource.jsp b/target/giit/WEB-INF/view/admin/system/resource/resource.jsp new file mode 100644 index 0000000..b928fda --- /dev/null +++ b/target/giit/WEB-INF/view/admin/system/resource/resource.jsp @@ -0,0 +1,68 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> + +<%----%> + +
+
+
+

用户管理

+
+
+
+
+
+
+
+ 用户信息 +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + +
角色名称角色描述拥有的资源操作
${role}${role}${role}${role} + 删除 +
+ 添加角色 +
+ +
+ +
+ +
+ +
+
+ + +
+
+ + + + + + diff --git a/target/giit/WEB-INF/view/admin/system/resource/resource_add.jsp b/target/giit/WEB-INF/view/admin/system/resource/resource_add.jsp new file mode 100644 index 0000000..2b4b2c0 --- /dev/null +++ b/target/giit/WEB-INF/view/admin/system/resource/resource_add.jsp @@ -0,0 +1,56 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> + + + +
+
+
+

用户管理

+
+
+
+
+
+
+
+ 用户信息 +
+ +
+
+
+ + + + + + + + + +
+
+ +
+ +
+ +
+ +
+
+ + +
+ + + + + + + + + diff --git a/target/giit/WEB-INF/view/admin/system/role/role.jsp b/target/giit/WEB-INF/view/admin/system/role/role.jsp new file mode 100644 index 0000000..bc1c7f3 --- /dev/null +++ b/target/giit/WEB-INF/view/admin/system/role/role.jsp @@ -0,0 +1,66 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> + +<%----%> + +
+
+
+

角色管理

+
+
+
+
+
+
+
+ 角色信息 +
+ +
+
+ + + + + + + + + + + + + + + + + + + +
角色名称角色描述拥有的资源操作
${role.role}${role.description}${role.resourceIdsStr} + 删除 +
+ 添加角色 +
+ +
+ +
+ +
+ +
+
+ + +
+ + + + + + + diff --git a/target/giit/WEB-INF/view/admin/system/role/role_add.jsp b/target/giit/WEB-INF/view/admin/system/role/role_add.jsp new file mode 100644 index 0000000..87a384b --- /dev/null +++ b/target/giit/WEB-INF/view/admin/system/role/role_add.jsp @@ -0,0 +1,55 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> + + + +
+
+
+

用户管理

+
+
+
+
+
+
+
+ 用户信息 +
+ +
+
+
+ + + + + <%----%> + <%----%> + + +
+
+ +
+ +
+ +
+ +
+
+ + +
+ + + + + + + + + diff --git a/target/giit/WEB-INF/view/admin/system/user/user.jsp b/target/giit/WEB-INF/view/admin/system/user/user.jsp new file mode 100644 index 0000000..4c50618 --- /dev/null +++ b/target/giit/WEB-INF/view/admin/system/user/user.jsp @@ -0,0 +1,70 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> + +<%----%> + +
+
+
+

用户管理

+
+
+
+
+
+
+
+ 用户信息 +
+ +
+
+ + + + + + + + <%----%> + + + + + + + + + + + <%----%> + + + + +
用户名密码权限邮箱
${user.userId}${user.password}${user.roleIdsStr}email修改 + 删除 +
+ 添加用户 +
+ +
+ +
+ +
+ +
+
+ + +
+ + + + + + + diff --git a/target/giit/WEB-INF/view/admin/system/user/user_add.jsp b/target/giit/WEB-INF/view/admin/system/user/user_add.jsp new file mode 100644 index 0000000..2eb2dec --- /dev/null +++ b/target/giit/WEB-INF/view/admin/system/user/user_add.jsp @@ -0,0 +1,59 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> + + + +
+
+
+

用户管理

+
+
+
+
+
+
+
+ 用户信息 +
+ +
+
+
+ + + + + + + + + + + +
+
+ +
+ +
+ +
+ +
+
+ + +
+ + + + + diff --git a/target/giit/WEB-INF/view/admin/system/user/user_update.jsp b/target/giit/WEB-INF/view/admin/system/user/user_update.jsp new file mode 100644 index 0000000..4bf9a78 --- /dev/null +++ b/target/giit/WEB-INF/view/admin/system/user/user_update.jsp @@ -0,0 +1,61 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> + + + +
+
+
+

用户管理

+
+
+
+
+
+
+
+ 用户信息 +
+ +
+
+
+ + + +

+ + + + + +
+ 角色列表: + + (按住shift键多选) +
+ + +
+
+ +
+ +
+ +
+ +
+
+ + +
+ + + + + diff --git a/target/giit/WEB-INF/view/unauthorized.jsp b/target/giit/WEB-INF/view/unauthorized.jsp new file mode 100644 index 0000000..394e5ff --- /dev/null +++ b/target/giit/WEB-INF/view/unauthorized.jsp @@ -0,0 +1,11 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + 没有权限 + + + + +
您没有权限
+ + \ No newline at end of file diff --git a/target/giit/hello.html b/target/giit/hello.html new file mode 100644 index 0000000..2bcc50b --- /dev/null +++ b/target/giit/hello.html @@ -0,0 +1,109 @@ + + + + + + + Web Introduce + + + +
+
+ Welcome To Here +
+ + +
+
+

尊敬的面试官你好,以下是网站和个人的简略介绍

+ 网站技术选型
+ 数据库表结构:点我查看
+ IoC容器:spring
+ web框架:springmvc
+ orm框架:mybatis
+ 安全框架:shiro
+ 数据源:dbcp2
+ 日志: sl4j
+ Json: Gson
+ 前端框架:Bootstrap
+ +

+ 使用的小技术:
+ 1.教师订购图书页面orderbook.jsp使用了ajax提交json与后台交互实现局部刷新
+

+ +

+ 可改进的地方(成吨的问题所以只能说改进了):
+ 1.完善基本的业务功能
+ 2.实现网站对机器的性能等监控(这个不会,很有兴趣去实现,了解到Driud好像有相关的资料)
+ 3.阅读Shiro源码更好使用shiro,并且把权限控制从角色改变为资源粒度
+ 4.学习Effective Java,Clean code,重构等书籍对代码进行清理
+ 5.Sql优化
+ 6.Web安全设计
+ 7.Resetful方式重写
+

+ +

+ 目前所了解过的书籍(略为只扫读过一遍,稍微详细为仔细阅读过或者有写代码和练习)
+ 略:
+ 《数据结构与算法》(表,栈,队列,二叉树,散列表,希尔,快排,堆排,归并,快排,并查集,图的最小生成树,最短路径,拓扑排序相关算法,动态规划)
+ 《设计模式》
+ 《Operating system-Internal and Design principle》(英文版)
+ 《数据库系统概念》
+ 《算法导论》
+ 《java核心卷1》
+ 《Java网络编程》
+ 《Http权威指南》
+ 《Java NIO》
+ 《深入剖析Tomcat》(之后阅读了Tomcat8源码)
+ + 稍微详细:
+ 《汇编语言》
+ 《C Primer Plus》
+ 《Windows程序设计》
+ 《Head First JSP & Servlet》(英文版)
+ 《深入理解计算机》
+ +

+
+
+
+ + + + \ No newline at end of file diff --git a/target/giit/img/1.png b/target/giit/img/1.png new file mode 100644 index 0000000000000000000000000000000000000000..1c7522e43b1e17e28be35cf7fa99a2ad392a2ca9 GIT binary patch literal 147150 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

y*K(?#I&`2QtIzG4^qg`xxYVZBEx6{ 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

)Ukz&`+$6tE+*)L;Nt0Ra#dLa9gH$e5M{c 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 KEXTy<