Servlet+AJAX实现的模拟电梯调度】的更多相关文章

需求产生: 大三下学期天天在学校的同一栋教学楼上课,每天要等四次电梯,有次等电梯无聊了,就想到电梯的运行逻辑该如何用程序来表达呢? 问题描述: 大学的那栋楼有21层,不过在页面中画21层有点密,所以只画了9层: 同时有三座电梯等待调度: 按钮分为楼层按钮和电梯内按钮,电梯内按钮有楼层数字和关门按钮: 运行的要求: 1.电梯空闲时,电梯内按钮被点击,对应按钮被点亮,需要按关门键自动运行到最近的楼层: 2.电梯正在运行过程中,电梯内按钮被点击,如果离电梯更近,需要自动更改电梯目的停靠楼层为新添加的请…
OO第二次博客作业——电梯调度 前言 最近三周,OO课程进入多线程学习阶段,主要通过三次电梯调度作业来学习.从单部电梯的傻瓜式调度到有性能要求的调度到多部电梯的调度,难度逐渐提升,对同学们的要求逐渐变高,我们对线程的理解也逐渐加深.下面笔者将对三次作业分别进行总结. 一.单部多线程傻瓜调度(FAFS)电梯 说明:本次作业需要模拟一个多线程实时电梯系统,从标准输入中输入请求信息,程序进行接收和处理,模拟电梯运行,将必要的运行信息通过输出接口进行输出.本次作业对性能要求非常宽松,不需要进行优化处理.…
第二单元的问题是写一个关于电梯调度的程序. 需要模拟一个多线程实时电梯系统,从标准输入中输入请求信息,程序进行接收和处理,模拟电梯运行,将必要的运行信息通过输出接口进行输出. 主要锻炼学生的多线程程序编写能力. 由于需要实时的输入和输出,我们不得不采用多线程. 在这个单元中任务仍然被分为三个小任务: ①完成单电梯(随时允许输入) ②单电梯+(楼层增加负层,必须使用比先来先服务更加高效的算法) ③多电梯调度(增加重量限制.楼层停靠限制.换乘) 一.调度算法设计 单电梯的调度算法: 我在网上寻找调度…
告别了三次奇妙无比的求导作业之后,我们就开始搭建一部自己的电梯了.相信我们不同同学的电梯运行方式肯定各具特色吧,但值得肯定的是,在艰苦的走完了三次电梯逐步改进的作业之后,我们的电梯在正常情况下应该是可以运作了-所以当我们一起坐电梯,相信我们的电梯应该是不会接不到人.把人最后关在里面.莫名其妙的就把人给丢了以及把人送到+或者是-的啦.下面是我对这三次作业的总结与分析- 在三次作业中我都是用的三个线程.一个是main线程,主要负责构造并start另外两个线程,构建调度器对象:另外两个是Request…
电梯调度有很多种模式,参见http://www.cnblogs.com/jianyungsun/archive/2011/03/16/1986439.html 1.1先来先服务算法(FCFS) 先来先服务(FCFS-First Come First Serve)算法,是一种随即服务算法,它不仅仅没有对寻找楼层进行优化,也没有实时性的特征,它是一种最简单的电梯调度算法.它根据乘客请求乘坐电梯的先后次序进行调度.此算法的优点是公平.简单,且每个乘客的请求都能依次地得到处理,不会出现某一乘客的请求长期…
一.开门见山,代码粘 using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace lift { public partial class Form1 : Form { ;//目的楼层 ;//所到楼层 public Form1() { InitializeCompone…
一.设计思路 (1)将乘客要去的楼层数存起来. (2)假设yi为乘客要爬楼层数之和,yi=n1*|(n1-ni)|+n2*|(n2-ni)|+..+n18*|(n18-ni)| (3)比较y1到y18的值,找出最小的. (4)输出结果 二.源代码 #include "iostream.h" #include "stdlib.h" #define MAXSIZE 15 void Input(int &num,int flour[]) //输入乘坐电梯的人数及楼…
原文:WPF界面设计技巧(7)-模拟电梯升降的缓动动画 如同Flash一样,WPF的亮点之一也在于其擅于表现平滑的动画效果,但以移动动画来说,仅凭简单的起始位置.目标位置,所产生的动画仍会非常生硬,这种动画忽略了移动开始时的加速过程与移动结束时的减速过程. WPF在关键帧动画中提供了样条内插(Spline)型的关键帧,用以控制变化的速率曲线,但这东西实在有些复杂,且不够形象化,我研究很久也没明白如何实现“缓入--缓出”的效果,随后我从一本经典牛X却鲜有人知的过时的FlashMX教程中提取了一个缓…
经过第一单元作业的训练,在做第二单元的作业的时候,要更加的有条理.但是第二次作业多线程的运行,带来了更多的运行的不确定性.呈现出来就是程序会出现由于线程安全问题带来的不可复现的bug.本单元的作业也让我更加认真的思考了性能和架构之间的关系,对于工程架构的设计有更进一步的认识. 历次作业分析和总结: 第一次作业:单电梯的傻瓜调度 类图如下: 第一次作业由于并没有性能要求并且刚刚接触多线程的运行,程序的结构简单并且多线程的各个线程之间并没有很多的交互.第一次作业设计中为了第二次作业的扩展,只是简单的…
1.编程题目 电梯调度系统 2.结对编程组员 黄冠译,刘畅 3.编程语言 C语言图形库 4题目要求 编写人员:刘畅,黄冠译 代码如下: # include <stdio.h> # include <graphics.h> # include <conio.h> # include <time.h> # include <memory.h> ] = {,,,},k[]={,,,},t[]={,,,},di[]={,,,}; int cro,col;…
[附加题] 改进电梯调度的interface 设计, 让它更好地反映现实, 更能让学生练习算法, 更好地实现信息隐藏和信息共享. 目前的设计有什么缺点, 你会如何改进它? 1.之前判断电梯是否闲置的函数不太好理解,重新修改了,如下所示: //是否停顿状态(停止的以及开门间隔>=0) public bool IsIdle { get { return CurrentStatus.CurrentDirection == Direction.No && CurrentStatus.Door…
电梯调度系统编程 1.编程题目 电梯调度. 2.结对编程组员 黄冠译,刘畅. 3.编程语言 C语言图形库. 4.题目要求: 5.代码运行及结果调试: ① 运行界面为C++图形库支持,开始运行的初始界面如图,且默认所有电梯初始状态都为1楼,此时不分奇偶层: ② 我设置了鼠标响应事件,左边上下箭头为当前楼层有人要上或下的按钮,可以用鼠标直接点击响应,点击后要输入有多少人在此楼层等待,示例点击5楼,输入15人,如图所示: ③ 输入完毕后,电梯会根据单双层或全部楼层4个电梯的忙碌状态调度一个电梯过去,第…
这是我在本学期C++课程最后的课程设计报告,源代码将会上传到GitHub上. 一.背景 随着经济的不断发展,越来越多的摩天大楼拔地而起,而电梯作为高层建筑物种的运送人员货物的设备也越来越被广泛使用.电梯的运行是电梯与大楼的各个楼层之间的使用者进行交互的一个过程,对于电梯的模拟,就是对这一交互过程的一个模拟.以本校七教办公楼为例,有着12层楼,配有两部电梯,在每一层楼中还有着可以呼叫电梯的上下两个按钮.本次课程设计使用C++面向对象的程序设计语言来实现对电梯运行的一个模拟,而面向对象的程序设计方法…
"""模拟scrapy调度循环 """from ori_test import pr_typeimport loggingimport timefrom twisted.internet import defer, task, reactorfrom scrapy.utils.reactor import CallLaterOnce log = logging.getLogger(__name__)logger_m = log class Slo…
本单元从电梯调度相关问题层层深入,带领我们学习并运用了了多线程相关的知识. 三次电梯调度依次为单电梯单容量.单电梯可携带.多电梯可携带. 一.我的设计 在第一次作业中,使用了最简单的FIFO调度方法.设计思路大体如下:设计一个容器,在读入到新乘客请求时将之放入容器尾,容器非空时,电梯线程将在自己处于非载客状态时取出容器首元素进行工作,完成此次工作后,检查容器,非空继续工作,否则wait直到容器获得新乘客唤醒电梯或者输入结束从而结束线程. 在第二次作业中,一共有两个线程,分别为电梯线程与乘客申请线…
前一段时间项目需要写一个类似于站内信箱的消息管理的功能,由于对前端不是很熟悉,刚开始不知道怎么做,后来看了网上的方案,现模拟一个非常简单的消息管理. 我们首先看一下最终效果的样式,就是非常简单的一个样子,如下所示: 我这边暂时只写了三个类型的消息,订单.上下架.审核.不同的消息推送过来会显示在不同类型上,消息管理上显示的是三种类型的消息总数量. 好,接下来介绍一下代码.首先是数据库的设计,共有七个字段,分别是一个自增字段id,消息类型type,消息标题title,消息具体内容detail,消息状…
(一)需求分析: 上升,下降,开门,关门: 超过负载以后发出警报,下去乘客: 电梯出现故障后,电梯停止: 电梯楼层的输入框可以同时指定所要到的楼层,也是楼层的显示框: 电梯同时记录多个状态,即为到达多个楼层的信息,然后依次执行(若后按键的乘客所到的目的楼层与电梯的运行方向相同时,按照依次到达的楼层顺序来开关门,而不是按照按键的先后顺序开关门:若后按键的乘客所到的目的楼层与电梯的运行方向相反时,若电梯到达顶层或底层时,则未实现的按键作用消失,需要乘客重新按键): 6.调度算法的基本原则:模拟多人在…
1.jsp页面,使用ajax实现局部刷新 2.servlet接受处理去更新数据库 随后上传…
json-lib-2.3-jdk15.jar commons-beanutils-1.7.0.jar commons-httpclient-3.1.jar commons-lang-2.3.jar commons-logging-1.0.4.jar commons-collections-3.1.jar ezmorph-1.0.3.jar 这些包可以从一下地方下载: http://commons.apache.org/index.html http://json-lib.sourceforge.…
电梯初步版本    经过去实际大楼的调查和一周的学习,初步完成了电梯的制作,但是这个版本的电梯功能并不是很全面,而且界面有待于改善,现在做出了测试版本,稍后进一步跟进新的版本,现在的版本初步完成的是电梯楼层之间上下调度的问题,还有四部电梯之间路程最短的调度,即一个总控控制四部电梯,比较四部电梯哪个电梯距离上电梯者最近,优先调度,还有一部电梯的调度,例如在向上的过程中首先响应向上的楼层,然后再调度其他任务,电梯允许多按钮,并且有颜色变化.其中用到了线程,主要用到了textbox控件,button按…
突然拿到这个问题,蒙了好久,索性走一步,再走一步好了,希望在这天下第一庄里,会看到晴空.   查了好多资料,终于还是整理出一个很草稿的版本,这只能算是我们初步的设计.   四部电梯载重和乘客限制不同,根据题意1层和0层客流量最大,若这两层有外部请求可以采取提前处理的方式.分别给四部电梯标号为0,1,2,3   内部系统中,当电梯内部按下一个楼层按钮时,如果电梯停止或者同方向行驶可以到达的时候,系统把这个楼层设置为要停靠楼层,这里可以使用bool 类型数组beth[i]进行测试(停靠则设为true…
目录 OO Unit2 博客作业 基于度量来分析⾃己的程序结构 复杂度分析 架构分析 改进和重构 发现过的BUG 简化问题 多线程初探 OO Unit2 博客作业 基于度量来分析⾃己的程序结构 自认为自己的架构不算特别复杂,一个电梯类,一个请求队列.代码量也挺少. 复杂度分析 类复杂度: 方法复杂度: 看了idea自带的代码分析,和我原先想的一样.复杂度最高的是电梯类和请求分析类.请求分析类因为要每次更新请求列表,SCAN下一个目的楼层,所以复杂度自然就高.其实我的代码也没有其他东西了. 架构分…
一般在百度搜索框输入关键词时,会弹出一些相关信息提示,方便点选: 页面(search.jsp): <input type="text" name="keyWords" id="keyWords" style="width:200px; height:20px;" /> <input type="button" id="button" value="百度一下&q…
对于Ajax,我们先了解三点(完整的JS代码在后面) 一.Ajax的出现对javascript的影响. Ajax是微软提出的一种允许客户端脚本发送HTTP请求的技术(XMLHTTP),拯救了大多数java程序员讨厌的javascript 二.浏览器兼容性 想使用Ajax得创建一个对象,就是它 new XMLHttpRequest(); 但是,IE的低版本不支持以上这种方式,IE真讨厌..它支持这种方式, new ActiveXObject("Microsoft.XMLHTTP"); 三…
以前挖的坑,早晚要往里掉.基础太薄弱,要恶补.在此程序前,我还对Servlet没有一个清晰的概念:一周时间写好此程序之后,对Servlet的理解清晰许多. 这周一直在恶补Spring,今天正好完成了Spring的每日任务,于是抽空来写一下博客,希望这篇随笔可以帮到各位新手们. 此文章省略了bean,这个很简单,有需要的可以自行创建. 一. 简单介绍 这是一个非常简单的一个程序,功能并不完整,只实现了学生方面的登录和选课操作,但是代码干净.整洁. 主要模块:1. 登录方面写入了MD5密码加密模块:…
简介:搜索框相信大家都不陌生,几乎每天都会在各类网站进行着搜索.有没有注意到,很多的搜索功能,当输入内容时,下面会出现提示.这类提示就叫做搜索框的智能提示,本门课程就为大家介绍如何使用Servlet和Ajax来实现.主要介绍实现原理和代码的前后台实现过程. 项目结构    首先我们需要先导入以上5个jar包,当然也可以选择maven工程导入相关依赖. jar包链接:https://pan.baidu.com/s/1MZATGVtahTiKp-B7GYIKUg 提取码:701k 代码实现 Sear…
一.数据库设计 用户表User 已有的测试数据 二.Java代码编写 Java EE的架构一般分为以下五层: ①.Domain ②.DAO ③.Service ④.Controller ⑤.View 这里的项目结构如下: 使用的环境为:JDK1.8+Servlet3.0+Tomcat8.0 前端统一使用Ajax方式和JSON数据格式向后端发送请求及数据,后端统一返回JSON数据格式的信息 1.Domain层 package domain; import java.util.Date; publi…
三次作业要求简介 特点:目的选层电梯 在电梯的每层入口,都有一个输入装置,让每个乘客输入自己的目的楼层.电梯基于这样的一个目的地选择系统进行调度,将乘客运送到指定的目标楼层. 第一次: 在任意时刻输入一个或多个请求,包括出发层.目的层.乘客的id(每一个乘客有独有的id,且我们设计的系统是直到这个id的) 电梯可以控制谁能出电梯.谁能进电梯 在到达楼层.开门关门.出人进人时输出 第一次作业是单电梯,电梯能够在1-20楼运行 第二次: 初始有3部电梯,可以通过指令增加1-2部电梯 第三次: 有三种…
前言 因为目前基本已经不会再用到servlet+jsp开发项目了,基本都是使用框架来开发:我们常用的框架都是基于servlet来封装的,该阶段只需要了解一下tomcat如何使用,servlet的生命周期和工作流程,几个常用接口:Filter.servlet.servletRequest.servletResponse.HttpSession,HttpSession与Cookie的区别,就能结合前端知识和ajax请求开发web项目了 基础知识 tomcat使用 直接通过域名访问tomcat,只需修…
我们一般使用的都是form表单提交到Servlet来实现前端和后端的交互的.这次我使用的是ajax提交数据,实现登录操作. 首先我们需要的是一套layui模板,这里用到layui的js和css界面. 第一步自己建立数据表,这里只需要username 和password.我使用的是主要使用的是mysql. 这边是我的工程目录,来看一下我的目录结构吧. 这里就主要写一下servlet和前端html的交互. Servlet login.java package com.Serlvet; import…