为了账号安全,请及时绑定邮箱和手机立即绑定

解码出了问题

<%	 	
	 	request.setCharacterEncoding("utf-8");
	 	//首先判断用户是否选择了记住登录状态
	 	String[] isUserCookies = request.getParameterValues("isUserCookie");
	 	if(isUserCookies != null && isUserCookies.length>0){
	 		//把用户名和密码保存在Cookie对象里面并且进行URL编码
	 		String username = URLEncoder.encode(request.getParameter("username"),"utf-8");
	 		//使用URLEncoder解决无法在Cookie当中保存中文字符串的问题
	 		String password = URLEncoder.encode(request.getParameter("password"),"utf-8");
	 		
	 		Cookie usernameCookie = new Cookie("username",username);
	 		Cookie passwordCookie = new Cookie("password",password);
	 		//设置最大生存期限为10天
	 		usernameCookie.setMaxAge(864000);
	 		passwordCookie.setMaxAge(864000);
	 		response.addCookie(usernameCookie);
	 		response.addCookie(passwordCookie);
	 	}else{
	 		Cookie[] cookies = request.getCookies();
	 		if(cookies != null && cookies.length>0){
	 			for(Cookie c : cookies){
	 				if(c.getName().equals("username") || c.getName().equals("password")){
	 					c.setMaxAge(0); //设置Cookie失效
	 					response.addCookie(c); //重新保存
	 				}
	 			}
	 		}
	 	}
	  %>

<%
    	request.setCharacterEncoding("utf-8");
    	String username = "";
    	String password = "";
    	Cookie[] cookies = request.getCookies();
	 		if(cookies != null && cookies.length>0){
	 			for(Cookie c : cookies){
	 				if(c.getName().equals("username")){
	 					//使用URLDecoder进行解码
	 					username = URLDecoder.decode(c.getValue(),"utf-8");
	 				}
	 				if(c.getName().equals("password")){
	 					password = URLDecoder.decode(c.getValue(),"utf-8");
	 				}
	 			}
	 		}
     %>


正在回答

3 回答

我也是呀,编码解码一支不对,起初我也为用了usebean在cookie里,导致解码编码除了问题,后来改成老师那样,还是不对,但是我把数据写死了以后就可以了,那应该不是解码哪里出了问题,哎,有点头疼

0 回复 有任何疑惑可以回复我~

还是没找到,头痛

0 回复 有任何疑惑可以回复我~
#1

linhbo

看看你浏览器的编码
2017-12-26 回复 有任何疑惑可以回复我~

不知道,你现在解决了没有!代码应该是正确的

<%
	request.setCharacterEncoding("utf-8");
	String[] isUseCookie = request.getParameterValues("isUseCookie");
	if(isUseCookie != null && isUseCookie.length>0){
		String username = URLEncoder.encode(request.getParameter("username"), "utf-8");
		String password = URLEncoder.encode(request.getParameter("password"), "utf-8");
		
		Cookie usernameCookie = new Cookie("username", username);
		Cookie passwordCookie = new Cookie("password", password);
		//设置最大生存期限为10天
		usernameCookie.setMaxAge(864000);
		passwordCookie.setMaxAge(864000);
		response.addCookie(usernameCookie);
		response.addCookie(passwordCookie);
	}else{
		Cookie[] cookies = request.getCookies(); 
		if(cookies != null && cookies.length>0){
			for(Cookie c : cookies){
				if(c.getName().equals("username") || c.getName().equals("password")){
					c.setMaxAge(0);
					response.addCookie(c);
				}
			}
		}
	}
%>
<%
	request.setCharacterEncoding("utf-8");
	String username = "";
	String password = "";
	Cookie[] cookies = request.getCookies(); 
	if(cookies != null && cookies.length>0){
		for(Cookie c : cookies){
			if(c.getName().equals("username")){
				username = URLDecoder.decode(c.getValue(), "utf-8");
			}
			if(c.getName().equals("password")){
				password = URLDecoder.decode(c.getValue(), "utf-8");
			}
		}
	}
%>

你看一下,不知道对你有没有帮助。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JAVA遇见HTML——JSP篇
  • 参与学习       248278    人
  • 解答问题       3071    个

Java Web入门级教程JSP,带你轻松的学习JSP基础知识

进入课程

解码出了问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信