同样的代码,在windows上正常,在linux上得到的code第一次为null,之后每刷新一次验证码,code得到的总是前一次的,怎么回事?? public ActionForward checkLogin(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
// TODO Auto-generated method stub
HttpSession session=request.getSession();
String code=(String)session.getAttribute("code");
log.error(code);
request.setCharacterEncoding("UTF-8");
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-control", "no-cache");
//JavaScript傳輸過來的信息
String name = common.htmlEncoder(common.sciptFilter(common.unescape(common.kill(request.getParameter("name")))));
String password = common.htmlEncoder(common.sciptFilter(common.unescape(common.kill(request.getParameter("password")))));
String password2 = common.htmlEncoder(common.sciptFilter(common.unescape(common.kill(request.getParameter("password2")))));
log.error(password2);
//從jsp中取相應的注冊碼

Account_db account=new Account_db();
boolean flag = account.chkPassword(name, password);


//注冊碼比較是否相同
if(password2.equals(code))
{
if(flag)
{
Record list = account.getUserInfo(name);
String nickname=list.getString("nickname");


session.setAttribute("nickname",nickname);
session.setAttribute("account", name);

response.getWriter().write(nickname+flag); }else{
response.getWriter().write(""+flag);
log.error(flag);
}
}else{
response.getWriter().write(""+false);
}


return null;
}