用到的技术为:javabean-servlet-jsp sqlserver2000 数据库文件在WebRoot的DB文件中!本系统实现了会员注册,会员登录,密码修改,以及会员信息的修改!初步实现了在线订购,订单查询,班次查询以及系统管理--对火车信息的添加等。
操作过程: 首先,应导入到myeclipse中,将该系统发布到tomcat中,并启动tomcat! 接着在360浏览器中输入http://localhost:8080/bookonline/login.jsp 管理员的帐号为:guanliyuan密码为:123456789 用户帐号为:987654321密码为:987654321 当然可以在登录界面中点击注册链接,跳转到注册页面中进行注册(注:只能注册用户的,没有管理员注册!这是该系统中的一个问题)。
登录进去后进入主界面main.jsp中。
在该界面中,可以点击修改用户信息,密码等链接,管理员还可以点击添加火车信息的链接。
当然还可以查看火车信息。
(注:只有在查询后,才能进行订票)。
注:用到的页面 login.jsp——登录界面,可以链接到注册用户的界面。
用admin字段来标识是否为管理员。
其中有一个用户为987654321密码为987654321,另一个为管理员guanliyuan密码为123456789 register.jsp——用户注册页面,默认的所有注册方式为用户,即所有的用户admin为0。
而管理员事先设置好了,即admin为1。
registerfailed.jspregistersuccess.jsp——为注册成功或失败时用到的页面 main.jsp——为系统主页面,在这里可以链接到订票,查询,修改信息,修改密码,管理员添加火车信息等。
该页面用到了专题咨询里面的主框架结构,和部分代码。
queryfailed.jsp——当查询失败时所连接到的界面 addtrain.jsp——管理员添加火车信息时的页面 adderror.jsp——用户点击添加火车信息时产生的错误界面 showticket.jsp——显示火车票信息,此时可以进行订票。
bookfailes.jspbooksuccess.jsp——订票成功或失败时所链接的界面。
view.jsp——浏览火车票信息。
modifyinfo.jsp——修改用户信息,在这里不可能更改密码,以及权限。
passwordmodify.jsp——修改密码!
2024/8/9 18:08:23 2.59MB java 订票 j2ee
1
1、实验目的通过动态优先权算法的模拟加深对进程概念和进程调度过程的理解。
2、实验内容(1)用C语言来实现对N个进程采用动态优先算法的进程调度;
(2)每个用来标识进程的进程控制块 PCB用结构来描述,包括以下字段:进程标识符id进程优先数priority,并规定优先数越大的进程,其优先权越高;
进程已占用的CPU时间cputime ;
进程还需占用的CPU时间alltime,当进程运行完毕时,alltime变为0;
进程的阻塞时间startblock,表示当进程再运行startblock个时间片后,进程将进入阻塞状态;
进程被阻塞的时间blocktime,表示已阻塞的进程再等待blocktime个时间片后,将转换成就绪态进程状态state;
队列指针next,用来将PCB排成队列(3)优先数改变的原则:进程在就绪队列中呆一个时间片,优先数增加1进程每运行一个时间片,优先数减3。
(4)假设在调度前,系统中有5个进程,它们的初始状态如下:ID 0 1 2 3 4PRIORITY 9 38 30 29 0CPUTIME 0 0 0 0 0ALLTIME 3 3 6 3 4STARTBLOCK 2 -1 -1 -1 -1BLOCKTIME 3 0 0 0 0STATE READY READY READY READY READY(5)为了清楚地观察诸进程的调度过程,程序应将每个时间片内的进程的情况显示出来,参照的具体格式如下:
2024/7/31 19:39:55 103KB 动态优先 进程调度 VC++
1
第1讲:2015-01-12(进制01)第2讲:2015-01-13(进制02)第3讲:2015-01-14(数据宽度-逻辑运算03)第4讲:2015-01-15(通用寄存器-内存读写04)第5讲:2015-01-16(内存寻址-堆栈05)第6讲:2015-01-19(EFLAGS寄存器06)第7讲:2015-01-20(JCC)第8讲:2015-01-21(堆栈图)第8讲:2015-01-21(宝马问题)第9讲:2015-01-22(堆栈图2)第10讲:2015-01-23(C语言01_后半段)第10讲:2015-01-23(C语言完整版)第11讲:2015-01-26(C语言02_数据类型)第12讲:2015-01-27(C语言03_数据类型_IF语句)第13讲:2015-01-28(C语言04_IF语句逆向分析上)第14讲:2015-01-28(C语言04_IF语句逆向分析下)第15讲:2015-01-29(C语言04_正向基础)第16讲:2015-01-30(C语言05_循环语句)第17讲:2015-02-02(C语言06_参数_返回值_局部变量_数组反汇编)第18讲:2015-02-02(2015-01-30课后练习)第19讲:2015-02-03(C语言07_多维数组)第20讲:2015-02-03(2015-02-02课后练习)第21讲:2015-02-04(C语言08_结构体)第22讲:2015-02-05(C语言09_字节对齐_结构体数组)第23讲:2015-02-06(C语言10_Switch语句反汇编)第24讲:2015-02-26(C语言11_指针1)第25讲:2015-02-27(C语言11_指针2)第26讲:2015-02-28(C语言11_指针3)第27讲:2015-02-28(C语言11_指针4)第28讲:2015-03-02(C语言11_指针5)第29讲:2015-03-03(C语言11_指针6)第30讲:2015-03-04(C语言11_指针7)第31讲:2015-03-06(C语言11_指针8)第32讲:2015-03-09(位运算)第33讲:2015-03-10(内存分配_文件读写)第34讲:2015-03-11(PE头解析_手动)第35讲:2015-03-12(PE头字段说明)第36讲:2015-03-13(PE节表)第37讲:2015-03-16(FileBuffer转ImageBuffer)第38讲:2015-03-17(代码节空白区添加代码)第39讲:2015-03-18(任意节空白区添加代码)第40讲:2015-03-19(新增节添加代码)第41讲:2015-03-20(扩大节-合并节-数据目录)第42讲:2015-03-23(静态连接库-动态链接库)第43讲:2015-03-24(导出表)第44讲:2015-03-25(重定位表)第45讲:2015-03-26(移动导出表-重定位表)第46讲:2015-03-27(IAT表)第47讲:2015-03-27(导入表)第48讲:2015-03-30(绑定导入表)第49讲:2015-03-31(导入表注入)第50讲:2015-04-01(C++this指针类上)第51讲:2015-04-01(C++this指针类下)第52讲:2015-04-02(C++构造-析构函数继承)第53讲:2015-04-03(C++权限控制)第54讲:2015-04-07(C++虚函数表)第55讲:2015-04-08(C++动态绑定-多态-上)第56讲:2015-04-08(C++动态绑定-多态-下)第57讲:2015-04-09(C++模版)第58讲:2015-04-10(C++引用-友元-运算符重载)第59讲:2015-04-13(C++new-delete-Vector)第60讲:2015-04-14(C++Vector实现)第61讲:2015-04-15(C++链表)第62讲:2015-04-16(C++链表实现)第63讲:2015-04-16(C++二叉树)第64讲:2015-04-17(C++二叉树实现)第65讲:2015-04-20(Win32宽字符)第66讲:2015-04-21(Win32事件-消息-消息处理函数)第67讲:2015-04-22(Win32ESP寻址-定位回调函数-条件断点)第68讲:2015-04-23(Win3
2024/7/27 6:10:04 79B 滴水三期 汇编 C语言 C++
1
(1)创建生产者和消费者线程在Windows2000环境下,创建一个控制台进程,在此进程中创建n个线程来模拟生产者或者消费者。
这些线程的信息由本程序定义的“测试用例文件”中予以指定。
该文件的格式和含义如下:31P32P43C414P25C3124第一行说明程序中设置几个临界区,其余每行分别描述了一个生产者或者消费者线程的信息。
每一行的各字段间用Tab键隔开。
不管是消费者还是生产者,都有一个对应的线程号,即每一行开始字段那个整数。
第二个字段用字母P或者C区分是生产者还是消费者。
第三个字段表示在进入相应线程后,在进行生产和消费动作前的休眠时间,以秒计时;
这样做的目的是可以通过调整这一列参数,控制开始进行生产和消费动作的时间。
如果是代表生产者,则该行只有三个字段。
如果代表消费者,则该行后边还有若干字段,代表要求消费的产品所对应的生产者的线程号。
所以务必确认这些对应的线程号存在并且该线程代表一个生产者。
(2)生产和消费的规则在按照上述要求创建线程进行相应的读写操作时,还需要符合以下要求:①共享缓冲区存在空闲空间时,生产者即可使用共享缓冲区。
②从上边的测试数据文件例子可以看出,某一生产者生产一个产品后,可能不止一个消费者,或者一个消费者多次地请求消费该产品。
此时,只有当所有的消费需求都被满足以后,该产品所在的共享缓冲区才可以被释放,并作为空闲空间允许新的生产者使用。
③每个消费者线程的各个消费需求之间存在先后顺序。
例如上述测试用例文件包含一行信息“5C3l24”,可知这代表一个消费者线程,该线程请求消费1,2,4号生产者线程生产的产品。
而这种消费是有严格顺序的,消费1号线程产品的请求得到满足后才能继续往下请求2号生产者线程的产品。
④要求在每个线程发出读写操作申请、开始读写操作和结束读写操作时分别显示提示信息。
(3)相关基础知识本实验所使用的生产者和消费者模型具有如下特点:本实验的多个缓冲区不是环形循环的,也不要求按顺序访问。
生产者可以把产品放到目前某一个空缓冲区中。
消费者只消费指定生产者的产品。
在测试用例文件中指定了所有的生产和消费的需求,只有当共享缓冲区的数据满足了所有关于它的消费需求后,此共享缓冲区才可以作为空闲空间允许新的生产者使用。
本实验在为生产者分配缓冲区时各生产者间必须互斥,此后各个生产者的具体生产活动可以并发。
而消费者之间只有在对同一产品进行消费时才需要互斥,同时它们在消费过程结束时需要判断该消费对象是否已经消费完毕并清除该产品。
Windows用来实现同步和互斥的实体。
在Windows中,常见的同步对象有:信号量(Semaphore)、互斥量(Mutex)、临界段(CriticalSection)等。
使用这些对象都分为三个步骤,一是创建或者初始化:接着请求该同步对象,随即进入临界区,这一步对应于互斥量的上锁;
最后释放该同步对象,这对应于互斥量的解锁。
这些同步对象在一个线程中创建,在其他线程中都可以使用,从而实现同步互斥。
2024/7/25 19:35:19 1.63MB 多线程同步生产者和消费者问题
1
1)数据库表名命名规范2)所有数据库表的名字用有意义的英文或英文缩写来表示,如:系统参数表的名字为SYSPARM.3)字段命名规范4)所有字段的名字用有意义的英文或英文缩写来表示,如:字段”用户代码”的名字为USERCODE.
2024/7/25 12:34:52 2.3MB 数据库设计
1
mysql多字段删除重复数据保留id最大的.txt
2024/7/12 15:06:55 494B mysql
1
vs2017git成功miyao亲测可行1.注册sshkey本地方生成复制到远端2.远端建立仓库3.在网站上点击sourcetree会自动打开本地sourcetree。
本地先安装好sourcetree,并注册一下4.sourcetree拉取远端文件5.在vs中打开自动可以操作了在线购物商城微信小程序前端和后台源码源码描述:一、源码特点在线购物商城微信小程序前端和后台数据管理系统源码,使用.net开发,测试无Bug,感兴趣的欢迎下载二、微信小程序功能1、会员自动授权登录注册2、产品分类、产品检索、产品筛选、产品详情、3、广告展示、4、购物车6、收货地址7、订单提交微信支付8、订单检索等功能三、后台功能1、后台会员系统:会员列表、会员基本信息,积分明细、余额明细、购物记录、收货地址(在系统设置的频道管理可以开启此功能)2、后台系统设置:导航栏目、分类管理、OAuth设置、支付设置、扩展字段、频道管理、模型管理、站点基本信息等功能设置3、订单管理:在线购物订单查看、发货、确认4、产品管理:分类管理、产品管理、积分产品管理四、注意事项1、开发环境为VisualStudio2010,数据库为SQLServer2008,使用.net4.0开发。
2、管理员登陆名:admin密码:admin8883、默认数据库连接字符串在webconfig配置文件中修改4、DB文件夹中是数据库脚本文件,使用sqlerver工具运行即可5、cmsWeb文件夹里面是api接口后台xcx文件夹是微信小程序DataBase文件夹是数据库文件
2024/7/7 0:14:31 37.4MB 45 43
1
SQlite版本升级,介绍了数据库版本如何升级,包括新增表字段,新增表字段并修改原有字段
2024/7/4 7:55:46 16.07MB SQLite
1
在线电子证书系统功能介绍:证书模板编辑功能,自定义证书生成背景,自定义证书大小,自定义证书内容格式,可生成各种证书格式,添加印章是否在证书上生成手机二维码查询证书批量生成,证书用户数据统计/导入/导出,证书数据可以通过EXCEL一次性批量导入,后期还可进行批量的修改和删除,数据导入时能对省,市,区字段数据进行模糊匹配和校对,可批量导出颁发成功的证书数据,颁发证书可选择生成证书图片文件与不生成文件,证书在管理后台颁发后,用户可以通过证书编号,查询到生成的证书图片,及可在线打印证书。
系统兼容所有浏览器,IE6、IE7、IE8、IE9、Chrome、Firefox、360等浏览器,不必担心出现浏览器兼容导致的使用问题.
1
本工具能够自动生成公共方法中间件验证器模型控制器视图demo的代码及文件。
1、代码基于:ThinkPHP5.1.20+mysql数据库+php72、[模型]模型会根据表来创建,一张表对应一个数据层模型,如果你使用到服务层、逻辑层,也会创建对应的服务层、逻辑层模型根据自己的需求生成。
模型分层是从tp5.0过来的,虽然5.1手册中没有了关于模型分层的介绍,但还是保留了分层,需要自己创建1)服务层模型,带有调用逻辑层的增删改查4个方法2)逻辑层模型,带有调用数据层的常用几个方法3)数据层模型,绑定表和主键,软删除,自动写入时间、一对多,一对一、多对多等关联模型4)当读取到表备注存在“中间表”或“关联表”时,会自动生成中间表模型3、[验证器]选择字段信息后,字段生成相应的验证器代码。
4、[控制器]选择模块后,自动生成控制器文件。
1)控制器带有List、Edit、Add、Del4个方法,逻辑需要自己写2)分层控制器根据需求创建3)资源控制器,创建的方法是对应的7个方法,不是4个5、[视图],目前只有生成表格、表单的代码,生成代码
1
共 508 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡