[spring+springmvc+mybatis实践]学生社团管理系统
一、简介
ssm框架为现在十分流行的mvc主流框架。mybatis负责与数据库交互,springmvc与spring完美适配,负责控制器和视图渲染。之前有初步学习过ssm框架,这次借学校里的web课设实践一番,并总结出一些问题。前端使用的是bootstrap框架。
二、项目简介
社团是学校个性化设置的综合实践课程,也是培养学生综合素质和个人兴趣的有效途径。为给同学们提供社团的各方面信息,让同学们及时了解社团动态,积极参加社团活动,本系统拟开发实现学校社团报名课程管理系统,包括前台各个社团信息的展示、报名和后台的社团课程管理、选课学员管理、教师管理、社团信息管理以及每个社团的报名统计等功能。 选做:需区分学年或学期(即按学年或学期报名),统计功能实现柱状图或饼图。
三、数据库设计
这次的数据库设计比较简单,没有使用外键,而是冗余设计。
1、学生表(student)

2、课程表(course)

说明:time字段为开课学期,credit为学分,belong为所属社团,amount为课程总人数,selected为已选人数。
3、管理员表(admin)

4、选课表(study)

说明:s开头为学生表中关联字段,c开头为课程表中关联字段
四、运行效果







五、代码结构


这次完成的比较仓促,代码结构不够清晰,其中有许多冗余或者逻辑不合理的部分,欢迎大家提出修改。
六、源代码
https://github.com/verlen/webBigProject
七、遇到的问题(不完全统计)
1、maven 编译出错 webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)
<build>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.2.8.v20150217</version>
<configuration>
<httpConnector>
<port>8155</port>
</httpConnector>
<stopKey>shutdown</stopKey>
<stopPort>9966</stopPort>
<webAppSourceDirectory>${basedir}/web</webAppSourceDirectory>
<webAppConfig>
<allowDuplicateFragmentNames>true</allowDuplicateFragmentNames>
</webAppConfig>
</configuration>
</plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<webResources>
<resource>
<directory>${basedir}/web</directory>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
2、 springmvc 静态资源处理
<mvc:annotation-driven />
<mvc:default-servlet-handler/>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/index</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.mvc</url-pattern>
</servlet-mapping> <welcome-file-list>
<welcome-file>index</welcome-file>
</welcome-file-list>
[spring+springmvc+mybatis实践]学生社团管理系统的更多相关文章
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)【转载】
最近在学习Spring+SpringMVC+MyBatis的整合.以下是参考网上的资料自己实践操作的详细步骤. 1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于20 ...
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(二)Log4j讲解与整合
日常啰嗦 上一篇文章主要讲述了一下syso和Log间的一些区别与比较,重点是在项目的日志功能上,因此,承接前文<Spring+SpringMVC+MyBatis+easyUI整合优化篇(一)Sy ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十五)——SpringMVC注解开发(基础篇)
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7065294.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十四)--S ...
- Spring+SpringMVC+MyBatis+easyUI整合进阶篇(二)RESTful API实战笔记(接口设计及Java后端实现)
写在前面的话 原计划这部分代码的更新也是上传到ssm-demo仓库中,因为如下原因并没有这么做: 有些使用了该项目的朋友建议重新创建一个仓库,因为原来仓库中的项目太多,结构多少有些乱糟糟的. 而且这次 ...
- 简单易学的SSM(Spring+SpringMVC+MyBatis)整合
SSM(Spring+SpringMVC+MyBatis)的整合: 具体执行过程:1.用户在页面向后台发送一个请求 2.请求由DispatcherServlet 前端控制器拦截交给SpringMVC管 ...
- IntelliJ IDEA 14.0.3 实战搭建Spring+SpringMVC+MyBatis组合框架
简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发的框架,对于新手来说也是比较容易学习入门的.虽说容易,但在框架搭建过程中仍然遇到了许多问题,因此用实 ...
- Spring+SpringMVC+MyBatis+easyUI整合进阶篇(六)一定要RESTful吗?
作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 写在前面的话 这个问题看起来就显得有些萌,或者说类似的问题都有些不靠 ...
- 如约而至,Java 10 正式发布! Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十四)Redis缓存正确的使用姿势 努力的孩子运气不会太差,跌宕的人生定当更加精彩 优先队列详解(转载)
如约而至,Java 10 正式发布! 3 月 20 日,Oracle 宣布 Java 10 正式发布. 官方已提供下载:http://www.oracle.com/technetwork/java ...
- Spring+SpringMVC+MyBatis+easyUI
Spring+SpringMVC+MyBatis+easyUI 日常啰嗦 还好在第一篇文章里就列好了接下来的主线及要写的知识点,不然都不知道要写什么东西了,开篇里已经列了基础篇要讲svn和git的知识 ...
随机推荐
- C语言学习——C和Java语言不同点
Java中有boolean数据类型,”真“为true,”假“为false.而且在if()括号里只能放boolean类型的值. C的基本数据类型和Java的基本一致,但C多了指针类型.指针是C语言的重点 ...
- javascript事件小结(事件处理程序方式)--javascript高级程序设计笔记
1.事件流:描述的是从页面中接收事件的顺序. 2.事件冒泡:IE的事件流叫做事件冒泡,即事件开始从具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到不具体的节点(文档). 3.事件捕获 ...
- American tour(If you have a chance)
去美国旅游,或出国旅游,英语不精没关系,词汇量不多也没关系,但有一些实用的口语一定要学会哟~ 酒店住宿常用英文 I would like to have a morning Call at 8:00 ...
- MVC3 分页Helper
利用mvc3实现分页效果.效果图如下: 直接拷代码: 首页添加一个Helper的类(命名空间为System.Web.Mvc;). public static HtmlString ShowPageNa ...
- Linux主要发行版本介绍
Linux主要发行版本介绍 1.Red Hat Linux Red Hat是一个比较成熟的Linux版本,无论在销售还是装机量上都比较可观.该版本从4.0开始同时支持Intel.Alpha及Sparc ...
- 将Python代码嵌入C++程序进行编写
将Python代码嵌入C++程序进行编写的实例,python嵌入 把python嵌入的C++里面需要做一些步骤 安装python程序,这样才能使用python的头文件和库 在我们写的源文件中增加“Py ...
- 转:onkeypress、onkeydown、onkeyup 区别
在使用JavaScript做WEB键盘事件侦听捕获时,主要采用onkeypress.onkeydown.onkeyup三个事件进行出来.该三个事件的执行顺序如下:onkeydown -> onk ...
- hdu5461 Largest Point(沈阳网赛)
Largest Point Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...
- c语言函数---M
书画小说软件 制作更满意的读.更舒心的写.更轻松的公布 最全古典小说网 由本软件公布所得 main()主函数 每一C 程序都必须有一main()函数, 能够依据自己的爱好把它放在程序的某 个地方.有些 ...
- xcode - 移动手势
#import "ViewController.h" @interface ViewController () /** 创建一个UIView */ @property(nonato ...