在javaweb网站中添加记住我的功能
2014-10-25 13:51
281 查看
在前台界面添加如下代码:图片+多选框
创建如下类:
LoginUtils.java
此时再在前台页面添加如下处理方法:
注意:
为了避免保存在cookie中的值出现中文而发生乱码问题,可以用先中文编码再解码的方法。
先在后台如下编码:
再在前台如下解码:
总结:通过本文知道如何解决中文乱码的问题。
其次在本文中知道如何保存cookie和读取cookie的内容,
其中主要设置cookie的路径为项目路径,避免有些页面无法获取cookie的值的问题
<img border="0" src="${pageContext.request.contextPath}/images/remeber.jpg" width="84" height="20"> <input type="checkbox" name="rememberMe" <%=checked %> id="rememberMe" >在后台添加如下代码:
//处理Cookie String name = request.getParameter("name"); String password = request.getParameter("password"); LoginUtils.addCookie(name,password,response,request);
创建如下类:
LoginUtils.java
public class LoginUtils { //加入cookie中 public static void addCookie(String name, String password, HttpServletResponse response, HttpServletRequest request) throws UnsupportedEncodingException { if(StringUtils.isNotBlank(name)&&StringUtils.isNotBlank(password)){ //创建Cookie Cookie nameCookie=new Cookie("name",java.net.URLEncoder.encode(name,"utf-8")); Cookie passwordCookie=new Cookie("password",password); //设置Cookie的父路径 nameCookie.setPath(request.getContextPath()+"/"); passwordCookie.setPath(request.getContextPath()+"/"); //获取是否保存Cookie,复选框被选中,则保存 String rememberMe=request.getParameter("rememberMe"); if(rememberMe==null){//不保存Cookie nameCookie.setMaxAge(0); passwordCookie.setMaxAge(0); }else{ //保存Cookie nameCookie.setMaxAge(7*24*60*60); passwordCookie.setMaxAge(7*24*60*60); } //加入Cookie到响应头 response.addCookie(nameCookie); response.addCookie(passwordCookie); } } }
此时再在前台页面添加如下处理方法:
<% String name=""; String password=""; String checked=""; Cookie[] cookies=request.getCookies(); if(cookies!=null&&cookies.length>0){ for(int i=0;i<cookies.length;i++){ Cookie cookie=cookies[i]; if("name".equals(cookie.getName())){ name=URLDecoder.decode(cookie.getValue(),"utf-8"); //System.out.println("name="+name); checked="checked"; } if("password".equals(cookie.getName())){ password=cookie.getValue(); //System.out.println("password="+password); } } } %>
注意:
为了避免保存在cookie中的值出现中文而发生乱码问题,可以用先中文编码再解码的方法。
先在后台如下编码:
Cookie nameCookie=new Cookie("name",java.net.URLEncoder.encode(name,"utf-8"));
再在前台如下解码:
name=URLDecoder.decode(cookie.getValue(),"utf-8");
总结:通过本文知道如何解决中文乱码的问题。
其次在本文中知道如何保存cookie和读取cookie的内容,
其中主要设置cookie的路径为项目路径,避免有些页面无法获取cookie的值的问题
相关文章推荐
- javaweb网站中添加验证码的功能
- 用compass快速给你的网站添加搜索功能
- 用compass快速给你的网站添加搜索功能
- 网站添加手机短信功能
- 给网站添加定时功能-春假网站自动定时添加Banner
- 编程经验:关于如何在自己的网站或博客添加CNZZ站长统计功能
- 为自己的网站添加RSS功能
- 利用nginx向现有网站添加登录验证功能(不添加修改现有网站代码)
- 为Web网站添加IP过滤功能实践总结(C#)
- 网站记住密码功能
- TogetherJS – 酷!在网站中添加在线实时协作功能
- 用compass快速给你的网站添加搜索功能<二>
- 使用google的translation api 为网站添加翻译功能
- 在个人网站中添加谷歌地图的功能
- 为Web网站添加IP过滤功能实践总结(C#)
- 许多网站都成为灰色,要实现这个功能,只要在css里添加如下即可
- 用compass快速给你的网站添加搜索功能
- 用compass快速给你的网站添加搜索功能<一>
- 用compass快速给你的网站添加搜索功能<二>
- 使用flowplayer给网站添加视频播放功能