session取验证码问题,同一用户为什么有两个session
 为什么我登录的时候输入验证码和产生的验证码不匹配,打印了一下session发现生成验证码的session和登录时获取的session不是一个,一个用户不是应该只有一个session吗,求解
# 产生验证码的session
// 将图像输出到客户端
           ServletOutputStream sos = response.getOutputStream();
           ByteArrayOutputStream baos = new ByteArrayOutputStream();
           ImageIO.write(image, "JPEG", baos);
           byte[] buffer = baos.toByteArray();
           response.setContentLength(buffer.length);
           sos.write(buffer);
           baos.close();
           sos.close();
           // 将验证码放到 session 中
           session.setAttribute("checkCode", new String(rands));
           System.out.println("1"+session);


## 验证时的session
private String name;
    private String password;
    private String checkcode;
    private String check;
    private HttpServletRequest request;
    private HttpSession session;

    public LoginAction() {

        request =ServletActionContext.getRequest();
        session = request.getSession();
    }
    public String execute() throws Exception {
        String checkcode1=(String)session.getAttribute("checkCode");
        System.out.println("2"+session);

这两个打印出来的session不同,求解怎么办



2个回答

你怎么验证的?同一个浏览器sessionid一样的,自己看下是不是和这个问题相似

http://bbs.csdn.net/topics/392094757

session出现两个,说明你是创建了两个session对象,好好找找代码的细节之处把

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
thinkphp session 取不到验证码
//查询验证码rn function checklogin()rn $data=$_SESSION['verifyCode'];rn echo $data;rn rn //生成验证码rn public function verify()rn rn import("@.ORG.Image");rn $image=new Image();rn $image->buildImageVerify(6, 5);rn rn rn验证码生成了,但是控制器里面session就是取不到验证码rn static function showAdvVerify($type='png', $width=180, $height=40, $verifyName='verifyCode') rn $rand = range('a', 'z');rn shuffle($rand);rn $verifyCode = array_slice($rand, 0, 10);rn $letter = implode(" ", $verifyCode);rn $_SESSION[$verifyName] = $verifyCode;rn略。。。。。。。
验证码的问题,无法取当前的session值
在生成随机数后,设置为rnSession["RandomNumber"] = 产生的数字rnrn然后我在登陆界面取Session["RandomNumber"]的值,取得的只是上一次产生的数字。rnrn很疑惑,到底怎么回事?rn
Session学习---Session池、验证码
本篇博客知识点1.演示request、session、application(ServletContext)的生命周期 2.Session池的工作原理 3.网页验证码演示request、session、application(ServletContext)的生命周期 主要思路: 在SaveServlet中 设置三个容器的name属性,分别赋值。再写个超链接个GetServlet中去读取出来,输
session存储验证码问题
用户在登录的时候,公司的登录界面随机取得的验证码为什么不存储在seesion里面,等登录成功在从seesion除去不就好了,想不通。而是存放在数据库字段里面,验证码验证完后并且从把数据库存放这行验证码数据删除,感觉好复杂呀,像不通,并且我在代码里面页看到了用session,可就是给它注释了,请问这样不用session有什么好处吗?
session验证码问题
同一个页面,在上面调用验证码文件生成了验证码存入session变量 code中,rn在页面下面调用session("code") 为什么总是上次生成的验证码,而不是当前新生成的?
验证码的Session问题!!
dCheck.aspx为验证码图片页rndReg.aspx为验证码执行页rn问题:先执行dReg.aspx 点击button比较输入的和生成的验证码, rn就会出现错误提示,说是缺少对象.rnrn如果先执行dCheck.aspx 在执行dReg.aspx则没有问题rnrn创建验证码图片的页面dCheck.aspx 它的后台cs文件代码如下:rnrn private void Page_Load(object sender, System.EventArgs e)rn rn // 在此处放置用户代码以初始化页面rn //RndNum是一个自定义函数rn string VNum=RndNum(4); //这里的数字4代表显示的是4位的验证字符串!rn Session["VNum"]=VNum;rn ValidateCode(VNum);rn rnrn #region Web 窗体设计器生成的代码rn override protected void OnInit(EventArgs e)rn rn //rn // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。rn //rn InitializeComponent();rn base.OnInit(e);rn rn rn /// rn /// 设计器支持所需的方法 - 不要使用代码编辑器修改rn /// 此方法的内容。rn /// rn private void InitializeComponent()rn rn this.Load += new System.EventHandler(this.Page_Load);rnrn rn #endregionrnrn //生成图像函数rn private void ValidateCode(string VNum) rn rn int Gheight=(int)(VNum.Length * 11.5);rn //gheight为图片宽度,根据字符长度自动更改图片宽度rn System.Drawing.Bitmap Img = new System.Drawing.Bitmap(Gheight,20);rn Graphics g = Graphics.FromImage(Img);rn g.DrawString(VNum,new System.Drawing.Font("Arial",10),new System.Drawing.SolidBrush(Color.Red),3,3); rn //在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y) rn System.IO.MemoryStream ms=new System.IO.MemoryStream();rn Img.Save(ms,System.Drawing.Imaging.ImageFormat.Png); rn Response.ClearContent(); //需要输出图象信息 要修改HTTP头 rn Response.ContentType="image/Png";rn Response.BinaryWrite(ms.ToArray());rn g.Dispose();rn Img.Dispose(); rn Response.End();rn rnrn //生成随机数函数中从Vchar数组中随机抽取rn //字母区分大小写rn public string RndNum(int VcodeNum) rn rn string Vchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,X,Y,Z" ;rn rn string[] VcArray = Vchar.Split(',') ;rn string VNum = "" ;//由于字符串很短,就不用StringBuilder了rn int temp = -1 ;//记录上次随机数值,尽量避免生产几个一样的随机数rnrn //采用一个简单的算法以保证生成随机数的不同rn Random rand =new Random();rn for ( int i = 1 ; i < VcodeNum+1 ; i++ ) rn rn if ( temp != -1) rn rn rand =new Random(i*temp*unchecked((int)DateTime.Now.Ticks));rn rn //int t = rand.Next(35) ;rn int t=rand.Next(35);rn if (temp != -1 && temp == t) rn rn return RndNum( VcodeNum );rn rn temp = t ;rn VNum += VcArray[t];rnrn rn return VNum ;rn rn
session保存验证码的问题
我在code页面生成验证码的原字符 保存到session中 从另一个页面调用 怎么会是空呢? 奇怪rnrncode 的源程序rnrnrn rnrn从另一个页面调用$_SESSION["code"] 居然为空? 为什么
验证码问题session出问题了。。。。。。
[img=https://img-bbs.csdn.net/upload/201402/16/1392559817_705870.jpg][/img]rn[img=https://img-bbs.csdn.net/upload/201402/16/1392559836_338860.jpg][/img][img=https://img-bbs.csdn.net/upload/201402/16/1392559857_47223.jpg][/img][img=https://img-bbs.csdn.net/upload/201402/16/1392559873_276108.jpg][/img]rn每次点击验证码时,验证码改变,但是下面的rn不会改变,只有当整个页面F5刷新时,才会改变rn且显示的都是上一次的验证码?这是什么原因?查了好久都不知道什么原因。。求解释??
验证码的session问题
http://bbs.csdn.net/topics/391829648 对应下载
关于验证码及Session的问题
验证码使用session关联图片上的字母.rn为什么我在程序中得到的session值总比图片的字母慢一拍.?rn求助!
关于Session 验证码的问题
前些时候做网站的时候需要一个注册界面,用到了图片验证码。为了省点事,直接调用了现成的webservice(呵呵,这里跟大家分享下这个提供服务的网站,http://www.webxml.com.cn/WebServices/ValidateCodeWebService.asmx)。rn从网上看的资料,建立一个ValidatePic.aspx的页,专门用来输出图片,页面的后台代码如下:rn[code=C#]rn protected void Page_Load(object sender, EventArgs e)rn rn MyRandom mr = new MyRandom();rn string valStr = mr.RandNum(4);rn Session["validateSn"] = valStr;//这里有问题??!!rn cn.com.webxml.www.ValidateCodeWebService wr = new cn.com.webxml.www.ValidateCodeWebService();rn byte[] bytesBmp = wr.enValidateByte(valStr);rn Response.BinaryWrite(bytesBmp);rn Response.End();rn rn[/code]rn然后,在注册界面上的一个img中引用这个图片,即:rn[code=HTML]rn rn[/code]rn验证时,rn[code=C#]rnif (validateStr == Session["validateSn"].ToString())rn[/code]rnrn现在,问题是:当我第一次打开vs2008时,运行这个程序,会出现“未将对象设置引用的问题”。以后就OK了。查了些资料,貌似刚开始Session["validateSn"]没有实例化。可是明明我在Page_Load中写了Session["validateSn"] = valStr;这不是实例化吗?再说,只有第一次不可以,图形验证码也已经出现了。
!!session和验证码问题
公司有一个老站点是通过输入一个员工号来查询信息 原理是通过form表单 POST数据得到人员信息 (但源码已经无法得到了,验证码应该是用Session验证的)rn代码如下:rn rn rn 员工号rn rn rn rn rn rn rnrnrn现在我要做一个新站点 需要引用老页面的查询,验证码还是从老地址取rn但是我要把查询的结果去除一些相关的信息 所以自己做了查询页面search.aspx 这个页面就是后台模拟POST数据(也就是向老页面http://www.test11.com/abc.jsp 发送POST数据然后得到结果),再把得到的值加以处理然后显示rn代码如下:rnrn rn rn 员工号rn rn rn rn rn rn rnrnrnsearch.aspx的代码如下:rnEncoding encoding = Encoding.GetEncoding("UTF-8");rnbyte[] Data = encoding.GetBytes([color=#993300]"idno=123456"[/color]);rnrnHttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create([color=#993300]"http://www.test11.com/abc.jsp"[/color]);rnmyRequest.Method = "POST";rnmyRequest.ContentType = "application/x-www-form-urlencoded";rnmyRequest.ContentLength = Data.Length;rnrnStream Out = myRequest.GetRequestStream();rnOut.Write(Data, 0, Data.Length);rnOut.Close();rnHttpWebResponse MyResponse = (HttpWebResponse)myRequest.GetResponse();rnStream InStream = MyResponse.GetResponseStream();rnStreamReader read = new StreamReader(InStream, encoding);rnreturn read.ReadToEnd();rnrn问题是不知道怎么把验证码的Session信息传递给老的页面, 如果不加验证码就无法得到老页面的查询信息rn请大家指点!多谢
关于验证码session的问题
1.ValiCode.java(生成验证码图片并且存入session的Servlet)rn2.WebServlet,java(表单提交的Servlet)rn问题:第一步Servlel存入session的时候把变量存进去 但是WebServlet却取不到数据 为nullrn测试过 直到第一个Servlet的末尾 还是能取到刚创建的Servlet 但是换了一个Servlet就一直取不到rn下面贴图[img=https://img-bbs.csdn.net/upload/201711/28/1511879821_239208.png][/img][img=https://img-bbs.csdn.net/upload/201711/28/1511879825_954499.png][/img]
SESSION和验证码的奇怪问题
服务器安装的是apachernrn网站是用ThinkPHP框架开发的,自带的验证码图片rnrn会员注册页面,用到了验证码,html页面:rnrnrnrn注册时,程序判断验证码图片的代码:rnrnif($_SESSION['verify'] != md5($_POST['verify']))rn exit('验证码错误!');rnrn程序应该是没有问题的,因为我在本机测试和服务器上测试是正常的rnrn可是今天有个人说注册时,明明验证码输入是对的,结果提示:验证码错误!rnrn他说用IE和FF浏览器都不行……rnrn我自己上去测试注册了新会员可以,其他也有其他人注册会员,同样成功。rnrn不知道像我这种情况,是哪里出了问题?rnrn我怀疑是不是web环境:apache+php出了问题?
验证码session 的问题
在第一次显示验证码的时候,session正常,点击后,session 和图片的数字,0半秒左右后就不一致了。rn很奇怪的问题rn调用rnrnrn验证码文件rnrnusing System;rnusing System.Collections.Generic;rnusing System.Linq;rnusing System.Web;rnusing System.Web.SessionState;rnusing System.Text;rnusing System.Drawing;rnusing System.Drawing.Imaging;rnusing System.Runtime.InteropServices;rnrnnamespace PicManage.incrnrn /// rn /// $codebehindclassname$ 的摘要说明rn /// rn public class code : IHttpHandler,IRequiresSessionState rn rn private const double PI = 3.1415926535897932384626433832795;rn private const double PI2 = 6.283185307179586476925286766559;rnrn #region 验证码长度(默认4个验证码的长度)rn int length = 4;rn public int Lengthrn rn get return length; rn set length = value; rn rn #endregionrnrn #region 验证码字体大小(为了显示扭曲效果,默认14像素,可以自行修改)rn int fontSize = 14;rn public int FontSizern rn get return fontSize; rn set fontSize = value; rn rn #endregionrnrn #region 边框补(默认1像素)rn int padding = 1;rn public int Paddingrn rn get return padding; rn set padding = value; rn rn #endregionrnrn #region 是否输出燥点(默认输出)rn bool chaos = true;rn public bool Chaosrn rn get return chaos; rn set chaos = value; rn rn #endregionrnrn #region 输出燥点的颜色(默认灰色)rn Color chaosColor = Color.LightGray;rn public Color ChaosColorrn rn get return chaosColor; rn set chaosColor = value; rn rn #endregionrnrn #region 自定义背景色(默认白色)rn Color backgroundColor = Color.White;rn public Color BackgroundColorrn rn get return backgroundColor; rn set backgroundColor = value; rn rn #endregionrnrn #region 自定义随机颜色数组rn Color[] colors = Color.Black, Color.Red, Color.DarkBlue, Color.Green, Color.Orange, Color.Brown, Color.DarkCyan, Color.Purple ;rn public Color[] Colorsrn rn get return colors; rn set colors = value; rn rn #endregionrnrn #region 自定义字体数组rn string[] fonts = "Arial", "Georgia" ;rn public string[] Fontsrn rn get return fonts; rn set fonts = value; rn rn #endregionrnrn #region 自定义随机码字符串序列(使用逗号分隔)rn string codeSerial = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";rn public string CodeSerialrn rn get return codeSerial; rn set codeSerial = value; rn rn #endregionrnrnrn public void ProcessRequest(HttpContext context)rn rn context.Session.Timeout = 20;rn string code = CreateVerifyCode(4);rn context.Session.Remove(code);rn context.Session.Add("code",code);rn CreateImageOnPage(code, context);rn rn rnrnrn public string CreateVerifyCode(int codeLen)rn rn if (codeLen == 0)rn rn codeLen = Length;rn rnrn string[] arr = CodeSerial.Split(',');rnrn string code = "";rnrn int randValue = -1;rnrn Random rand = new Random(unchecked((int)DateTime.Now.Ticks));rnrn for (int i = 0; i < codeLen; i++)rn rn randValue = rand.Next(0, arr.Length - 1);rn code += arr[randValue];rn rn return code;rn rnrn rnrn /// rn /// 生成校验码图片rn /// rn /// rn /// rn public Bitmap CreateImageCode(string code)rn rn int fSize = FontSize;rn int fWidth = fSize + Padding;rnrn int imageWidth = (int)(code.Length * fWidth) + 20 + Padding * 2;rn int imageHeight = fSize +10;rnrn System.Drawing.Bitmap image = new System.Drawing.Bitmap(imageWidth, imageHeight);rnrn Graphics g = Graphics.FromImage(image);rnrn g.Clear(BackgroundColor);rnrn Random rand = new Random();rnrn //给背景添加随机生成的燥点rn if (this.Chaos)rn rnrn Pen pen = new Pen(ChaosColor, 0);rn int c = Length * 10;rnrn for (int i = 0; i < c; i++)rn rn int x = rand.Next(image.Width);rn int y = rand.Next(image.Height);rnrn g.DrawRectangle(pen, x, y, 1, 1);rn rn rnrn int left = 0, top = 0, top1 = 1, top2 = 1;rnrn int n1 = (imageHeight - FontSize - Padding * 2);rn int n2 = n1 / 4;rn top1 = n2;rn top2 = n2 * 2;rnrn Font f;rn Brush b;rnrn int cindex, findex;rnrn //随机字体和颜色的验证码字符rn for (int i = 0; i < code.Length; i++)rn rn cindex = rand.Next(Colors.Length - 1);rn findex = rand.Next(Fonts.Length - 1);rnrn f = new System.Drawing.Font(Fonts[findex], fSize, System.Drawing.FontStyle.Bold);rn b = new System.Drawing.SolidBrush(Colors[cindex]);rnrn if (i % 2 == 1)rn rn top = top2;rn rn elsern rn top = top1;rn rnrn left = i * fWidth;rnrn g.DrawString(code.Substring(i, 1), f, b, left, top);rn rnrn //画一个边框 边框颜色为Color.Gainsbororn g.DrawRectangle(new Pen(Color.Gainsboro, 0), 0, 0, image.Width - 1, image.Height - 1);rn g.Dispose();rnrn //产生波形rn int phase = (int)PI2 * 100;rn image = TwistImage(image, true, 3, new Random().Next(0, phase) , 0.3f );rnrn return image;rn rnrn /// rn /// 正弦曲线Wave扭曲图片rn /// rn /// 图片路径rn /// 如果扭曲则选择为Truern /// 波形的幅度倍数,越大扭曲的程度越高,一般为3rn /// 波形的起始相位,取值区间[0-2*PI)rn /// rn public System.Drawing.Bitmap TwistImage(Bitmap srcBmp, bool bXDir, double dMultValue, double dPhase, float times)rn rn int w = srcBmp.Width;rn int h = srcBmp.Height;rn System.Drawing.Bitmap destBmp = new Bitmap(w, h, PixelFormat.Format24bppRgb);rnrn // 将位图背景填充为白色rn using (System.Drawing.Graphics graph = System.Drawing.Graphics.FromImage(destBmp))rn rn graph.Clear(Color.White);rn rnrn double dBaseAxisLen = bXDir ? (double)h : (double)w;rn BitmapData destData = destBmp.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.WriteOnly, destBmp.PixelFormat);rn BitmapData srcData = srcBmp.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadOnly, srcBmp.PixelFormat);rn byte[] rgbValues = new byte[3];rn for (int i = 0; i < w; i++)rn rn for (int j = 0; j < h; j++)rn rn double dx = 0;rn dx = bXDir ? (PI2 * (double)j * times) / dBaseAxisLen : (PI2 * (double)i * times) / dBaseAxisLen;rn dx += dPhase;rn double dy = Math.Sin(dx);rnrn // 取得当前点的颜色rn int nOldX = 0, nOldY = 0;rn nOldX = bXDir ? i + (int)(dy * dMultValue) : i;rn nOldY = bXDir ? j : j + (int)(dy * dMultValue);rnrn if (nOldX >= 0 && nOldX < wrn && nOldY >= 0 && nOldY < h)rn rn Marshal.Copy((IntPtr)((int)srcData.Scan0 + ((j * srcData.Stride) + (i * 3))), rgbValues, 0, 3);rn Marshal.Copy(rgbValues, 0, (IntPtr)((int)destData.Scan0 + ((nOldY * destData.Stride) + (nOldX * 3))), 3);rn rn rn rn destBmp.UnlockBits(destData);rn srcBmp.UnlockBits(srcData);rn if (srcBmp != null)rn srcBmp.Dispose();rn return destBmp;rn rnrnrn public void CreateImageOnPage(string code, HttpContext context)rn rn System.IO.MemoryStream ms = new System.IO.MemoryStream();rn Bitmap image = this.CreateImageCode(code);rnrn image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);rnrn context.Response.ClearContent();rn context.Response.ContentType = "image/png";rn context.Response.BinaryWrite(ms.GetBuffer());rnrn ms.Close();rn ms = null;rn image.Dispose();rn image = null;rnrn context.Response.End();rn rn public bool IsReusablern rn getrn rn return false;rn rn rn rnrn
为什么取不了session的值?
情况是这样的:rnfile:a.asprn<%session("value")="取不了值"%>rn取不了值?rnfile:b.asprn<%rn dim valuern value=session("value")rn response.write(value)'输出为空,不知点解?rn%>
为什么取不到session的值!
一、service层代码:rn//根据dao 和bean 层来的;上面两层没问题rn//查询全部rn public List getDepts()rn //做为测试使用rn List list=new ArrayList();rn list.add(new Dept(10,"开发部","北京"));rn list.add(new Dept(20,"测试部","上海"));rn list.add(new Dept(30,"客户部","深圳"));rn list.add(new Dept(40,"销售部","西安"));rn return list;rn rn二、在action层中取到service的方法rn private DeptService deptService=new DeptService();rn public void doGet(HttpServletRequest request, HttpServletResponse response)rn throws ServletException, IOException rn //获取用户提交的请求,确定调用逻辑层的方法rn List depts=deptService.getDepts();rn //封装数据到访问范围内rn HttpSession session=request.getSession();rn session.setAttribute("depts",depts);rn rn //跳转页面rn response.sendRedirect("dept.jsp");rn rn三、jsp页面:rn<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"rn%>rn<%@ page import="com.cc.bean.Dept" %>rn<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>rnrnrn rn My JSP 'dept.jsp' starting pagern rn rn我是页面rn rn $d.deptno| $d.dname| $d.loc rn rn rn rn rnrnrn四、页面:http://localhost:8080/JSTL/dept.jsp, 什么都没传过来
取session值的问题
我编了如下代码,但是不知道为什么textbox1为什么取不到session的值啊?rnDim str2 As Stringrn Dim user As Objectrn SqlConnection1.Open()rn str2 = "select * from mima where xingming='" & name.Text & "'"rn Dim sqlcmd = New SqlClient.SqlCommand(str2, SqlConnection1)rn Dim dr As SqlClient.SqlDataReader = sqlcmd.ExecuteReaderrn While (dr.Read())rnrn rn If Trim(password.Text) = Trim(dr(1)) Thenrnrnrn ' Response.Write(" ")rn Response.Redirect("汽车衡统计查询系统.aspx")rn Session("User") = 1rn TextBox1.Text = Session("User")rn Else : Response.Write(" ")rn End Ifrn End Whilernrn dr.Close()rn SqlConnection1.Close()rn
struts2.0取session的问题
我在action中做了如下定义:rnprivate Map session;rn并存了个bean对象rnsession.set(name,bean);rn我取的时候 :this.bean = (强制转换)session.get(name);却得不到值。。。 得到的bean是NULL.请问是怎么回事呢?
FreeMarker取Session问题
这次项目中用Freemarker框架,取Session报错.报session未定义.rn main.ftl中代码:rn     <#if session.currentUser?exists>                      <#include "/control/con_login1.html">                         <#else>                              <#include "/control/con_login.html">      rn con_login1.ftl中代码:rn <#if Session["currentUser"]?exists> <#assign currentUser = Session["currentUser"]>                                                                                             src="/huigou/images/huigou/touxiang.gif" />                                  欢迎光临会购                                         手机号:$currentUser.mobile?if_exists                                         <#if currentUser.petname?exists>                                                 昵称:$currentUser.petname?if_exists                     <#else>                         昵称: $currentUser.username?if_exists                                                                                                         src="/huigou/huigou/images/gerenzhongxin.gif"                             width="67" height="19" border="0" />                                                                           src="/huigou/huigou/images/gif-0545.gif"                             width="57" height="18" border="0" />                                                     rn con_login中代码:rn                                                             账号:                                                                         密码:                                                                                                                                                                            src="/huigou/huigou/images/index_denglu.gif"                                 width="73" height="23" border="0" />                                                     href="/huigou/c/user.shtml?method=toreg">                                src="/huigou/huigou/images/index_zhuche.gif"                                 width="73" height="23" border="0" />                                         卡用户密码"5higo.com"                                         rn 运行时就报错:rn Expression Session is undefined on line 128, column 54 in main.ftl. The problematic instruction: ---------- ==> if-else  [on line 128, column 49 in main.ftl] ---------- Java backtrace for programmers: ---------- freemarker.core.InvalidReferenceException: Expression Session is undefined on line 128, column 54 in main.ftl.     at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)     at freemarker.core.DynamicKeyName._getAsTemplateModel(DynamicKeyName.java:75)     at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)     at freemarker.core.BuiltIn$existsBI._getAsTemplateModel(BuiltIn.java:636)     at freemarker.core.BuiltIn$existsBI.isTrue(BuiltIn.java:647)     at freemarker.core.IfBlock.accept(IfBlock.java:80)
奇怪的session问题,为什么有时session的值取不到???
我作了个单据管理系统,在登录成功时把session设定好,可有时session的值却取不到。有时又是正常的。老是要弹几次你未登录后才能完全正常工作rn我用的resin3.0,语句分别是:rn<% session.setAttribute("right","true"); %>rn我判断时用的是:rn<%rn String rit="";rn if(session.getAttribute("right")!=null)rn rit=(String)session.getAttribute("right");rn if(!rit.equals("true"))//判断是否已经登录rn rn %>rn rn <%rn rn%>rn我以前用session.putValue(),session.getValue()也同样有这个问题。rnsession.putValue(),session.setAttribute()又有什么区别呢?
session验证码值到页面取不到
severlet能取到值,到页面就取不到了,session默认30分钟,肯定没过期啊,值也存进去了,rn servlet中:request.getSession().setAttribut("validateCode",randomCode.toString()); rn System.out.println(session.getAttribute("validateCode")+"vvvvvvvv");rn 到这里能打印出来的rnjsp:中: $sessionScope.validateCode 为nullrn跪求高手指点,不胜感激!!
同一数据库返回同一session
NULL 博文链接:https://manboye.iteye.com/blog/1769249
同一用户的两次请求session居然不一样?
有一个页面,上面有两个链接,分别链接到servlet两个不同的方法,这两个方法都打印request.getSession().getId();然后我发现居然两次打印的id是不一样?这是为什么呢?session到底要怎么理解?rn
同一tomcat 下的两个应用共享 Session (SSO)
http://www.verydemo.com/demo_c199_i2915.html http://wenku.baidu.com/view/ea593c1a650e52ea5518981b.html http://blog.china.com.cn/dengshucai/art/485885.html  (集群) http://www.linuxidc.com/Linux/2011...
用户的登录存session和取session对象等等
//这个是Spring Mvc的方法类写法 @RequestMapping("/siteinformation") public ModelAndView siteinformation(HttpSession session,String username,String pwd,MyNews mynews){//传入几个参数 ModelAndView mv=new Mode...
Session用户混乱的问题
本人在asp.net2.0开发测试过程中碰到一个怪问题? 希望哪位高手帮忙解决?rn用Session记录用户的登录状态的ID如Session["User"] = ID;rn当用户少时取出的string ID=Session["User"].Tostring(); 就正确,而用户多时,Session["User"]可能得到其它用户的值,即当A用户登录时Session["User"]的值为1,B用户登录时Session["User"]的值为2, 当多个用户登录时,A用户登录进去取Session["User"]的值可能为2或3也有可能是其它值.我改用cookie,保存用户状态时,也发现同样的问题,且问题更严重. 希望哪位高手帮忙解决?
session用户的问题
/// rn /// 当前用户,检查Sessionrn /// rn protected UserInfo CurrentUserInforn rn //从Session中取用户信息。rn getrn rn if(Session["UserInfo"] == null)rn rn UserInfo user = new UserInfo();rn user.ID = "";rn user.Name = "";rn user.Role="";rn user.DeptName = "";rn user.Creator = "";rnrn return user;rn rn UserInfo userInfo = (UserInfo)Session["UserInfo"];rnrn return userInfo;rn rn rnrn问题:上面的代码中,Session前面的(UserInfo)应是强类型定义把?那Session是数组吗?和UserInfo怎样的关系?rn哪位大侠帮解答下,谢谢,
tomcat同一会话两个request的session不相同
用extjs提交表单(servlet处理)之后使用ajax定时访问另一servlet,提交表单后会在session里设置一个属性,但是ajax访问始终读不到值,经过debug发现两个request的session不一致,请问是什么导致的,谢谢。
session 用户问题
现在做了个在线用户管理,麻烦的是:管理员登陆后可以对在线用户进行踢出,rn我用HttpSessionBindingListener实现其它功能,用application来保存在线用户,rn但是我老大的意思是"踢出在线用户"就是让被选中的用户session清空.rn网上查了很久,有说用jsessionid来取session,但是又有说这个方法已经被取消了,因为安全机制问题.rn又有说在线不会那么精确rn不知道大家有什么办法来实现?或者这个想法是有问题的n[b]问题补充:[/b]n哈哈解决了,用application存放用户id和对应的session, 要踢出哪个用户,直接根据用户id取得对应session,然后invalidate(),就是选中的用户失效!
两个web应用的session问题!!!
我在一个web应用A的页面中,嵌入另一个应用B,B的session时间比A的session的时间短。我希望在B的session到期的同时,A的主页面显示“会话到期”让重新登陆,这个如何实现呢?
关于session的两个问题!
1.session.timeout 是不是所有的用户共用的。能不能每个用户有不同的值?rn2.session_onend 事件的处理代码中还能不能取得session变量的值?
关于session的两个问题
第一个问题:我如何销毁一个指定的sessionrn第二个问题:我如何重新设置一个已经存在的session的值,如果我有这样的一个程序:ArrayList al=new ArrayList();session.setAttribute("1407",al);那么我能否通过改变al的值来改变session1407的值也就是使用add或是remove来动态改变这个session的值。
两个关于Session的问题
1、在webservice里有没有什么好的方法管理session??rn2、session("AA")是不是属于session.AA.count()一个子对像?(我是想来统计当前的在线人数的和在线人的用户名的)rnrn
关于Session的两个问题。
为什么在多个Frame的时候,有时Session信息会得不到?rnrn新弹出的窗口怎么样才能和原来是一样的Session?
两个Session的问题
我的程序里面,登陆窗口进去之后,我发现有两个session,我确信登陆窗口我的CN连接已经dispose过了.这是怎么回事?会不会有影响?我担心连接太多的时候,把session占满了.rnrn进到主窗口之后,我试着故意几分钟都不操作,然后两个session就都消失了.我再操作一下,这时候确实只有一个session了.rn也就是说,感觉好象是登陆窗口的那个session,和主窗口的session,(主窗口一显示的时候也有数据库连接操作),在短时间内同时存在.好象并没有dispose掉一样,但我中断调试过之后,确定CN.close和CN.dispose都是走过的.rnrn不知道会不会有问题?
javaweb用户验证码登录session例子
javaweb中用到的用户密码验证码一体的登录例子,主要是利用session原理的例子。
问个关于验证码与Session的问题
要是我随机生成的数字放在Session中作为我的验证码的话rn请问Session是存在服务器还是在本地上面的rn要是在服务器上面的话rn一有人进来rn不是刷新了rn原先进来的验证码就不对了rn所以上来问一下
session会话读取验证码的问题
我在页面上用导入验证码页面rn验证页面用了session存储session.setAttribute("logonrand", sRand);存储验证码,rn然后我在主页面提交到action中时候,无法读取到验证码,是null值rnrn我在验证码页面直接打印输出是没有问题地,在本地访问也是没有问题地,挂在外网上访问,验证码就会失效!
php验证码类 session问题
[code=PHP]rnwidht = $widht;rn $this->height = $height;rn $this->codenum = $codenum;rn rn function showcode()rn rn $this->createcode();//创建画布rn $this->createstring();//创建字符串rn $this->createimage();//生成图像rn rn private function createcode()//创建画布rn rn $this->image = imagecreate($this->widht,$this->height);rn $backcolor = imagecolorallocate($this->image,255,255,255);//如需改变背景色请设置这里的RGBrn imagefill($this->image,0,0,$backcolor);rn if($this->bg == true)rn rn $bg = imagecolorallocate($this->image,221,221,221);rn for($i = 0; $i < $this->widht / 2;$i++)//画竖线底纹rn rn imageline($this->image,$i*2,0,$i*2,$this->height,$bg);rn rn for($i = 0;$i < $this->height / 3;$i++)//画横向底纹rn rn imageline($this->image,0,$i*3,$this->widht,$i*3,$bg);rn rn rn rn rn private function createstring()//在画布写入字符串rn rn $string = $this->codestring();rn session_start();rn $_SESSION["vericode"] = $string;rn for($i = 0;$i < $this->codenum;$i++)rn rn if($this->randttf == true)rn rn $ttf = 'ttfs/t'.rand(1,9).'.ttf';//随机字体 请保证 ttfs文件夹 在同一目录里中,如改变路径请改变此路径rn elsern rn $ttf = 'ttfs/t1.ttf';//9中字体请自己常识,只需要修改t4中数字 1 - 9看看到每种字体的效果,选择自己喜欢的 注:请关掉随机字体测试rn rn $fontsize = rand(14,15);//产生随机字体大小rn $fontangle = rand(-10,10);//字符倾斜角度 随即倾斜rn $x = $i*12+4; rn $y =rand($fontsize,$this->height-8);rn if($this->randcolor == true)rn rn $textcolor = imagecolorallocate($this->image,rand(0,180),rand(0,180),rand(0,180));rn elsern rn $textcolor = imagecolorallocate($this->image,0,0,0);rn rn imagettftext($this->image,$fontsize,$fontangle,$x,$y,$textcolor,$ttf,$string[$i]); rn rn rn private function codestring()//生成随机字符串rn rn $string = '';rn for($i=0;$i < $this->codenum;$i++)rn rn $num = rand(1,1);rn /*rn * 如果想是单一的格式,请参考:rn *rn * 只要需要数字rn *rn * 把上边的 $num = rand(1,3) 改成 $num = rand(2,2)rn * rn * 只需要小写字母rn *rn * 把上边的 $num = rand(1,3) 改成 $num = rand(3,3)rn *rn * 只需要大写字母rn *rn * 把上边的 $num = rand(1,3) 改成 $num = rand(1,1)rn *rn * 只需要 小写字母 和 数字rn *rn * 把上边的 $num = rand(1,3) 改成 $num = rand(3,2)rn *rn */rn switch($num)rn rn case 1:rn $num2 = rand(65,90); //随机产生小写字母 a - z 所对应的ASCII码的值rn break;rn case 2:rn $num2 = rand(51,57); //随机产生数字 2 9 所对应的ASCII码的值 如果是rand(48,57):0-9将有0 这样不利于用户判断rn break;rn case 3:rn $num2 = rand(97,122); //随机产生大写字母 A - Z 所对应的ASCII码的值rn break;rn rnrn /*rn *为用用户着想去除了 0 o I i 1 z Z 2rn *rn */rnrn if($num2 == 111 || $num == 105 || $num == 122 || $num2 == 79 || $num2 == 73 || $num == 90)//如果是大写字母中的O,I用P代替rn rn $num2 = 112;rnrn rn $tmp = sprintf("%c",$num2); //用sprintf函数来得到产生ASCII码所对应的字符rn $string .=$tmp;rn rn return $string;rn rn private function createimage()//生成图像rn rn if(function_exists("imagegif"))rn rn header("Content-type:image/gif");rn imagegif($this->image);rn elseif(function_exists("imagejpeg"))rn rn header("Content-type:image/jpeg");rn imagejpeg($this->image,"",50);//50为图像的品质,0-100 0质量最差,图像文件越小 100质量最好,图像文件越大rn elseif(function_exists("imagepng"))rn rn header("Content-type:image/png");rn imagepng($this->image);rn elseif(function_exists("imagewbmp"))rn rn header("Content-type:image/vnd.wap.wbmp");rn imagewbmp($this->image);rn elsern rn die('服务器不支持图像,请检查GD库');rn rn rnrn function __destruct()rn rn imagedestroy($this->image);rn rn rn rn?>rn[/code]rn上边的是验证码类rnrn下边是用来测试页面rnrn[code=PHP]showcode();rn if(strtoupper($_GET["code"]) != $_SESSION["vericode"] )rn rn echo '验证码输入错误';rn elsern rn echo '验证码正确';rn rnrn?>[/code]rn我在类中已经讲 验证码字符串赋值给了 $_SESSION['vericode'] 但是我在页面测试的时候获取不到 打印session数组也无结果 求解 rn
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件