# 基于ssm和mysql实现的毕业选题管理系统
# 1.项目介绍
## 1.1 背景分析
计算机技术高度发达的今天,利用信息技术对大量复杂的信息进行有效的管理成为一种普遍而实用的手段。一方面,这极大的减少了簿记和人力的开销,另一方面,现代计算机强大的计算能力和网络的普遍部署,大大简化了大量信息的处理和流动。每年毕业临近时,都有优良的毕业生需要进行毕业设计,这其中的首要关节就是课题的选择,以往指导老师都是采用人工手写方式给学生们提供相关的毕业课题提供学生选择,如果指导老师带领的学生比较多,或者是当年毕业的学生比较多,这样就造成学生的毕业课题选择很混乱,指导老师难于统计学生的毕业课题选择情况等一系列问题,基于这些传统问题,我们需要一个能够自动统计,实时分配课题的一个管理平台来帮助学生、指导老师。
## 1.2 需求分析
此系统的开发,主要目的是使老师能更好地管理课程设计,也能使学生能更好地把自己想要选的课程准确无误的选出来,使在选择毕业课题时期的学生能有条不紊的进行。
该项目可以实现大学毕业设计中流程的大多是操作。主要有以下几点:
- 管理员添加教师信息和学生信息
- 教师网上报课题,管理员进行审核,审核通过的课题可以作为最终的选题开供学生选择
- 学生选择课题,并会实时显示选题信息
- 待选题结束之后,学生可以下载相关课题的任务书和开题报告模板
- 教师可以提醒学生提交开题报告
- 教师进行对自己管理的学生的开题报告进行审核,通过后可以进行之后的操作
- 学生上传毕业论文,审核通过之后该学生具有答辩资格,可进行答辩
- 教师最终把学生的开题报告进行提交,供管理员查看,保存
## 1.3 安装部署
- **配置环境**
- jdk1.8
- mysql5.1.47版本以上
- idea
- **访问**
- localhost:8080/BSManager 这是的登陆到系统的主页(包括学生和教师的登陆)
- localhost:8080/BSManager/admin/index.jsp 这是登陆到管理员的登陆界面
## 1.4 技术栈
该系统使用的是SSM(Spring+SptingMVC+MyBatis)框架+mysql数据库
使用的是maven,所以生成的结构如所示:
![](http://www.writebug.com/myres/static/uploads/2021/10/19/4e9d3d50c5d6f2d72037dbd61d56d72c.writebug)
# 2.数据库设计
## 2.1 表结构
**公告表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/f9bb7e3d763fedf8e11837212642a2d6.writebug)
**院系表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/15e44f54edfecf5200dfa6653f715757.writebug)
**专业表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/a2a345b5e67a27422662f0a8c3cb1e71.writebug)
**项目源码表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/41ee40aa0a5d8444ee05ab32dae04ca9.writebug)
**学生表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/f22d62c636a5017d45b42ebb73cc7c65.writebug)
**学生提交开题报告和任务书表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/88f34386d26b3e4288cb09051a4f1b96.writebug)
**学生进度通知填写表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/63271f3d9814b19abc4576bed6ed5525.writebug)
**学生论文成绩表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/b65ca3cd37a4c17d5e2f315b7a525076.writebug)
**教师表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/de68bff6c27bd9d23a6b2370e5d9b71c.writebug)
**教师发布任务书和开题报告表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/cac309650c65169bc796a5554ad4a542.writebug)
**论文具体描述表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/6548a2c6c553a14510fba4206dcdcc1e.writebug)
**学生提交毕业论文表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/ad0335431dccd54c60bc6b9c4b62bcf8.writebug)
**分页表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/10aedb40227f499bd053552525515292.writebug)
**教师提交课题表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/83fbbe07a091cee682df1784054a417a.writebug)
**选题信息表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/ac0fe2806a6fd52418bdad94dc394fb2.writebug)
**用户表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/e069e7e6f5417b0867afce1a3ead8b4d.writebug)
## 2.2 E-R图
![](http://www.writebug.com/myres/static/uploads/2021/10/19/8b5b89644cf2405461c1a81354c1acad.writebug)
![](http://www.writebug.com/myres/static/uploads/2021/10/19/476dbb48bfc2107d60813a0dbb2c8b7b.writebug)
# 3.项目实现
## 3.1 过滤器
```java
/**
* 这是个过滤器 用于验证用户登陆 (查找session)
* 把图片的路径过滤掉,否则会出现图片无法加载
*/
public class LoginFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest servletRequest = (HttpServletRequest)request;
HttpServletResponse servletResponse = (HttpServletResponse) response;
HttpSession session = servletRequest.getSession();
String path = servletRequest.getRequestURI();
System.out.println("当前路径:"+path);
User currentUser = (User)session.getAttribute("currentUser");
if (path.indexOf("index.jsp") > -1 || path.indexOf("teacherLogin.jsp") > -1
|| path.indexOf("studentLogin.jsp") > -1 || path.indexOf("adminLogin.jsp") > -1
|| path.indexOf("login") > -1 || path.indexOf("adminLogin.jsp") > -1 || path.indexOf(".jpg") > -1
|| path.indexOf(".html") > -1 || path.indexOf(".png") > -1 || path.indexOf(".css") > -1
|| path.indexOf(".js") > -1) {
chain.doFilter(servletRequest, servletResponse);
return;
}
if(currentUser == null || "".equals(currentUser)) {
servletResponse.sendRedirect("/BSManager/index.jsp");
}else {
chain.doFilter(servletRequest, servletResponse);
}
}
public void destroy() {
// TODO Auto-generated method stub
}
}
```
## 3.2 项目配置
**spring-dao.xml**
```xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 配置数据库的相关参数properties的属性 -->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- 数据库连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 连接属性 -->
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!-- c3p0连结池的属性 -->
<property name="maxPoolSize" value="30"/>
<property name="minPoolSize" value="10"/>
<property name="autoCommitOnClose" value="false"/>
<property name="checkoutTimeout" value="10000"/>
<property name="acquireRetryAttempts" value="2"/>
</bean>
<!-- 配置SqlSessionFactroy对象 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
精选_基于ssm和mysql实现的毕业选题管理系统_源码打包 (1150个子文件)
TeacherController.class 34KB
TeacherController.class 34KB
StudentController.class 24KB
StudentController.class 24KB
AdminContraller.class 20KB
AdminContraller.class 20KB
TeacherServiceImpl.class 14KB
TeacherServiceImpl.class 14KB
StudentServiceImpl.class 10KB
StudentServiceImpl.class 10KB
IStudentDaoTest.class 8KB
ITeacherDaoTest.class 7KB
UserController.class 5KB
UserController.class 5KB
Student.class 5KB
Student.class 5KB
IUserDaoTest.class 3KB
IThesisTitleDaoTest.class 3KB
ITeacherService.class 3KB
ITeacherService.class 3KB
TeacherProgress.class 3KB
TeacherProgress.class 3KB
Teacher.class 3KB
Teacher.class 3KB
LoginFilter.class 3KB
LoginFilter.class 3KB
ThesisTitle.class 2KB
ThesisTitle.class 2KB
IStudentService.class 2KB
IStudentService.class 2KB
StudentTaskBookOpening.class 2KB
StudentTaskBookOpening.class 2KB
TeacherTaskBookOpening.class 2KB
TeacherTaskBookOpening.class 2KB
Announcement.class 2KB
Announcement.class 2KB
DepartmentContraller.class 2KB
DepartmentContraller.class 2KB
ThesisInformation.class 2KB
ThesisInformation.class 2KB
ITopicDaoTest.class 2KB
MajorContraller.class 2KB
MajorContraller.class 2KB
Topic.class 2KB
Topic.class 2KB
StudentScore.class 1KB
StudentScore.class 1KB
Doubt.class 1KB
Doubt.class 1KB
User.class 1KB
User.class 1KB
UserServiceImpl.class 1KB
UserServiceImpl.class 1KB
AnnouncementServiceImpl.class 1KB
AnnouncementServiceImpl.class 1KB
StudentProgress.class 1KB
StudentProgress.class 1KB
ThesisPaper.class 1KB
ThesisPaper.class 1KB
DepartmentServiceImpl.class 1KB
DepartmentServiceImpl.class 1KB
Major.class 1KB
Major.class 1KB
MajorServiceImpl.class 1KB
MajorServiceImpl.class 1KB
Department.class 1KB
Department.class 1KB
ITeacherDao.class 940B
ITeacherDao.class 940B
IStudentDao.class 936B
IStudentDao.class 936B
IStudentTaskBookOpeningDao.class 740B
IStudentTaskBookOpeningDao.class 740B
ITeacherTaskBookOpeningDao.class 710B
ITeacherTaskBookOpeningDao.class 710B
IThesisTitleDao.class 579B
IThesisTitleDao.class 579B
BaseTest.class 558B
IUserDao.class 481B
IUserDao.class 481B
IThesisInformationDao.class 461B
IThesisInformationDao.class 461B
ITeacherProgressDao.class 426B
ITeacherProgressDao.class 426B
ITopicDao.class 375B
ITopicDao.class 375B
IAnnouncementService.class 354B
IAnnouncementService.class 354B
IAnnouncementDao.class 342B
IAnnouncementDao.class 342B
IDepartmentService.class 338B
IDepartmentService.class 338B
IUserService.class 329B
IUserService.class 329B
IDepartmentDao.class 326B
IDepartmentDao.class 326B
IMajorService.class 318B
IMajorService.class 318B
IMajorDao.class 309B
IMajorDao.class 309B
共 1150 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
资源评论
工具盒子
- 粉丝: 60
- 资源: 1313
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功