一、简介

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)

  maven的web项目默认的webroot是在src\main\webapp。如果在此目录下找不到web.xml就抛出以上的异常。
 
<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/>

以上配置将Web根路径"/"及类路径下 /META-INF/ 的目录映射为/resources路径。假设Web根路径下拥有images、js这两个资源目录,在images下面有bg.gif图片,在js下面有 test.js文件,则可以通过 /resources/images/bg.gif 和 /resources/js/test.js 访问这二个静态资源。
 
假设WebRoot还拥有images/bg1.gif 及 js/test1.js,则也可以在网页中通过 /resources/images/bg1.gif 及 /resources/js/test1.js 进行引用。 
 
3、 springmvc使用sevlet做welcome页面
在web.xml中加入
<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实践]学生社团管理系统的更多相关文章

  1. SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)【转载】

    最近在学习Spring+SpringMVC+MyBatis的整合.以下是参考网上的资料自己实践操作的详细步骤. 1.基本概念   1.1.Spring Spring是一个开源框架,Spring是于20 ...

  2. Spring+SpringMVC+MyBatis+easyUI整合优化篇(二)Log4j讲解与整合

    日常啰嗦 上一篇文章主要讲述了一下syso和Log间的一些区别与比较,重点是在项目的日志功能上,因此,承接前文<Spring+SpringMVC+MyBatis+easyUI整合优化篇(一)Sy ...

  3. Spring+SpringMVC+MyBatis深入学习及搭建(十五)——SpringMVC注解开发(基础篇)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7065294.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十四)--S ...

  4. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(二)RESTful API实战笔记(接口设计及Java后端实现)

    写在前面的话 原计划这部分代码的更新也是上传到ssm-demo仓库中,因为如下原因并没有这么做: 有些使用了该项目的朋友建议重新创建一个仓库,因为原来仓库中的项目太多,结构多少有些乱糟糟的. 而且这次 ...

  5. 简单易学的SSM(Spring+SpringMVC+MyBatis)整合

    SSM(Spring+SpringMVC+MyBatis)的整合: 具体执行过程:1.用户在页面向后台发送一个请求 2.请求由DispatcherServlet 前端控制器拦截交给SpringMVC管 ...

  6. IntelliJ IDEA 14.0.3 实战搭建Spring+SpringMVC+MyBatis组合框架

    简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发的框架,对于新手来说也是比较容易学习入门的.虽说容易,但在框架搭建过程中仍然遇到了许多问题,因此用实 ...

  7. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(六)一定要RESTful吗?

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 写在前面的话 这个问题看起来就显得有些萌,或者说类似的问题都有些不靠 ...

  8. 如约而至,Java 10 正式发布! Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十四)Redis缓存正确的使用姿势 努力的孩子运气不会太差,跌宕的人生定当更加精彩 优先队列详解(转载)

    如约而至,Java 10 正式发布!   3 月 20 日,Oracle 宣布 Java 10 正式发布. 官方已提供下载:http://www.oracle.com/technetwork/java ...

  9. Spring+SpringMVC+MyBatis+easyUI

    Spring+SpringMVC+MyBatis+easyUI 日常啰嗦 还好在第一篇文章里就列好了接下来的主线及要写的知识点,不然都不知道要写什么东西了,开篇里已经列了基础篇要讲svn和git的知识 ...

随机推荐

  1. java web项目修改项目名称

    前几天在网上下了个项目,感觉名字长,所以想把项目改名字. 把项目导入到myeclipse中,将项目改名后, 还需要选中项目右键,properties ,修改项目的Context Root的名字.

  2. Silverlight代码编写对控件的PlaneProjection.RotationY属性控制动画

    Canvas c; void btnDraw_Click(object sender, RoutedEventArgs e) { Storyboard story = new Storyboard() ...

  3. SQL Server 修改表

    alter table 可能用三种方式来完成. 第一种: 只修改元数据. 1.删除一个列. 2.一个行被增加而且空值被认为是所有行的新值. 3.当可变长度的列的长度增加时. 4.不允许为空的列被允许为 ...

  4. Windows 7的系统还原,你用了吗?

    在Windows XP时代可能人们最常用的系统还原工具就是Ghost,一来因为Ghost的还原非常彻底,二来由于备份Windows XP所占用的硬盘空间并不是很大,所以习惯于安装完操作系统以后就把系统 ...

  5. centos 6.7 perl 5.22 安装DBD 需要使用老的perl版本

    zjzc01:/usr/bin# mv perl.bak perlold zjzc01:/usr/bin# cd zjzc01:/root# cd DBD-Oracle-1.36 zjzc01:/ro ...

  6. iOS6和iOS7代码的适配(4)——tableView

    iOS7上不少控件的样子有了变化(毕竟要扁平化嘛),不过感觉变化最大的肯定非tableView莫属.因为这个控件的高度可定制性,原先是使用及其广泛的,这样的一个改变自然也影响颇大. 1.accesso ...

  7. ultravnc

    virsh attach-disk

  8. HDOJ 1561 - 树形DP,泛化背包

    刚看题...觉得这不是棵树...可能有回路...仔细一想..这还真是棵树(森林)...这是由于每个城堡所需要提前击破的城堡至多一个..对于一个城堡.其所需提前击破的城堡作为其父亲构图.... dp[k ...

  9. Android sdk + PhoneGap 配置

    最近在学习这方面.   安卓sdk(下载地址百度谷歌即可) . 最新版的安卓sdk 自带ADT(基于eclipse) 开发工具 所以 我们不需要另外下载 eclipse 即可开始开发. 安卓个版本ap ...

  10. web开发 - 从零开始 - 03 - 选择器

    行间样式>id>class>类型选择>通配符 选择器的优先级一致的情况下,后边的样式会覆盖前边的