第三次作业 了解session和cookie

文章描述了一位开发者在练习JavaWeb中关于Cookie和Session的管理遇到的问题,包括Cookie如何划分、代码含义、登录验证逻辑以及页面跳转的原理。开发者尝试实现动态验证账号密码,但遇到错误,并讨论了HTML与后端交互时出现的异常情况。

练习session部分 仿照书上95面例题5-9

774c9cdee51e47b2aa1921e1e803eedd.png

87765b24df55450ca8274633f7e544eb.png

57247481a69440cdbbf8efdb042d6956.png

135a183ee8584308863ce65080429262.png

将default中的关键词同步更改为1234之后,对获取信息没有影响


接下来练习cookie管理

仿照书上92面例题5-8并按照作业要求进行一定修改得到初步结果

28fe863fa285485ea82a92c280984dc6.png

index源代码

a17d9566e4fb45df8b61cba8f5dae4d5.png

 index处理结果

 d348dd87f61e4393a32d4adadf63853a.png

 

show源代码

58043ff945ba4dcea6825f52ad1aa5e2.png 

登录跳转后的页面

需要注意的是不可以完全按照书上的代码粘贴 有一些细小的错误比如没有</li> 行间距没有加px 因为没有px行间距太大还以为是代码问题只能显示第一排又耽误半天 一定要多检查 凭借经验多思考

 


问题:

if(cook[i].getName().equals("mrCookInfo")){
          info = cook[i].getValue().split("#");

cook[i]数组是怎么自行划分的?cook标志了什么东西

Cookie myCook = new Cookie("mrCookInfo",name+"#"+account+"#"+password);

上行代码是什么意思?

 response.addCookie(myCook);


再就是考虑作业的其他要求,即问候语句和提示是否非法访问 

想法其实很有限,当看到这两个要求的时候只可以想到和if...else语句还有条件中会验证是否相等有关,但是对于详细的代码还是一头雾水,但是翻到了104面的上机练习有源代码,边抄边想 

3c1cc1c1f6fa48aba936c85ee850b698.png

参照书上的代码,想直接更进一步智能判断账号密码是否正确而不只是固定的账号密码 ,但是失败了 ,上图代码存在问题

1ac51366047343c7932e3573ad2af10a.png

使用固定模板

 

afb5be2d10c6445f9183ace6b8098c09.png    cf5e580b08c141a886b7c0814c08f7a6.png

得到预期结果,当然把index3中的固定提示界面删除了避免冲突


 做到这里的时候我突然意识到一个问题似乎没有太清楚,就是为什么在按下提交之后可以看到预期的结果?

大致了解是因为在表单中强调了action由show.jsp完成,但是具体是什么原理没有很懂


在又想了一下代码之后考虑直接对index中的welcome进行操作,index中做出如下改动 

d65c7fe350f848b4b3d4fc114d8ece56.png

 很可惜的是一旦加上else语句之后html部分中账户文本框一行开始报错,好像不可行

以及在第十八行的您好后面用info[0]在运行后显示的仍然是info[0]本身,但是在第23行另起就可以在运行后自动更换成姓名,原因是什么?


最后就是未能正确跳转提示非法访问,想的是如果实现应该是一旦捕捉到空值就提示,即在name那里捕捉空值就提示

41c82fb76df9449986f5072391ec2663.png

同之前一步的提示没正确输入账号密码一样,一旦加上else后就会提示错误,将其中文字替换成1234之后仍然报错,可以确定的只有不是因为编译不了汉字的原因

本次用时:4小时

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值