request.getParameter()与session.getAttribute()类型比较
来源:互联网 发布:数据挖掘关联规则算法 编辑:程序博客网 时间:2024/06/05 20:25
作为一个Java EE初学者,在给网站添加验证码时,遇到了一个问题,经过几番尝试发现了其中的缘由。
1、问题的提出
编程中验证码类产生的随机数我将其事先存在Session中,接下来在另一个页面中按照验证码图片提示输入验证码中的数字、字母组合。这样以来在登录检验的时候,request.getParameter()与session.getAttribute()中的内容就要做比较。
接下来请大家注意
2、问题的介绍
request.getParameter()中获得的类型是String类型的。
session.getAttribute()中获得的并不是String类型,而是Object类型。
所以这就需要进行类型转换:
String yzm1=request.getParameter("yzm");
String yzm2=(String)session.getAttribute("random");
System.out.println(yzm1);
System.out.println(yzm2);
if(!yzm1.equals(yzm2))
response.sendRedirect("default.jsp");
else if(uid==null||request.getParameter("password")==null){
response.sendRedirect("default.jsp");
}else{
。。。
。。。 注意上面的第二句语句,使用的是(String)类型强转,在接下来的两条输出语句中,输出的内容是完全一致的。但是奇怪的是在
登录的时候一直进入不了系统,一直在default.jsp页面中。即上表代码中的红色字体代码一直被认为是true。yzm1与yzm2的值居然不一样。
3、问题的解决
yzm1与yzm2的长度测试过时一样的,被输出流输出的时候是一样的,这只能说明它们是类型不一样,即session.getAttribute()的类型没有被转换成String类型。
1)方法一:因为此处session中的这个属性值一定不是null,所以可以使用toString()方法。
即:String yzm2=session.getAttribute("random").toString();
2)方法二:还可以使用String.valueOf(Object)方法。
即:String yzm2=String.valueOf(session.getAttribute("random"));
使用上面两种方法的一种酒可以解决。不过最好使用第二种。关于类型转换的详细介绍上一篇日志介绍的很清楚。
- request.getParameter()与session.getAttribute()类型比较
- request.getParameter与request.getAttribute()
- request.getParameter与request.getAttribute()
- request.getParameter()与request.getAttribute()
- request.getParameter与request.getAttribute()
- getAttribute与getParameter比较
- session.getAttribute(request.getParameter)\session超时
- request.getParameter() 、request.getAttribute() 和 session.getAttribute区别
- request.setAttribute()、session.setAttribute()和request.getParameter()、request.getAttribute()的联系与区别
- request.getAttribute 与 request.getParameter 的区别
- Servlet request.getParameter()与request.getAttribute()
- request.getAttribute 与 request.getParameter 的区别
- request.getAttribute()与request.getParameter() 方法区别
- request.getAttribute与request.getParameter的区别
- request.getParameter与request.getAttribute的区别
- request.getAttribute与request.getParameter的区别
- request.getAttribute()与request.getParameter()区别
- request.getAttribute与request.getParameter的区别
- 负载均衡
- 埋藏
- Servlet映射规则和Servlet的映射URL冲突时匹配原则
- QFont
- activemq 常见问题
- request.getParameter()与session.getAttribute()类型比较
- 数据结构各种排序算法及其java程序实现
- OpenMP编程指南
- UML建模之用例图
- GEOM7004 Assignment 2 Question 1
- 攻击SharePoint
- linux下开源电子设计软件
- prototype用法总结
- 七夕,你拿什么拯救你的爱人?