01 2021 档案
摘要:简述 之前我们完成了showAllController的设计,只要访问这个servlet就能看到所有的用户。那么实际情况不是所有人访问都能看到的,我们就要进行一个权限验证,如果登录了就显示对应结果,没有登录则跳转到登录界面,这里用到的就是session存储我们的登录状态。 前期准备 首先我们创建管理
阅读全文
摘要:题意 给出一个长为2n的序列,你需要设定一个数x,每一次你可以选择序列中的两个数a和b,满足a+b等于x,然后将ab从序列中去除,最后将x变为a和b较大的那个数。如果可以把序列全部消空,输出yes和最开始的x,然后输出每一步选择的两个数。否则输出no。 思路 我们可以知道的是每一步的两个数里面一定有
阅读全文
摘要:session概述 session用于记录用户的状态,指的是在一段时间内,单个客户端和web服务器的一连串相关的交互过程。 在一个session中,客户可能会多次请求访问同一个资源,也有可能请求访问各种不同的服务器资源。 session原理 服务器会为每一次会话分配一次session对象(由服务端创
阅读全文
摘要:传送门:http://codeforces.com/contest/1473/problem/C 题意 给定n、k,a数组为1 2 3...k-1,k,k-1,...k-(n-k),要求构造一个长度为k的排列(1到k每个数出现一次),同时b[i]=a[p[i]]。要求b里面的逆序对不多于a里面的逆序
阅读全文
摘要:传送门:http://codeforces.com/contest/1467/problem/D 题意 有1到n共n个点,每个点有权值。给出一个k,你可以任选起点,然后走k步(往左或者往右),每走一步权值会累加,求所有方案数的权值和。并且给出q次对该序列的更新——点i的权值变成x,求出每次更新后该状
阅读全文
摘要:什么是cookie cookie是浏览器访问web服务器的某个资源时,由web服务器在HTTP响应头中附带传送给浏览器的一小段数据 一旦浏览器保存了某个cookie,那么它以后在每次访问该服务器时,都应在http请求头中将这个cookie回传给web服务器(有点像验证,现在把之前访问你时你给的东西给
阅读全文
摘要:现有问题 http协议是无状态的,不能保存每次提交的信息 如果用户发来一个新的请求,服务器无法知道它是否与上一个请求有联系 对于那些需要多次提交数据才能完成的web操作,如查看你当前是否登录,就有问题了 状态管理 状态管理就是将浏览器与服务器之间多次交互当作一个整体来处理,并且将多次交互涉及的数据保
阅读全文
摘要:servlet的线程安全问题 servlet在访问后,会执行实例化操作,创建一个servlet对象,而我们Tomcat容器可以同时多个线程并发访问同一个servlet,如果在方法中对成员变量做修改操作,就会有线程安全问题。 synchronized锁 将存在线程安全问题的代码放在同步代码块里 但如果
阅读全文
摘要:servlet的生命周期 servlet的生命周期一共有四个阶段,实例化、初始化、服务、销毁。 实例化 当用户第一次访问servlet时,由容器调用Servlet的构造器创建具体的servlet对象,也可以在容器启动之后创建实例,通过load-on-startup就可以配置。 初始化 在初始化阶段,
阅读全文
摘要:重定向 重定向作用于客户端,客户端发送请求给服务器后,服务器响应给客户端一个新的请求地址,客户端重新发送新的请求。 我们只需在调用业务逻辑的servlet代码里,response.sendRedirect("目标URI"); 注意,URI是统一资源标识符,用来表示服务器中定位一个资源,是该资源在we
阅读全文
摘要:现有的问题 在之前的案例里,以展示所有用户为例,调用业务逻辑和显示结果页面都在同一个servlet里 这样不符合单一职责原则、各司其职的思想,也不利于后续的维护 解决方法 于是我们把业务逻辑和显示结果相分离 在这个样例里,业务逻辑其实就这两行 现在我们把它们放到ShowAllAdminControl
阅读全文
摘要:传送门:http://codeforces.com/contest/1467/problem/C 题意 给你三个背包(集合),分别有若干个数字,你可以进行任意次操作,每次选出两个不同背包各一个数字a和b,然后把b移除,把a的值变成a-b。要求在若干次操作之后,三个背包剩下唯一一个值,使该值最大。 思
阅读全文
摘要:项目的导入/新建 使用clone 如果你在github等网站上建立好了项目,你可以在gitkraken进行项目clone 我们选择从github上clone,如果配置好github账号的关联的话,可以直接看到可以选择的个人仓库,填好本地工作区放在哪然后确定即可clone 在工作区我们可以看到,已经有
阅读全文
摘要:gitkraken 相信大家用了原生git的命令行之后和我一样渴求着对新手友好的git图形化工具,可能大家听说过github for desktop,source tree等工具,但看见gitkraken的第一眼,我就知道我很长一段时间都会使用gitkraken了,炫酷的界面、人性化的操作外加git
阅读全文
摘要:冲突的产生 试想这样一个场景,你敲了一天的代码,然后git push上传至远程仓库。 这时比你晚下班的同事,在更改了远程仓库的一个文件的内容,这里用更改readme文件举例 但此时,我本地仓库的东西和线上仓库是不一致的。 第二天,上班的时候,我没有做git pull 操作,而是直接修改了本地的对应文
阅读全文
摘要:什么是分支 比如我们要开发一个商城系统,分为很多模块:用户模块、管理员模块、物流模块等。 由不同的开发小组完成开发任务,每个小组做好之后整合在一起,那怎么用git进行版本管理呢? 在每次提交之后,git会把每次的版本串成时间轴,这个时间轴就是一个分支,我们称之为main/master分支。 在实际开
阅读全文
摘要:github仓库的创建 我们登录github,然后点左上角的图标,来到这个页面 然后我们点击start a project,填好仓库名之后,我们可以填写仓库的简介和选择是否需要一个初始的ReadMe文件。 点击创建,我们就可以看到我们现在的仓库里面有什么了,现在只有个readme文件 github远
阅读全文
摘要:版本回退 当你误删了文件或进行了误操作,导致项目损坏时,就可以考虑版本回退(回滚)。 版本回退分为两个步骤,分为:先查看版本,确定需要回退的时刻点;使用指令进行回退; 查看版本号 语法1:git log 语法2:git log --pretty=online、 语法1是展示每次commit的序列号、
阅读全文
摘要:git的三个区域 git操作区有三个部分:repository区、暂存区、工作区。 工作区可以说就是我们的本地项目文件区,我们在这个区编码。 暂存区可以理解为缓存,暂时存储已经修改文件的地方。 repository区就是我们的仓库区了,在这里可以看到我们每一个版本,且对他人可见。 本地仓库 什么是仓
阅读全文
摘要:什么是git git是目前世界上最先进之一的分布式版本控制系统。 用git的好处 最直接的例子就是,学校里要求我们几个同学组成一个团队开发大作业,如果不用git等版本控制系统,我们每次更新项目就是把整个项目文件压缩,然后微信传来传去。备份也是压缩然后起不同的名字,然后传来传去。是真滴烦!最重要的是,
阅读全文