一、簡介
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>
