我的漫漫程序之旅

专注于JavaWeb开发
随笔 - 39, 文章 - 310, 评论 - 411, 引用 - 0
数据加载中……

Java对Cookie的操作

public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
        LazyValidatorForm userForm 
= (LazyValidatorForm) form;
        log.info(
"UserAction:验证用户登录");
        
//得到用户名和密码
        String username = (String) userForm.get("username");
        String password 
= (String) userForm.get("password");
        Map
<String,Object> userMap = new HashMap<String,Object>();
        userMap.put(
"userName", username);
        userMap.put(
"userPassword", password);
        
//设置Cookie
        int cookieDate = Integer.parseInt(userForm.get("cookieDate").toString());
        
if(cookieDate != 0)
        
{
            Cookie cookie1 
= new Cookie("username",username);
            Cookie cookie2 
= new Cookie("password",password);
            
if(cookieDate == 1)
            
{
                
//一天
                cookie1.setMaxAge(60 * 60 * 24);
                cookie2.setMaxAge(
60 * 60 * 24);
            }

            
if(cookieDate == 2)
            
{
                
//一个月
                cookie1.setMaxAge(60 * 60 * 24 * 31);
                cookie2.setMaxAge(
60 * 60 * 24 * 31);
            }

            
if(cookieDate == 3)
            
{
                
//一年
                cookie1.setMaxAge(60 * 60 * 24 * 365);
                cookie2.setMaxAge(
60 * 60 * 24 * 365);
            }

            
//把捕获来的cookies添加到响应里
            response.addCookie(cookie1);
            response.addCookie(cookie2);
        }

        User user 
= null
        
//验证用户名和密码
        if(userManager.createCriteria(Restrictions.allEq(userMap)).list().size() > 0)
        
{
            log.info(
"UserAction:登录成功");
            user 
= (User) userManager.createCriteria(Restrictions.allEq(userMap)).list().get(0);
            request.getSession().setAttribute(
"user", user);
            
return mapping.findForward("success");
        }

        
else
        
{
            
this.saveMessage(request, "login.error""用户名或密码错误");
            log.info(
"UserAction:登录失败");
            request.setAttribute(
"error","username or password is wrong");
            
return mapping.getInputForward();
        }

        
    }
登录前的跳转:
/**
     * 登录前的跳转
     * 
@param mapping
     * 
@param form
     * 
@param request
     * 
@param response
     * 
@return
     
*/

    
public ActionForward forwardlogin(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
        log.info(
"UserAction:登录前的跳转,Cookie处理");
        
//取出cookies
        Cookie[] cookies = request.getCookies();
        String username 
= null;
        String password 
= null;
        
if(cookies.length != 0)
        
{
            
for(int i = 0; i < cookies.length; i ++)
            
{
                
//根据key取出值
                if(cookies[i].getName().equals("username"))
                
{
                    username 
= cookies[i].getValue();
                }

                
if(cookies[i].getName().equals("password"))
                
{
                    password 
= cookies[i].getValue();
                }

            }

        }

        request.setAttribute(
"username", username);
        request.setAttribute(
"password", password);
        
return mapping.findForward("login");
    }

前台:
<form action="${ctx}/user.do?method=login" method="post" onsubmit="return check();">
                
<table cellpadding=0 cellspacing=0 border=0 width=98%
                    
bgcolor=#0099cc align=center>
                    
<tr>
                        
<td>
                            
<table cellpadding=6 cellspacing=1 border=0 width=100%>

                                
<tr>
                                    
<td bgcolor=#99ccff valign=middle colspan=2 align=center>
                                        
<!-- 判断用户名或密码是否错误 -->
                                        
<logic:empty name="error" scope="request">
                                            
<font color="green"><b>请输入您的用户名、密码登陆</b></font>
                                        
</logic:empty>
                                        
<logic:notEmpty name="error" scope="request">
                                            
<bean:message key="login.error"/>
                                        
</logic:notEmpty>
                                    
</td>
                                
</tr>
                                
<tr>
                                    
<td bgcolor=#f2f8ff valign=middle>
                                        请输入您的用户名
                                    
</td>
                                    
<td bgcolor=#f2f8ff valign=middle>
                                        
<INPUT value="${requestScope.username}" name="username" type=text id="username" onblur="return check();">
                                        
&nbsp;
                                        
<href="${ctx}/main/common/reg.jsp">没有注册?</a>
                                    
</td>
                                    
<!-- 用户名错误提示信息 -->
                                    
<td id="username_info" style="color:red;position: absolute;left:550px;top:235px;"></td>
                                
</tr>
                                
<tr>
                                    
<td bgcolor=#f2f8ff valign=middle>
                                        请输入您的密码
                                    
</td>
                                    
<td bgcolor=#f2f8ff valign=middle>
                                        
<INPUT value="${requestScope.password}" name="password" type=password id="password" onblur="return check();">
                                        
&nbsp;
                                        
<href="lostpass.jsp">忘记密码?</a>
                                    
</td>
                                    
<!-- 密码错误提示信息 -->
                                    
<td id="password_info" style="color:red;position: absolute;left:550px;top:270px;"></td>
                                
</tr>
                                
<tr>
                                    
<td bgcolor=#f2f8ff valign=top width=30%>
                                        
<b>Cookie 选项</b>
                                        
<BR>
                                        请选择您的Cookie保存时间
<br>
                                        下次访问可以方便输入
<br><br />
                                        
<href="#" onclick="clearCookie();" style="color:green;">清空Cookies</a>
                                        
<div id="cookie_info" style="color:maroon;position: absolute;left:100px;top:360px;"></div>
                                    
</td>
                                    
<td bgcolor=#f2f8ff valign=middle>
                                        
<input type="radio" id="cookieDate" name="cookieDate" value="0" checked>
                                        不保存,关闭浏览器就失效
                                        
<br>
                                        
<input type="radio" id="cookieDate"  name="cookieDate" value="1">
                                        保存一天
                                        
<br>
                                        
<input type="radio" id="cookieDate"  name="cookieDate" value="2">
                                        保存一月
                                        
<br>
                                        
<input type="radio" id="cookieDate" name="cookieDate" value="3">
                                        保存一年
                                        
<br>
                                    
</td>
                                
</tr>
                                
<input type=hidden name=comeURL
                                    
value="#" />
                                
<tr>
                                    
<td bgcolor=#99ccff valign=middle colspan=2 align=center>
                                        
<input type=submit name="submit" value="登 陆">
                                    
</td>
                                
</tr>
                            
</table>
                        
</td>
                    
</tr>
                
</table>
            
</form>


posted on 2008-01-23 18:16 々上善若水々 阅读(2709) 评论(0)  编辑  收藏 所属分类: JavaWeb


只有注册用户登录后才能发表评论。


网站导航: