计算机毕业设计-基于JavaWeb的小型课程信息管理系统的设计与实现

1 基于JavaWeb的小型课程信息管理系统的设计与实现

【摘要】课程信息管理是高校教育管理现代化的基础及关键,随着我国高等教育改革的不断深化、教育管理现代化的不断推进、学校办学规模不断扩大、学分制逐步推行以及教学资源日益紧缺,高校教学管理部门的任务将越来越重。因此,如何有效利用现有的校园办公资源,构建高质量、高效率、多功能、智能化的高校教务管理系统尤为关键。本系统从高校教务管理的实际需求出发,设计并实现了7大功能模块:个人信息管理、信息查询、学生成绩管理、网上选课、网上报名、教学评价和系统管理。在技术运用上,本系统是基于B/S架构的管理信息系统,实现跨操作系统、跨平台运作;运用Spring 的MVC框架,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、代码重用性高等特点;通过MySql数据库进行无缝连接;运用JSP和Jquery EasyUI框架进行网页界面的设计,增加用户体验的同时使界面更加美观和人性化。

【关键词】课程管理;管理信息系统;B/S架构;MVC框架;Layui

University Educational Administration Management System Based on WEB

[Abstract] Educational administration management is the foundation of the modern university education management and key, along with the deepening reform of higher education in China, the advancement of modernization of education management, school scale constantly expanding, the gradual implementation of credit system and the growing shortage of teaching resources, the task of the college teaching administration is getting heavier and heavier. Therefore, how to effectively use the existing campus office resources, build high quality, high efficiency, multi-function, intelligent college educational administration management system management system is the key. The system starting from the actual demand of educational administration of colleges and universities, is designed and implemented seven function modules: personal information management, information query, student achievement management, online courses, online registration, teaching evaluation and system management. On the technology, this system is management information system based on B/S architecture, implementation across the operating system, cross-platform operation; Using the Spring MVC framework, it adopted the software design of the latest technology, to develop high efficiency, high design flexibility and code reuse, etc; Through seamless connection to a MySql database; Using JSP and Jquery EasyUI framework for web interface design, increase user experience at the same time make the interface more beautiful and humanization.

[Keywords] Educational administration; Management information system; B/S architecture; The MVC framework; Layui

2 前言

2.1 目的和意义

        随着高校的办学模式和办学规模的不断变化,开发出适合高校特点和教学管理要求的管理信息系统是非常必要的,也是摆在我们软件开发工作者和教学人员的责任和义务。因此,从实际出发,开发出适合高校教学模式的教务管理系统具有非常深远的现实意义和历史意义。

        各高校的教学管理体制和学生培养机制在不断的改革和调整,办学形式更加多样化,高校的教务管理工作量大、繁琐、细致,学校的教务部门对各种教学信息的处理与分析工作越来越繁杂,现有的教务管理软件功能己经明显不能满足日益增多的各种需求。如何充分利用紧缺的教学资源,提高资源的使用率,处理成倍增长的信息量,已成为管理职能部门关心的焦点。面对这一挑战,学校曾经购置、开发了教学管理模块,但不少软件在实际使用过程中或多或少存在一些缺陷。如管理模式滞后,缺乏与信息技术相匹配的管理模式;功能单一,不能涵盖高校管理部门的诸多方面;可用性不强,大量的实际问题得不到解决;缺乏统一规划及系统设计,没有整套的信息编码方案。

        建立基于WEB的课程信息平台可以通过网络把信息采集的触角延伸到各部门,可以充分发挥处、室、部、系、校区教学管理的职能,提高各部门的教学管理水平;可以彻底解决教务管理的信息量大,信息采集难,信息反馈滞后,信息准确性低的瓶颈,从而全面实现教务管理的网络化、自动化、数字化,使教务管理高效有序地进行。另外,基于WEB技术开发的各种应用易于实现跨平台,开发成本也较低,而且易于使用和普及。

2.2  开发背景

2.21 现状分析

课程信息管理系统的发展大致经历了两个阶段:

        一是以单机和独立的业务系统为主体的教务管理信息系统发展阶段:时间大致为20世纪80年代到90年代初期。这一阶段的IT发展特征是,计算机硬件的价格开始降低,为其在国内普及应用提供了条件。正是在这一时期,计算机走入了教育行业。但这时的教务管理信息系统几乎都处于功能间的相互独立状态,大量的数据是以独享方式存在的,没有实现信息的整合。

        二是以局域网和数据库为基础的网络教务管理信息系统发展阶段;时间大致为90年代中后期至今。这一阶段的IT发展特征是:网络的迅速崛起及网络数据库的普遍应用。这时的教务管理系统的建设以先进的教育思想和基于WEB的教务计算理念为指导,以计算机及网络技术、现代教育技术及信息技术为支撑,以开放式、交互式、共享式为原则,建设一个信息安全可靠、传输快递、分散处理、集中优化、资源共享的教务管理环境。教务管理系统的设计开始注重数据共享,即开始考虑不同部门之间的数据交换问题。这使学校整体教务管理的效率得到了很大程度上的提高,重复工作也逐渐得以避免。

2.22 发展趋势

        今天的计算机技术发展有两个明显的大趋势:(1)个人电脑不断地迅速发展,从以往的提高工作效率的工具演变为一种功能全面、易于操纵而且价格便宜的学习助手。(2)国际互联网(因特网)的产生,个人电脑可以方便获取跨越全球的知识资源。

        目前建设的教学教务管理系统是借助这两个趋势进行设计的,支持有关学校的教学、管理等各种应用。教师、学生、学校的管理人员乃至家长都能够在这样的平台上,辅助学校的教育、教学、管理、共享多媒体资源等活动,这是今后教务管理系统的发展趋势。

        从设计结构上看,目前大部分教务管理系统采用了比较适于网络方式并易于升级维护的B/S(浏览器/服务器,Browser/Server)结构方式,也有一部分校园管理软件还维持着C/S(客户机/服务器,Client/Server)的结构。此外,也有一部分软件支持B/S、C/S及Lotus Domino多种结构,或在B/S内含其它结构。整体来说,教务管理系统正在经历着从C/S向B/S结构转变的重大变革。

2.3 主要工作

本文主要是讲述一个基于WEB的课程信息管理系统的开发与实现。包括系统开发的相关技术、系统需求分析、系统功能设计、系统数据库设计、系统编码实现等。整个系统功能包括:个人信息管理、信息查询、学生成绩管理、网上选课、网上报名、教学评价和系统管理。

3 相关技术

3.1、JSP技术

JSP(Java Server Pages)是由SUN公司倡导提出的一种动态网页技术标准,是基于Java语言的服务器端脚本技术[1][2]。JSP是一种服务器的脚本语言,并通过开展的JSP标签提供网页动态执行能力。JSP页面执行过程如图2-1所示。WEB服务器在收到访问JSP网页的请求时,先触发Java Servlet编译并执行,后将执行结果以HTML格式返回给客户。所有程序操作都在服务器端执行,网络上传送给客户端仅是得到的结果,对客户浏览器的要求很低。由于它是在服务器端的脚本,一般用户无法看到,从而有效地保证了系统的安全性及开发人员的知识产权[3]。JSP最大的优点是开放的、跨平台的结构,它可以运行在所有的服务器系统上[4]。其他的优点还有:(1)编译后执行,能够大大提高执行效率;(2)JSP采用Java技术,Java应用比较普遍,因此学习起来非常容易;(3)JSP是J2EE十三种核心技术中的一种,可以和其他核心技术共同建立企业应用[5]

图2-1  JSP页面执行过程

3.2 B/S架构

        B/S(Browser/Server)实际上也是一种客户机技术,它的前端以TCP/IP协议为基础,用户只需要一个浏览器就可以应用安装在远端服务器上的应用系统。目前,应用比较普遍的B/S架构一般分三层模式,即Web应用的基本原理是:用户通过浏览器向服务器处理后生成Server小程序,Server与后台数据库服务器交互,生成用户所需要的Web页传递给客户[6]。B/S模式结构如图2-2所示。

        以目前的技术看,局域网建立B/S结构的网络应用,并通Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在Java这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效[7][8]

B/S结构主要优点:

(1)客户端不需要安装任何专门的软件,只要一个浏览器即可。

(2)应用系统集中在服务器端,便于维护,易于升级,运行成本低。

(3)基于Internet,办公不受地域限制。

(4)数据存放集中,可有效的保护数据安全[9]

    1. Spring

Spring是一组轻巧的开源框架,内容主要涵盖了数据持久化(Data Persistence)、反转控制 (Ioc)、Web框架(MVC)。概括的说,Spring包括了所有 Spring Core提供的主要的功能,以及一个功能完备的 Json解析器。作为一个新兴的框架,Spring提供的这些功能又是相互独立的,你可以拿出任何一个来单独使用,同其它你常用的框架融合。因为在  Spring 中,你就把它当作一个一般的 Java Bean使用就可以了[14]

Spring的特点:

(1)轻,当前最新版,整个jar文件共 910kB,针对JDBC的薄封装,无缓存。

(2)全,提供Dao (ORM, SQL 管理),Ioc, Aop, Mvc, Json解析等必要功能。

(3)活,各个部分可以独立使用,比如在Spring里采用 Dao等。

(4)整,它所有功能均不依赖第三方jar文件。当然你要使用其它的连接池,数据库驱动,打印PDF支持等功能,还需要自行添置jar包[15]。 

    1. MySQL

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被升阳微系统(SunMicrosystems)收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如Google和Facebook等网站。目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统[10]

MySQL具备许多优点,包括:

(1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。

(2)支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。

(3)为多种编程语言提供了API。这些编程语言包括C、C++ 、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。

(4)支持多线程,充分利用CPU资源。

(5)优化的SQL查询算法,有效地提高查询速度。

(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。

(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。

(8)提供用于管理、检查、优化数据库操作的管理工具。

(9)可以处理拥有上千万条记录的大型数据库[12]

    1. Maven

Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。 在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。 Maven提供了开发人员的方式来管理: Builds Documentation Reporting Dependencies SCMs Releases Distribution mailing list 概括地说,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。

    1. Tomcat服务器

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器[11]

Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

       Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的[13]

  1. 系统分析
    1. 需求分析
      1. 目标

此系统需要实现以下的一些目标:

  1. 系统能够提供友好的用户界面,使操作人员的工作量最大限度的减少
  2. 系统具有良好的运行效率,能够得到提高生产率的目的
  3. 系统应有良好的可扩充性,可以容易的加入其它系统的应用。
  4. 平台的设计具有一定的超前性,灵活性,能够适应高校教务管理的变化。
      1. 系统整体结构

班级信息管理: 本模块详细的录入了全校各个班级情况,包括班级人数,班级名称,任课老师情况,能够实现班级的新增,查询,修改,删除。注意在同一时间同一个班级学时不能上两门不同的课程。

课程信息管理: 对全校能够开设的课程类型,课程名称,开课学院,总学时等信息的增删改查。每门课程的教室都有自己特定的类型。

教室信息管理: 需求教室资源类型,在同一时间同一教室不能安排两门不同课程。教室的座位数要大于可容纳的学生的总数。

教师信息管理: 对教师信息(教师工号,可带的课程的科目代号)的增,删,改,查。注意在同一时间同一教师不能给两门不同课程上课。

权限控制管理: 新增用户功能,管理用户功能。

      1. 应用环境

(1)系统运行硬件环境

  1. 客户机:普通PC
    1. CPU:P4 1.8GHz
    2. 内存:512MB以上
    3. 分辨率:推荐使用1440*900像素
  2. WEB服务器
    1. CPU:酷睿 2GHz
    2. 内存:2000MB以上
  3. 数据库服务器
    1. CPU:酷睿 2GHz
    2. 内存:2000MB以上

 (2)系统运行软件环境

  1. 操作系统:Windows 7
  2. 数据库:Mysql SQL 5.5
  3. 开发工具包:JDK7,J2EE
  4. Web服务器:Tomcat 7
    1. 可行性分析

可行性是系统开发的一项关键步骤,它是通过对整个系统的需求,技术及开发方法,以及开发人员,所需资金的综合考虑以评估对于该系统的开发是否符合实际。可行性分析包括:组织和管理上的可行性、经济可行性和技术可行性。

      1. 组织和管理上的可行性

本系统采用模块化开发方法,将整个系统划分为多个功能模块,根据工作量和时间的合理安排进行相应模块的开发,这种将系统功能平行划分的方法有助于系统开发的组织和管理。

      1. 经济可行性

系统开发所涉及的技术中tomcat服务器、Layui、MySQL等都是开源免费的。系统开发由本人一个人完成,不需要额外的支出。硬件方面,普通PC即可完成开发、测试及维护操作。所以完全符合经济可行性。

      1. 技术可行性

本系统使用了现阶段最流行的Java语言作为开发语言,Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

       同时,系统还使用了MVC框架辅助开发。MVC用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。使用MVC框架编写的代码具有耦合性低、重用性高、生命周期成本低、部署快可维护性高及有利于软件工程化管理等优点。

       所以本系统具有可靠的技术可行时。

  1. 系统设计
    1. 系统功能设计

根据系统需求与系统功能的分析,可以把系统总体分为:教师信息管理、教室信息管理、班级信息管理、课程信息管理、学院管理、专业管理6大功能模块。每个模块分别定义了多个功能。

    1. 数据库设计
      1. 实体类设计

根据整个系统的需求和实体属性的分析可以得到如下实体类。

      1. 数据表设计

根据整个系统的需求和数据库实体类,一共设计了以下8张数据库表。

  1. 教师信息表(admin

4-1  教师信息表

字段名

Code

字段类型

长度

主键

外键

非空

教师ID

Id

int

11

TRUE

FALSE

TRUE

教师工号

T_no

varchar

255

FALSE

FALSE

FALSE

教师姓名

T_name

varchar

255

FALSE

FALSE

FALSE

教师性别

T_gender

varchar

255

FALSE

FALSE

FALSE

教师生日

T_brithday

varchar

255

FALSE

FALSE

FALSE

教师电话

T_tel

varchar

255

FALSE

FALSE

FALSE

教师邮箱

T_email

varchar

255

FALSE

FALSE

FALSE

  1. 课程信息表(course

4-2  课程信息表

字段名

Code

字段类型

长度

主键

外键

非空

课程ID

id

bigint

TRUE

FALSE

TRUE

课程名称

time

varchar

20

FALSE

FALSE

FALSE

课程选修

credit

varchar

50

FALSE

FALSE

FALSE

课时

time

varchar

2

FALSE

FALSE

FALSE

课程类型

type

varchar

2

FALSE

FALSE

FALSE

班级ID

class_id

int

FALSE

TRUE

FALSE

教室ID

Room_id

int

FALSE

FALSE

FALSE

时间ID

Time_id

int

FALSE

FALSE

FALSE

专业ID

Major_id

int

FALSE

FALSE

FALSE

教师ID

Teachter_id

int

FALSE

FALSE

FALSE

  1. 管理员信息表(admin

4-3  管理员基本信息表

字段名

Code

字段类型

长度

主键

外键

非空

管理员ID

Id

int

11

TRUE

FALSE

TRUE

管理员工号

Name

varchar

255

FALSE

FALSE

FALSE

管理员姓名

Password

varchar

255

FALSE

FALSE

FALSE

  1. 学院基本信息表(academy

4-11  学院基本信息表

字段名

Code

字段类型

长度

主键

外键

非空

学院ID

Id

int

11

TRUE

FALSE

TRUE

学院名称

Name

varchar

255

FALSE

FALSE

FALSE

  1. 专业基本信息表(major

4-12  专业基本信息表

字段名

Code

字段类型

长度

主键

外键

非空

专业ID

Id

int

11

TRUE

FALSE

TRUE

学院ID

academy_id

bigint

11

FALSE

TRUE

FALSE

专业名称

Name

varchar

255

FALSE

FALSE

FALSE

备注

desc

varchar

255

FALSE

FALSE

FALSE

  1. 班级信息表(t_class
  2. 教室信息表(t_room
  3. 课时信息表(t_time

字段名

Code

字段类型

长度

主键

外键

非空

班级id

id

int

TRUE

FALSE

FALSE

班级名称

Class_name

varchar

255

FALSE

FALSE

FALSE

班级人数

Class_num

varchar

255

FALSE

FALSE

FALSE

专业ID

Major_id

int

FALSE

FALSE

FALSE

字段名

Code

字段类型

长度

主键

外键

非空

教室id

id

int

TRUE

FALSE

FALSE

教室名称

name

varchar

255

FALSE

FALSE

FALSE

教室人数

room_num

varchar

255

FALSE

FALSE

FALSE

字段名

Code

字段类型

长度

主键

外键

非空

课时id

id

int

TRUE

FALSE

FALSE

时间段

Time_slot

varchar

255

FALSE

FALSE

FALSE

4.4 体系结构设计

4.4.1 体系结构

        体系结构的设计原则:

  1. 系统应具有良好的适应性。
  2. 系统应具有可靠性。
  3. 系统应具有较好的安全性。
  4. 系统应具有良好的可扩展性。

本系统采用三层架构,表示层---业务层---数据层。

4.4.2 三层架构

       (1)表示层。包含网站的UI元素,并且包含管理访问者和客户义务之间交互所有程序逻辑。该层使整个网站充满活性,而且这一层的设计方法对网站的成功至关重要。由于应用系统是web网站,因此表示层将由动态web页面组成。

(2)业务层:也称为中间层,接收来自表示层的请求,并基于其包含的业务逻辑,向表示层返回一个结果。表示层所发生的事件,绝大部分都会调用业务层(除了那些表示层自己处理的事件,诸如简单的数据输入验证等)。例如用户进行一次成绩的搜索,那么表示层将请求业务层,说:“请把与该搜索条件相匹配的成绩信息发给我。”绝大多数情况下,业务层都需要调用数据层的信息,以响应表示层的请求。

       (3)数据层(有时也叫数据库层)负责应用层系统的数据,并当请求时把它们发送给业务层。几乎所有的客户的请求最终都要查询数据层的信息,因此很有必要拥有一个快速的数据库系统。

       在三层架构中,层之间的数据传递必须遵循特定的顺序。表示层只允许访问业务层,而永远不能直接访问数据层。业务层就像中间的“大脑”,负责与其它层通讯,处理和协调所有信息流。如果表示层直接和数据层交互,将打破三层架构模型的编程规则。

       严格遵从三层架构可以确保网站易于更新、修改,同时添加了一层控制,用来限制谁或什么能够访问你的数据。

       本系统使用spring mvc框架使分层更明确,分层如下:

表现层,就是MVC模式里面的交互,负责接收请求和显示数据,系统中使用jsphtmllayui作为表示层。

控制层,是spring控制器的扩展,与表示层通讯,并调用服务层的组件。

服务层,负责实现业务逻辑,服务层可以调用DAO层与数据库通讯。

DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。

实体层,javabean 的实体类。

 Spring 的作用贯穿了整个中间层,将表现层、 服务层、 DAO层及实体层无缝整合,其数据服务层用来存放数据。

  1. 编码与实现
    1. 系统配置

系统配置主要包括了spring的applicationContext.xml文件配置和J2EE的web.xml文件配置。

……   

 <!-- 构建一个Spring容器,特点:xml或者注解 驱动java代码 

    Spring容器    Bean组件容器

    过程:

            通过class实例化一个对象(调用构造器 构造器参数可以由 constructor-arg 指定,

            没有将调用无参构造器),根据property setter注入其他的bean或者基本数据类型,集合等

-->

 <!-- 开启注解收集  -->

<context:component-scan base-package="controller,service,dao"/>

     <!-- 视图解析器 --> 

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

             <property name="prefix" value="/" />     

             <property name="suffix" value=".jsp" />     

    </bean>

</beans>    

……

applicationContext.xml文件配置

applicationContext.xml文件配置主要是对数据源、注解的使用、类的注入和切片事务的使用等进行了相关的配置。

       数据源配置包括与数据库连接语句设定,登录数据库所使用的用户名与密码的设定等;只有增加了注解和注入的配置才可以在实体类中使用注解来实现实体类的变量与数据库表字段的对应关联关系和在控制类、服务层或DAO层中使用注入的方法自动加载需要的类,然后才可以调用该类来使用;切片事务的配置使得设定的方法具有事务功能,在调用该特定方法时通过切片的形式加载事务给相关方法。

      1. web.xml文件配置

  <!-- filter权限控制 ,filter是按照配置的先后顺序加载的,没有优先级高低-->

<filter>

        <filter-name>authFilter</filter-name>

        <filter-class>filter.AuthenticationFilter</filter-class>

        <init-param>

                <param-name>allowUri</param-name>

                <param-value>/admin/*</param-value>

        </init-param> 

</filter>

<filter-mapping>

        <filter-name>authFilter</filter-name>

        <url-pattern>/*</url-pattern>

</filter-mapping>

 <!-- spring mvc 核心路由器  -->

 <!--      

       底层 servlet路由 是一个url路由到一个servlet

      把路由托付给spring mvc完成,首先需要配置一个核心的路由器(core servlet)

    路径匹配过程中若是匹配到controller,就从spring容器中获取这个Bean,再匹配其

    处理方法,再根据其方法参数配置做数据绑定,再通过反射invoke方法

  -->

 <servlet>

       <servlet-name>springCoreFilter</servlet-name>

       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

       <!-- spring mvc 依赖一个 spring 容器,此处指定配置文件路径 -->

       <init-param>

               <param-name>contextConfigLocation</param-name>

            <param-value>classpath:spring/applicationContext.xml</param-value>

       </init-param>

       <load-on-startup>1</load-on-startup>

 </servlet>

 <servlet-mapping>

       <servlet-name>springCoreFilter</servlet-name>

       <url-pattern>*.do</url-pattern>

 </servlet-mapping>

web.xml文件配置主要是对服务器初始化、过滤器的使用、监听器的使用、session的生命周期和错误页面的跳转等进行相关的配置。

服务器初始化设定服务器启动的时候需要加载的项目;过滤器和监听器的配置则是指定需要使用哪些过滤器和监听器来过滤或监听服务器加载的项目和系统运行的代码;session的生命周期配置设定session在多久后自动失效;错误页面跳转配置则是设定当系统报404或500错误的时候跳转到指定的报错页面。

    1. 增、删、改、查功能方法的代码实现

系统最主要的工作就是对信息进行增、删、改、查的操作。下面就以教师信息为例子对增、删、改、查功能方法的代码实现进行说明。

      1. 教师信息的新增

如图5-1所示,在教师信息新增页面填好相关信息后,点击保存按钮就可以把教师信息传输到后台进行相关处理,然后保存到数据库中。

      1. 教师信息的删除

图5-2 教师信息删除操作

如图5-2所示,当选中需要删除的教师信息并点击删除按钮后,会弹出提示窗口提醒是否删除信息,当点击确定按钮后便执行了删除操作。

      1. 教师信息的修改

图5-3  教师信息修改页面

如图5-3所示,在选中一条教师信息记录点击编辑按钮或双击这个记录后便打开了教师信息修改页面。对相应的信息进行修改后,点击保存按钮便可执行教师信息修改操作。

      1. 教师信息的查询

如图5-4所示,页面初始化查询出所有教师信息。

  1. 系统测试

系统测试展示了登录验证和密码修改两个模块的测试内容。

    1. 登录验证测试

如图6-1所示,当用户名或密码没有填就点击登录后会提示“登录失败”。

图6-2  系统登录验证

如图6-2所示,当输入的用户名不存在或用户名与密码不对应,会提示“登录失败!”。

图6-3  系统主界面

当输入的用户名和密码都正确后点击登录便可进入如图6-3所示的系统主界面。

  1. 结束语

本论文主要阐述了一个适用于高校的教务管理系统的开发。系统使用了J2EE技术来开发,具体的技术有涉及到Spring、layui、JSP、JavaScript等。其中系统还使用了MVC架构辅助开发,使得系统的分层更明确,每个组件间的耦合性更小。

系统花费了两个多月去完成,由于时间和人力的不足,有一些功能不是很完善,某些页面的界面不太友善。

通过本次毕业设计,从一个不同的侧面进一步了解了自己的专业知识与自己的专业技能,了解到自己大学四年的学习情况,也了解到我们学科以外的知识,拓展我们的视野;了解到不同领域的特点,也使我提高了实际操作能力,从以前的理论上升到实践,真正做到学有所用。

四年大学生涯即将结束,但是我学到了有属于我自己的东西,它给我的影响和作用将让我受用终生。希望在未来可以用自己的所学,实现自己的理想与自己的人生目标。

参考文献

  1. 朱玲. 基于JSP的优秀论文管理系统实现[D]. 南山东工商学院硕士论文,2007.
  2. Karl Avedal,Danny Ayers,Timothy Briggs 等著. 黎文,袁德利,吴焱 等译. JSP编程指南[M]. 北京:电子工业出版社,2001.
  3. 汪孝宜,刘中兵,徐佳晶 等. JSP数据库开发实例精粹[M]. 北京:电子工业出版社,2005.
  4. 石志国,刘翼伟,王志良. JSP应用教程[M]. 修订本. 北京:清华大学出版社, 2008 :5-8.
  5. 褚南峰,姷汉琪. 基于JSP技术的实验中心管理系统设计与实现[J]. 中国现代教育装备,2006,23(4): 21-26.
  6. 李凯阳,邹炜,喻学锋,杨宣东. 一种基于B/S模式的PACS系统解决方案[J]. 计算机系统应用,2006.4:2-4.
  7. 朱福喜,傅建明,唐晓军 等. Java项目设计与开发范例[M]. 北京:电子工业出版社,2005.
  8. 精通Spring——Java轻量级架构开发实践,CSDN网站, 专业在线电子书网站,2007.3.
  9. 郭世锋. 基于B/S的医院门诊预约挂号系统的设计[D]. 广东:广东药学院,2007.
  10. 吹泡泡的兔子. MySQL[EB/OL]. [2013-3-15]. http://baike.soso.com/v34965. htm.
  11. 吹泡泡的兔子. tomcat[EB/OL]. [2013-3-15]. http://baike.soso.com/v25660.htm.
  12. Chen S,et al. Web-based Simulations of Power Systems.IEEE Computer Applieations in Power[J]. 2002,15(1):35-40.
  13. John McCarthy,Kashif Riaz,Yvonne Nolan. An Interactive Outpatient Reminder System[J]. The Internet Journal of Medical Informatics,2007.1:47-52.
  14. zozoh. 什么是Nutz[EB/OL]. 2009[2013-3-15]. http://nutz.group.iteye.com/ group/wiki/1663-what-is-the-nutz.
  15. 冷威龙. Nutz[EB/OL]. [2013-3-15]. http://baike.baidu.com/view/3216877.htm.

致    谢

在老师和同学的支持与帮助之下,我顺利地完成了本次毕业设计。在毕业设计的这段日子里,我所获得的知识将是大学期间最珍贵的。

本次毕业设计我是在***老师的带领下完成的,他严谨的治学态度深深的影响着我。他无论在理论上还是在实践中,都给予我很大的帮助,使我的毕业设计逐步地趋于完善。同时,在此过程中我也得到很多同学的帮助,他们耐心的帮我找问题,解决问题,在这里我也要对他们表示深深的感谢。

在此,我对所有老师在毕业设计期间给予的指导和帮助表示衷心的感谢。也感谢其他老师在此期间的关怀和帮助,以及学院为我提供良好的毕业设计环境。同时,我也要感谢我的答辩老师,是他们在中检时指出了程序中的不足,并让我改正。

再次感谢在本次毕业设计中帮助过我的人。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值