servlet学习笔记(二)

本文探讨了使用Servlet实现登录功能的过程及优化方案,包括通过GET和POST方法接收参数的差异,以及通过改进表结构和算法减少僵尸账号的影响。

servlet登陆功能实现与思考

servlet实现登陆功能主要是通过get()方法或者post()方法接收前端页面输入的参数,然后跟数据库中已有的用户数据进行匹配,匹配上则登陆成功,否则失败。
由此,我觉得假如在这个过程中存在优化方案的话肯定是在这个匹配过程中。匹配过程中决定登陆速率的主要在两个方面,一个是匹配算法,另一个是表结构。匹配算法无非几个过程,先读取表的内容,然后通过for语句进行一一比对,实在没有优化的手段。于是我们可以从表结构下手,关于表结构优化方案,我们从主要从清理僵尸号下手。人们在注册账号的时候大多数存在一个现象,就是一时心血来潮注册了账号之后不再登陆,每次匹配要匹配这些账号实在是浪费资源,但我们又不能将其从表中清除,因此我们应该设计一个算法使僵尸账号自动地被放到表尾。
想出来的解决方案有两个,一个是修改数据结构,让用户每次登入之后表中关于该用户的登陆次数字段加一,然后重新进行一次插入排序。另一个是写一个僵尸回收算法,每隔一段时间对僵尸号进行一次清理,把自上次清理后未在登陆过的账号按序排到表尾。


get()方法和post()方法的区别

get()方法和post方法都是http协议上对数据进行操作的方法。主要区别如下:

  • 从名字上看,get()方法主要用于获取数据,post()主要用于向服务器提交数据。此外delete()主要负责删除数据,put()主要负责更改数据。
  • get()所能传递的参数是有限的,而post传递的参数可以说无限的。这主要是受到它们传递参数的方法限制。get()通过表头传递参数,URL的长度进而限制了它传递参数的数量,而post()通过正文传递参数,因此可以是无限的参数。
  • get()方法是不安全的,post方法是安全的。这个主要也受到各自传递参数的方法影响。get()通过URL或cookie传递参数,某种意义上是把参数暴露出来,而post()通过BODY传递则不存在这个问题。
  • get()能够被缓存,被保存为书签,方便传播,而post()不行。这种差异是因为get()方法把参数放进了URL,而post()不是。
  • get()限制Form表单的数据集的值必须为ASCII字符;而post()支持整个ISO10646字符集。
  • get()的执行效率远比post()要高。这也是由于两者提交数据的方式不同造成的。

解决get()和post()乱码问题

解决post()乱码问题相对比较简单,只要通过设置post方法的参数对象request和response的setCharacterEncoding="gbk"即可。其中gbk支持简体和繁体,gb2312只支持简体,而utf-8支持基本所有字体。
解决get()乱码问题相对比较麻烦,要更改tomcat的配置文件。进入tomcat文件夹->conf->server.xml,找到connector标签,在该标签内添加一句语句URIEncoding="gbk"。
造成这两种差异的主要原因是 post()方法是通过正文提交参数,get()是通过报头提交参数,而setCharacterEncoding只能设置正文的编码格式,而不能设置报头的编码格式

提交复选框参数

提交复选框的时候只要让获取参数的变量为数组,然后把多个参数同时获取并保存到数组里即可。获取多个参数的方法为getParameterValues("name")

最后总结一句,我觉得get()post()最主要的区别在于get()是通过报头提交参数,post()是通过正文提交参数,并由此衍生了各自的安全性、传输数据量等的区别

PS:以上为小白的学习笔记,包含很多脑洞的想法,各位客官多多包涵,也希望大家能够多多指教晚辈
【SCI复现】含可再生能源与储能的区域微电网最优运行:应对不确定性的解鲁棒性与非预见性研究(Matlab代码实现)内容概要:本文围绕含可再生能源与储能的区域微电网最优运行展开研究,重点探讨应对不确定性的解鲁棒性与非预见性策略,通过Matlab代码实现SCI论文复现。研究涵盖多阶段鲁棒调度模型、机会约束规划、需求响应机制及储能系统优化配置,结合风电、光伏等可再生能源出力的不确定性建模,提出兼顾系统经济性与鲁棒性的优化运行方案。文中详细展示了模型构建、算法设计(如C&CG算法、大M法)及仿真验证全过程,适用于微电网能量管理、电力系统优化调度等领域的科研与工程实践。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及从事微电网、能源管理相关工作的工程技术人员。; 使用场景及目标:①复现SCI级微电网鲁棒优化研究成果,掌握应对风光负荷不确定性的建模与求解方法;②深入理解两阶段鲁棒优化、分布鲁棒优化、机会约束规划等先进优化方法在能源系统中的实际应用;③为撰写高水平学术论文或开展相关课题研究提供代码参考和技术支持。; 阅读建议:建议读者结合文档提供的Matlab代码逐模块学习,重点关注不确定性建模、鲁棒优化模型构建与求解流程,并尝试在不同场景下调试与扩展代码,以深化对微电网优化运行机制的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值