随着我国科学技术的进步和综合国力的增强,计算机在我们学习生活中有着越来越多的应用,我们对计算机的依赖也越来越强烈。可以说,离开了计算机我们的日常生活都不能得到保证。然而,在计算机如此普及的今天,有一些领域却还没有广泛应用这个强大的工具,比如说学校的排课。为此,我们开发了这个高校智能排课系统,旨在能为学校解决一点实际问题,同时积累一点开发经验,为以后的功能完善打下一定的基础。

本系统一共由四个人完成,对于几个即将毕业的大学生。开发经验不足是最大的问题。在开发过程中我们本着积极的学习精神,遇到问题迎头而上,解决问题后又倍感欣慰。同组的几位同学有着较强的团队合作精神,相互之间讨论、解决问题的合作精神更值得称赞。指导老师吴志诚积极负责,引导和监督我们的开发过程。

这几个月的系统开发时间里,我们学到了很多。我们能在以后的工作学习做了一个好的开头。并能将这种不怕困难的精神坚持到底。

现代大学的学科设置越来越科学,大学的学习方式也在不断的更新,许多国内的大学开始向国际化方向发展,采用学分制的管理系统。然而,要采用这样一种先进的模式,首先要面对就是学生选课时所依据的排课表该如何生成的问题。在以往的教学管理中,许多高校只能通过人工的方式生成。伴随着学科范围的不断扩大,各个院系的学科科目也越来越多,庞大的课时、教师、教室信息令学校的教务安排人员眼花缭乱,无法迅速、高效地完成排课任务。智能排课系统就是为了解决这一问题而开发的。它对旧的排课方式方法是一种革命性的冲击。智能排课系统具有高效性、灵活性、可重复利用性等特点。它可以轻松、合理的解决了高校的排课问题。

关键词:排课算法;排课系统;智能;课表调整;JSP;

ABSTRACT

The modern university discipline’s installation is more and more science, a lot of domestic universities begin to develop toward internationalization, adopt the administrative system of the credit system. But is it adopt advanced mode this to want, should first face it is whom student base on at the course of selecting that arrange this problem of how to produce of the school timetable. In past teaching management, a lot of universities can only produce through artificial way. Following the constant enlargement of the discipline range, discipline subject of all institute department is getting more and more too, make educational administration of the school arrange personnel dazzledly in huge period, teacher, classroom information, it is unable to accomplish the task of arranging the lesson fast, high-efficient. It is developed in order to solve this problem that intelligence arranges the lesson system. It is a kind of revolutionary impact to old arranging the methods of the lesson. It last lesson intelligence the systems there is efficiency, flexibility, can such characteristics as re-utilizing, etc. It can light, reasonable settlement university arrange the problem of the lesson.

Keywords: Arrange a lesson of algorithms; Arrange the lesson system; Intelligence; the school timetable is adjusted; JSP;

目录

前言. I

摘要. II

ABSTRACT III

第一章 绪论. 1

1.1  项目背景. 1

1.2  本文所作工作. 1

第二章 相关技术介绍. 3

2.1  JSP简介. 3

2.1.1  JSP开发背景及发展趋势. 3

2.2.2  JSP编程的特点及优势. 3

2.2  JDBC简介. 6

2.2.1  JDBC 概述. 7

2.2.2  JDBC的设计目标. 7

2.2.3  主要的JDBC类. 9

2.2.4  排课系统调度模块所用的JDBC API 10

2.3  MVC模式与WebWork框架简介. 11

2.3.1  MVC模式构建思想. 11

2.3.2  WebWork框架. 12

第三章 需求分析. 14

3.1  排课系统使用现状. 14

3.2  本系统的主要作用. 14

3.3  系统的开发前瞻. 15

第四章 总体设计. 16

4.1 系统功能模块划分. 16

4.1.1  系统管理与维护. 16

4.1.2  排课算法设计与实现. 16

4.1.3  课表查询与打印. 16

4.1.4  课表调整与调度. 17

4.2  系统数据库设计. 17

4.2.1 整体实体关系图. 17

4.2.2 课表调度模块主要数据表. 18

4.2.3 数据流. 19

4.2.4 数据字典. 20

第五章 课表调整与调度模块的详细设计与实现. 21

5.1  课表调整与调度模块首页. 21

5.2  时间和教室都调换功能设计. 21

5.2.1  查询调换功能设计. 22

5.2.2  直接调换功能设计. 27

5.3  其他功能设计. 30

5.3.1  教室调换功能设计. 30

5.3.2  时间调换功能设计. 32

5.4  MVC与WebWork在排课系统中的应用. 33

5.4.1  WebWork的搭建过程. 34

5.4.2  WebWork在本系统中的例子. 35

第六章 系统运行情况. 38

第七章 尚待解决的问题. 40

致谢. 41

参考文献. 42

附录 关于向软件业投资的方向的一些看法. 43

1操作系统. 43

2开发工具. 44

3应用软件. 44

Appendix: Some Views in the Direction Making the Investment of the Software Industry 47

1.Operating System 47

2 Developing Instruments 48

3 Application Software 49

第一章 绪论

1.1  项目背景

排课是每一个学校必须面对的问题,以前各学校的排课都是通过手工排出来了,不仅效率低,而且可变更性差,通常是经过很多次调整后确定的,给教学工作带来极大的不便。在计算机被广泛应用的今天,我们要充分利用计算机的优势,不仅大大提高了工作效率,而且提高了排课的可重用性。使排课不再成为各学校的难题。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了利用计算机进行排课而设计的。

现今,有很多的学校尚未使用计算机进行排课。根据调查得知,他们以前对排课的主要方式是通过手工处理,首先统计教师、班级人数、上课时间,首先进行第一次排课,得出一个初稿,再在这个基础之上进行多次修改,直到满意为止。这样看来,缺乏系统,规范的方法。尽管有的学校有计算机,但是尚未用于排课,没有发挥它的效率,资源闲置比较突出,这就是管理信息系统的开发的基本环境。

数据处理手工操作,工作量大,出错率高,出错后不易更改。基于这此问题,我认为有必要建立一个排课系统,使排课工作规范化,系统化,程序化,避免排课的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改排课情况。

1.2  本文所作工作

第一章是绪论部分,分析了智能排课系统开发的背景,正确定位本系统。

第二章介绍了开发本系统的相关技术,主要有:JSP、JDBC、MVC模式和Web Work。为系统的开发提供了技术支持。

第三章是排课系统的需求分析,简单介绍了本系统的作用、使用现状、和开发预想。

第四章根据第三章的需求分析结果进行了总体设计规划。这一章将详细介绍本系统的功能和设计细节。包括系统功能模块设计和数据库设计。

第五章着重介绍了调整与调度模块的详细开发过程。这一章是本文的重点。

第六章对系统介绍了运行平台级平台搭建过程。本系统是在JSP+SQL Server 2000的基础上开发的。

第七章分析了系统现在存在或将来可能出现的问题,为系统的茁壮成长定下调子。

第二章 相关技术介绍

2.1  JSP简介

本系统的开发语言为JSP,作为一门随同Java发展起来的技术,JSP有着它独特魅力,成为广大系统、网络开发者的最爱。

2.1.1  JSP开发背景及发展趋势

就目前的现状和发展趋势来看,Internet已经全面深入的渗入人们的日常生活中,并且人们对于它的这种依赖只会加强,而不会减弱。使用网络对很多人来说已经不再是一个新事物,电子商务、信息查询、交友聊天等诸多实际需求的出现,是人们早已不再满足于Web 技术发展初期的由文本、图形、和超链接组成的静态信息的发布与交流,为了扩展它的功能,我们需要将Web技术和数据库连接,是用户得到更多的信息和有用数据。人们希望网络编程语言简洁、易懂、功能强大,更希望Web技术能做到和操作系统无关,使开发出来的产品可重用性和可扩展性得到更大的发挥。在这种大背景下,JSP应运而生了,它很好的解决了上述问题,因此,JSP与ASP、PHP共同成为当今Web编程的三大主流技术,但JSP在网络安全性、高效性等方面比其它两种做得更好,可以说JSP必将取代其他两种技术。

2.2.2  JSP编程的特点及优势

JSP是英文Java Server Pages的缩写,它是Sun公司开发的一种新型动态网页编程技术。JSP源代码能直接插入到HTML中,只需要在代码前后加上<%…%>作为标志就行了,由于JSP技术是从Java编程语言中的Servlet技术扩展而来,因此它成功的实现了动态页面和静态页面的分离以及程序代码与硬件平台的无关性。

JSP为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。 JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.JSP)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。

JSP技术在多个方面加速了动态Web页面的开发:

2.2.1.1  内容的生成和显示进行分离

  使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。

2.2.2.2  强调可重用的组件

绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

2.2.3.3  采用标识简化页面开发

Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。

JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。

由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言"一次编写,各处运行"的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。当与Java 2平台,企业版(J2EE)和Enterprise JavaBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。

2.2.4.4  技术分析

Microsoft 公司的 ASP 技术也是动态网页开发技术。JSP和ASP从形式上非常相似,ASP程序员一眼就能认出<% %>以及<%= %>。但是深入探究下去会发现它们很多的差别,其中最主要的有以下三点:

1、JSP的效率和安全性更高

ASP以源码形式存放,以解释方式运行,每次ASP网页调用都需要对源码进行解释,运行效率不高。另外,IIS的漏洞曾使得许多网站源程序大曝光,包括笔者以前用ASP开发的网站,ASP程序全部被人下载了去。JSP在执行以前先被编译成字节码 (byte code),字节码由Java虚拟机(Java Virtual Machine)解释执行,比源码解释的效率高;服务器上还有字节码的Cache机制,能提高字节码的访问效率。第一次调用JSP网页可能稍慢,因为它被编译成Cache,以后就快得多了。同时,JSP源程序不大可能被下载,特别是JavaBean程序完全可以放到不对外的目录中。

2、JSP的组件 (Component) 方式更方便

ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或者复杂计算分离出来成为独立可重复利用的模块。JSP通过JavaBean实现了同样的功能扩充。在开发方面,COM的开发远比JavaBean复杂和繁琐,学会ASP不难,但学会开发COM可不简单。而JavaBean就简单多了,从本文上述示例中可以看出开发JavaBean很方便。在维护方面,COM必须在服务器上注册,如果修改了COM程序,就必须重新注册,甚至必须关机和重新启动。JavaBean则不需要注册,放在CLASSPATH包含的目录中就行了。如果JavaBean进行了修改,则JSWDK和Tomcat现在还需要关闭和重新运行(但不是关机),但开发者已经许诺将在以后的版本中做到不需要关闭服务器。另外JavaBean是完全的OOP,可以针对不同的业务处理功能方便地建立一整套可重复利用的对象库,例如用户权限控制、email自动回复等等。

3、JSP的适应平台更广

ASP目前仅适用于NT和IIS。虽然Unix下有ChiliSoft的插件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的组合来扩充,Unix下的COM实现起来非常困难。

JSP的具体执行过程如下:

1、由客户端的浏览器,以超文本形式通过表单向Web服务器提出请求。

2、服务器得到客户端的请求后,由Web服务器上的JSP引擎把JSP代码、组件、Java脚本以及HTML代码,转换为Servlet代码。

3、JSP引擎服务器端的Java编译器对Servlet代码进行编译

JDK执行编译文件,并向客户端发送HTML文件

2.2  JDBC简介

JDBC是执行SQL语句的Java API。JDBC即“Java Database Connectivity”(Java数据库连接),它由一组用Java语言编写的类与接口组成,已成为一种数据库连接的标准。

2.2.1  JDBC 概述

计算机环境的分布式意味着在分布式环境中的每一个节点都是一个小的计算机单元。客户机/服务器(C/S)技术是分布式的一个例子。在它的核心层上,客户机是需求者,服务器是给予者。但并不是说,客户机就不能够创建新的信息发送给服务器;大多数情况下,很多的客户机连接到一个服务器上。这个服务器是一个典型的包含所有信息的资源库(因此有了数据库这个术语)。

C/S可以根据许多计算的要求给出各种各样的方案。Java完美地集成了C/S模式。网络可能代表着一个最好的例子,从某种角度讲它就是一个分布式C/S环境。另外,Java正努力改进以便更容易开发C/S程序。JDBC是Java新增加的内容之一,它几乎使得任何种类的C/S实现更容易。

JDBC是一套API集合,该集合设置了许多允许Java程序连接数据库的框架。JDBC操作在某些方面看起来和ODBC一样。区别是ODBC不能在Java程序中直接实现,原因是ODBC是用C语言写的。然而JDBC提供了JDBC/ODBC之间的桥梁。使用JDBC可以很容易地把SQL语句传送到任何关系数据库中。JDBC的基本功能包括建立与数据库的连接,发送SQL语句和处理结果。

JDBC提供了连接数据库的几种方法:

·与数据源直接通信
    使用JDBC和数据库已制定的协议时,可使用一个驱动程序直接与数据源通信。既可以建立自己的驱动程序,也可找一个公用的。

·通过JDBC驱动程序的通信

可连接到一个高标准的驱动程序上,该驱动程序依次与另一个可与数据源通信的专用驱动程序通信。
    ·与ODBC数据源通信

一个公开可用的专用驱动程序是JDBC/ODBC桥梁驱动程序,它是Javasoft公司开发的,允许应用程序与ODBC数据源相连。

2.2.2  JDBC的设计目标

JDBC设想为建立数据库连接从Java内部填补一个调用级SQL API的空白,因此其核心在于执行SQL语句,然后接收其结果。JDBC API由多个抽象的Java接口组成(在 Java中,一个接口如同一个类),以满足标准的数据库查询需求,如连接到特定的数据库,执行SQL语句以及处理查询结果。以图形表示如下(图2-1):

图2-1  JDBC连接数据库方式

两个模型说明了分布式计算环境的分类,在其中可以使用JDBC。第一种情况是有一个大的数据库并希望有直接连接到该数据库的程序。这是一个两层模型,其中,有一个下载的程序,由其直接连接返回到数据库,处理查询并为用户提供结果。当在一个安全的环境中运行时,该模型往往是恰当的,例如一个内部的Intranet,在其中允许Java程序直接与数据库通信。当数据库是只读时,该模型也很适宜。

作为选择,三层模型有一个以Java编写的应用服务器作为访问数据库均媒介。在这种情况下,可以下载一个与Java应用服务器通信的Java程序,Java程序又转而与相关数据库通信。当需要额外的约束条件、额外的语义以及不容易直接向数据库表达的数据库访问时,该模型尤为适宜。JDBC的一个主要目标是既支持两层模型也支持三层模型。

第三章 需求分析

自1999年以来,各大高校都在扩招,随着学生的增加,各高校的教师、教室也急剧增加,有些学校甚至新增校区。因此,高校的课程,教师,教室的安排是比较复杂的,有些老师所带的课程有多门,可能会跨越新老校区。有些院系在新老校区都有班级,更加增加了排课的困难。如果采用人工排课,这无疑是一项比较繁重的工作,人工排课有很多问题存在,比如说排课随机性比较大,没有一个严格的规定。人工排课会消耗大量的工作时间,排课过程也是一个不断修改、尝试的过程,有些排课不太合理的地方往往要等到上课时才能发现,给老师、学生带来了极大的不便,这就降低了教学效率。

3.1  排课系统使用现状

目前有些学校也使用计算机排课,在这些学校中,以小学为多,小学的排课比较简单,容易实现。中学的相对来说比较复杂,但也有比较多的学校使用计算机排课,但并未在一个比较大的区域内形成一个统一的使用规范。在各高校中,情况就更为复杂了,首先各高校的情况不尽相同,比如校区、院系、教学楼、教师等都各有差别。因此,要在目前还没有公司或高校能开发出一个软件能排出所有高校的课程,即使一部分高校在使用排课系统,可以说它还不是智能的,或只适合本校或一部分学校。智能二字只是一个强加上去的。

再从已开发出来的排课系统来看,绝大多数是采用C/S结构,即客户端/服务器结构。这种模式缺点就是灵活性差、升级困难、维护工作量大,当客户访问量增加时,会极大的降低访问速度。而本系统采用的是B/S结构,这种结构优点在于 :(1)无须开发客户端软件,维护和升级方便;(2)可跨平台操作,任何一台机器只要装有WWW浏览器软件,均可作为客户机来访问系统;(3)具有良好的开放性和可扩充性;(4)可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。所以,随着Web技术发展的日益成熟,排课系统的C/S结构必将被B/S结构代替。

3.2  本系统的主要作用

我们学校的排课都是使用半人工半计算机的方式排出来的,都是经过反复的修改、尝试。因此效率不是很高。开发并使用排课系统,是我校要解决的当务之急。本系统正是顺应了学校的这一要求,严格参照本校的具体情况而开发的。所以本系统的功能模块的设计、代码的开发都是紧密结合校情的。改善本校的排课现状、提高排课效率是本系统的要求之一。如果系统在本校运行成功,以后可以扩充其功能,使之能适应一部分高校的排课情况。

第四章 总体设计

4.1 系统功能模块划分

高校智能排课系统在功能上分四个模块,如图4-1:

高校智能排课系统

管理与维护

排课算法

设计与实现

查询与打印

课表调整

图4-1  系统功能模块划分

4.1.1  系统管理与维护

1.基础数据管理

将排课中涉及到的院、系、教研室、教师、班级、教室等事物的信息录入到系统数据库中,并能修改、查询和删除;

2.权限管理

不同角色的用户登录系统后,看到的用户界面不同,用户能操作的功能菜单也不同

4.1.2  排课算法设计与实现

该模块是整个系统的核心。在排课需要的相关数据准备好后,系统自动安排课表。系统可以一次将课表排好,也可以分几次安排。

第五章 课表调整与调度模块的详细设计与实现

智能排课系统一共分四个模块,它们是:系统管理与维护模块、排课算法设计与实现模块、课表查询与打印、课表的调整与调度模块。由于我开发的是课表的调整与调度模块,所有下面我就详细的介绍一下这个模块的设计过程:

5.1  课表调整与调度模块首页

本模块是针对课表已经排好后的操作,所以本模块的只是为管理员设计的,管理员登陆后,进入调整与调度模块的首页(conditon.htm),首页主要是选择要调换的内容,比如教室、时间等,主界面如图5-1:

图5-1  课表调整模块主界面

这个页面提交后,转到adjust.jsp页面,这个页面只提供跳转功能,根据condition.htm传过来的参数转到相应的页面,这个页面主要的jsp代码如下:

<% String change = request.getParameter("radiobutton");

if (change.equals("change_classroom")) {%>

<jsp:forward page="changeroom.jsp"/>

<% } else  if(change.equals("change_time")) { %>

<jsp:forward page="changetime.jsp"/>

<% } else  if(change.equals("change_all")) { %>

<jsp:forward page="change_all/changeall.jsp"/>

<% } %>

5.2  时间和教室都调换功能设计

这个跳转页面能转到changeroom.jsp,changetime.jsp,changeall.jsp三个页面中的其中一个,我现在举跳到changeall.jsp页面来介绍一下本模块的调换课表功能的实现,changeall.jsp页面提供了两种调换课表的方式:

第六章 系统运行情况

本系统运行平台为:

Windows2000 professional+JDK+TOMCAT+SQL server2000

JSP平台的搭建:

1、JDK下载和安装:

第一步:进入SUN公司JAVA的JDK 1.5版本免费安装程序,下载主页地址:

http://java.sun.com/j2se/1.5/download.html

单击download,进入下载协议,选择接受协议。

第二步:JDK安装程序:我安装的是:

j2sdk-1_5_0版本

第三步:安装jdk的目录,我设为d:\jdk

2、TOMCAT下载和安装:

第一步:登陆 http://jakarta-sun.com

第二步:下载tomcat程序。

我安装的是:Jakarta-tomcat-5.0.18.exe

第三步:在安装tomcat时,要选择custom形式

第四步:安装tomcat时,目录设为d:\tomcat5

3、在安装完jdk和tomcat后,要设置“控制面板”中的系统特性中的环境变量:

增加变量CLASSPATH,它里面的内容为:

d:\jdk\lib\tools.jar;d:\tomcat5\common\lib\servlet.jar

增加变量JAVA_HOME,内容为:D:\j2sdk1.5.0(这个参数只有操作系统是windows 2000时设置,如果是windows 98时,则不用)

增加PATH的内容为:d:\jdk

在整个参数都改变之后,要重新启动计算机。

4、运行tomcat目录里\bin\startup.bat。启动tomcat.

5、打开IE,在地址栏里键入http://localhost:8080或http://127.0.0.1:8080进入连接状态。

即可进入http://localhost:8080/index.jsp

6、SQL server2000的安装:

SQL server2000要从光盘安装,点击“安装SQL server2000服务器组件”,进入安装向导,按默认的安装进行,一直到向导要求你选择用户名和密码,我这里用的用户名为:sa,密码为空。

JDK是所有.java文件.jsp文件的运行平台,tomcat是服务器运行平台,SQL server2000是数据库,为了方便文件的管理,我们要对tomcat进行一些设置主要是建立一个虚拟目录,具体步骤如下:

用editplus打开tomcat目录下的conf/server.xml文件,在</host>之前添加如下代码:

<Context path="/PKXT" docBase="PKXT" debug="0"

reloadable="true" crossContext="true"/>

此代码为tomcat增加了一个web应用。

(2)在tomcat/webapps/目录下新建文件夹PKXT,以后所有系统文件都放在这个目录下面,再在PKXT下建立文件夹WEB-INF,并在此目录下新建web.xml文件,文件内容如下:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

</web-app>

再在WEB-INF下新建classes文件夹和lib文件夹,以后所有的.java和.class文件都放在classes文件夹下,所有的驱动,包,类文件放在lib文件夹,至此一个简单的JSP的web应用建立完成。

基于jsp(java)高校智能排课系统设计相关推荐

  1. java毕业设计——基于JSP+sqlserver的高校智能排课系统设计与实现(毕业论文+程序源码)——高校智能排课系统

    基于JSP+sqlserver的高校智能排课系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于JSP+sqlserver的高校智能排课系统设计与实现,文章末尾附有本毕业设计的论文和源码下 ...

  2. 基于jsp(java)高校学生考勤管理系统设计与实现

    获取项目源文件,学习交流联系Q:1415736481,可指导毕设,课设 本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统.本系统总体上由三大功能模块:请假系统模块.考勤系统模块. ...

  3. java计算机毕业设计高校智能排课系统源程序+mysql+系统+lw文档+远程调试

    java计算机毕业设计高校智能排课系统源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计高校智能排课系统源程序+mysql+系统+lw文档+远程调试 本源码技术栈: 项目架构:B/S ...

  4. 智能排课系统设计 c语言设计,高校智能排课系统的研究设计与实现.doc

    摘 要 现如今,随着我国高校的快速发展,各个大学早已朝着综合大学的发展,所开设的学科.专业以及学院都如迅猛发展,尤其是扩招以来,各个大学的在校学生数量猛增,在这种情况,以前学校的教务排课系统已远远不能 ...

  5. 基于遗传算法的高校自动排课管理系统java+ssh框架

    博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 基于遗传算法的高校自动排课管理系统java+ssh框架 系统说明 <基于遗传 ...

  6. mysql自动排课_jsp1934高校智能排课系统 mysql

    jsp1934高校智能排课系统 mysql 该设计有演示视频 100%能运行 买重包换 保密发送 一校一份 编号: jsp1934 语言+数据库: jsp+mysql 论文字数: 12159字 内容摘 ...

  7. 基于JSP的高校考试排座管理系统

    目 录 摘 要 i Abstract ii 第1章 绪 论 1 1.1本文工作的来源 1 1.2目的和意义 2 1.2.1 目的 2 1.2.2意义 2 1.3国内外进展 3 1.3.1国外进展 3 ...

  8. mysql自动排课_高校智能排课系统算法

    1 /// 2 ///取最优的时间片id3 /// 4 /// 教室id 5 /// 星期id 6 /// 授课id 7 /// 班级id 8 /// 教室id(S) 9 /// 10 private ...

  9. 自动排课系统的设计与实现 开题报告 java_高校自动排课APP的设计与实现毕业论文+开题报告+app源码(Hbuilder+Android+sqlite+H5)+操作步骤...

    摘  要 传统的人工排课使用手工操作存在许多弊端,如重复劳动严重.效率低下.且不能达到资源的最优化配置等,将产生大量的文件和数据,这对于查找.更新和维护都带来了不少的困难.因此设计一个高校自动排课AP ...

最新文章

  1. 查找(三)——基于平衡二叉树的查找(对排序二叉树的改进)
  2. 【ThinkPHP3.2.3】学习ThinkPHP笔记:框架中的配置文件(3)
  3. Python核心编程读笔 8: 文件和输入输出
  4. python教材目录_Python实用教程/高等院校信息技术规划教材简介,目录书摘
  5. WT32-SC01是ESP32驱动3.5彩屏开发板方案适合用arduino方式开发吗?因为需要彩屏和电容触摸的驱动的
  6. 牛客题霸 [最长公共子串]C++题解/答案
  7. 字符串(AC自动机(fail tree))
  8. 06-自定义构造方法
  9. startService()和bindService()区别
  10. 在程序员眼里,马云 1000 亿的大业败给了王者荣耀 100 个月工资的奖金
  11. 对话奇安信代码安全丨十年砥砺前行 迎来软件供应链安全的风口
  12. 搞懂 Vision Transformer 原理和代码,看这篇技术综述就够了(四)
  13. PhoneGap android环境设置
  14. drools规则引擎源码解析
  15. matlab 16qam误码率图,16QAM理论误码率与实际误码率MATLAB仿真程序(最新整理)
  16. OVNOVS代码下载、编译安装以及运行步骤
  17. linux中syscmd用法,M4 宏处理器
  18. 执行retn、call、leave指令的时候,esp和eip的变化情况
  19. 数据结构(三)—— 树(1):树与树的表示
  20. 广告投放策略及数据分析

热门文章

  1. 【区块链进阶】比特怪胎下的风口--链上治理(上篇)
  2. Excel表格中保持前面的文字内容不变,后面的数字自动增长(后续测试好像不行,如果有看到的参考下即可)
  3. Java模拟http请求
  4. 南京大学计算机信息安全专业,2020信息安全专业排名【大学】
  5. Python基础---Set(集合)Frozenset(不可变集合)
  6. 极速傲引擎安装失败的解决方法
  7. 使用opencv切分视频(大视频变成小视频)
  8. 区块链融合隐私计算开启医疗数据安全新篇章,FinTechathon2021区块链冠军之想
  9. Blender烤鱼全流程案例教学
  10. python爬取B站番剧索引页面并保存文本和图片