JavaWeb网上教学系统

前言:前段时间一直忙于搞毕业论文以及帮助同学弄毕设,没怎么写博客。今天整理了一个毕设项目分享出来。
      前端 : bootstrap4  jsp java
      后端 : springmvc  ssh
      缓存: redis5.0.5
      富文本编辑器 : wangEditor3.1.1
      数据格式转换 :gson2.8.5
      树插件 : ztree3.5
      数据库 : mysql5.7

该系统用户角色分为学生、老师、管理员。下面就简单介绍各个模块:

1、首页
启动项目首先进入首页,首页有个轮播图,下面显示4条通知消息。采用redis缓存,减轻了刷新又去数据库查询的压力。

2、通知公告模块

可以模糊分页查询,点击进去可以查看详情。

3、作业模块

这个模块复杂一点,角色分为学生和老师。老师布置作业,同学下载作业,做完提交上去。老师下载同学提交的作业并修改。改完后和成绩一起提交上去。

3.1、先看同学登录的

3.2、下面是教师登录的

4、资源中心模块

资源中心包括资料下载、视频在线教学两部分。

点进去就可以观看视频了

5、留言解惑模块

6、个人中心模块

学生跟老师的个人中心是不一样的,先看一下 老师的

可以修改个人资料,上传资料,上传教学视频等。

下面是学生的个人中心:可以 修改个人信息,查看我的作业分数以及下载过的资料。

7、后台管理模块

后台管理其实就是对其它模块的增删改 

总结:

该系统总统来说难度不大,主要是工作量有点多。还有一些地方需要完善,比如教学视频播放那里支持的格式不多。还有就是留言解惑的评论那里,按正常来说,同学可以评论某个留言,也可以评论留言的评论。如果这样的话需要多建立一张表。我嫌麻烦就没有这么做 。

部分配置文件+截图,需要的可以参考参考

代码已经上传github,下载地址: https://github.com/21503882/netstudy

JavaWeb网上教学系统

JavaWeb网上教学系统

JavaWeb网上教学系统

JavaWeb网上教学系统

JavaWeb网上教学系统


<beans xmlns="http://www.springframework.org/schema/beans"


    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans  


    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context  
        http://www.springframework.org/schema/context/spring-context-3.0.xsd 
    http://www.springframework.org/schema/aop
     http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
     http://www.springframework.org/schema/tx 
      http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
    <context:property-placeholder location="classpath:db.properties"/>      
    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="url" value="${url}"/>
        <property name="driverClassName" value="${driver}"/>
        <property name="username" value="${name}"/>
        <property name="password" value="${password}"/>
    </bean>
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="configLocation" value="classpath:mybatis-config.xml" />
        <property name="dataSource" ref="dataSource" />
    </bean>

    <bean id="loginMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.beacon.sms.dao.LoginDao" />
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>
    <bean id="validateCodeUtil" class="com.beacon.sms.utils.ValidateCodeUtil" />

    <bean id="loginService" class="com.beacon.sms.service.LoginServiceImpl">
        <property name="loginDao" ref="loginMapper" />
        <property name="validateCodeUtil" ref="validateCodeUtil" />
    </bean>

    <bean id="majorMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.beacon.sms.dao.MajorDao" />
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>
    <bean id="dateUtil" class="com.beacon.sms.utils.DateUtil" />
    <bean id="stringUtil" class="com.beacon.sms.utils.StringUtil" />
    <bean id="majorService" class="com.beacon.sms.service.MajorServiceImpl">
        <property name="majorDao" ref="majorMapper" />
        <property name="dateUtil" ref="dateUtil" />
        <property name="stringUtil" ref="stringUtil" />
    </bean>
    <bean id="jsonUtil" class="com.beacon.sms.utils.JsonUtil" />
    <bean id="majorAction" class="com.beacon.sms.action.MajorAction">
        <property name="majorService" ref="majorService" />
        <property name="jsonUtil" ref="jsonUtil" />
    </bean>
    <bean id="studentMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.beacon.sms.dao.StudentDao" />
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>
    <bean id="studentService" class="com.beacon.sms.service.StudentServiceImpl">
        <property name="studentDao" ref="studentMapper" />
        <property name="majorDao" ref="majorMapper" />
        <property name="stringUtil" ref="stringUtil" />
        <property name="loginDao" ref="loginMapper" />
    </bean>
    <bean id="studentAction" class="com.beacon.sms.action.StudentAction">
        <property name="studentService" ref="studentService" />
        <property name="jsonUtil" ref="jsonUtil" />
    </bean>
    <bean id="teacherMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.beacon.sms.dao.TeacherDao" />
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>
    <bean id="teacherService" class="com.beacon.sms.service.TeacherServiceImpl">
        <property name="teacherDao" ref="teacherMapper" />
        <property name="dateUtil" ref="dateUtil" />
        <property name="stringUtil" ref="stringUtil" />
        <property name="loginDao" ref="loginMapper" />
    </bean>
    <bean id="teacherAction" class="com.beacon.sms.action.TeacherAction">
        <property name="teacherService" ref="teacherService" />
        <property name="jsonUtil" ref="jsonUtil" />
    </bean>
    <bean id="courseMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.beacon.sms.dao.CourseDao" />
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>
    <bean id="courseService" class="com.beacon.sms.service.CourseServiceImpl">
        <property name="courseDao" ref="courseMapper" />
    </bean>
    <bean id="courseAction" class="com.beacon.sms.action.CourseAction">
        <property name="courseService" ref="courseService" />
        <property name="jsonUtil" ref="jsonUtil" />
    </bean>
    <bean id="semesterMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.beacon.sms.dao.SemesterDao" />
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>
    <bean id="semesterService" class="com.beacon.sms.service.SemesterServiceImpl">
        <property name="semesterDao" ref="semesterMapper" />
    </bean>
    <bean id="semesterAction" class="com.beacon.sms.action.SemesterAction">
        <property name="semesterService" ref="semesterService" />
        <property name="jsonUtil" ref="jsonUtil" />
    </bean>
    <bean id="teachingMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.beacon.sms.dao.TeachingDao" />
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>
    <bean id="scoreMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.beacon.sms.dao.ScoreDao" />
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>
    <bean id="teachingService" class="com.beacon.sms.service.TeachingServiceImpl">
        <property name="teachingDao" ref="teachingMapper" />
        <property name="studentDao" ref="studentMapper" />
        <property name="scoreDao" ref="scoreMapper" />
    </bean>
    <bean id="teachingAction" class="com.beacon.sms.action.TeachingAction">
        <property name="teachingService" ref="teachingService" />
        <property name="jsonUtil" ref="jsonUtil" />
    </bean>


    <bean id="scoreService" class="com.beacon.sms.service.ScoreServiceImpl">
        <property name="scoreDao" ref="scoreMapper" />
    </bean>
    <bean id="scoreAction" class="com.beacon.sms.action.ScoreAction">
        <property name="scoreService" ref="scoreService" />
        <property name="jsonUtil" ref="jsonUtil" />
    </bean>
    <bean id="excelUtil" class="com.beacon.sms.utils.ExcelUtil" />
    <bean id="uploadAction" class="com.beacon.sms.action.UpLoadAction">
        <property name="excelUtil" ref="excelUtil" />
        <property name="studentService" ref="studentService" />
        <property name="teacherService" ref="teacherService" />
        <property name="scoreService" ref="scoreService" />
    </bean>
    <bean id="loginAction" class="com.beacon.sms.action.LoginAction">
        <property name="loginService" ref="loginService" />
        <property name="teacherService" ref="teacherService" />
        <property name="studentService" ref="studentService" />
        <property name="scoreAction" ref="scoreAction" />
        <property name="upLoadAction" ref="uploadAction" />
    </bean>
    
    <context:component-scan base-package="com.beacon.sms.service"></context:component-scan>
    <!-- 添加事务 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="add*" propagation="REQUIRED"/>
            <tx:method name="insert*" propagation="REQUIRED"/>
            <tx:method name="update*" propagation="REQUIRED"/>
            <tx:method name="delete*" propagation="REQUIRED"/>
            <tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
             <tx:method name="select*" propagation="SUPPORTS" read-only="true"/>
              <tx:method name="is*" propagation="SUPPORTS" read-only="true"/>
        </tx:attributes>
    </tx:advice>
    <aop:config>
        <aop:pointcut expression="execution(* com.beacon.sms.service.*.*(..))" id="pc"/>
        <aop:advisor advice-ref="txAdvice" pointcut-ref="pc"/>
    </aop:config>
</beans>

该系统总统来说难度不大,主要是工作量有点多。还有一些地方需要完善,比如教学视频播放那里支持的格式不多。还有就是留言解惑的评论那里,按正常来说,同学可以评论某个留言,也可以评论留言的评论。如果这样的话需要多建立一张表。我嫌麻烦就没有这么做 。