解决Cookie乱码问题
写了一个cookie的定义和获取,结果我输入中文后,页面报错
报错信息如下:
type Exception reportmessage An exception occurred processing JSP page /demo1/page3.jsp at line 16description The server encountered an internal error that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: An exception occurred processing JSP page /demo1/page3.jsp at line 1613: </form> 14: <% 15: Cookie cookie=new Cookie("message","涓枃"); 16: response.addCookie(cookie); 17: %> 18: </body> 19: </html>Stacktrace:org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:575)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)javax.servlet.http.HttpServlet.service(HttpServlet.java:731)root cause java.lang.IllegalArgumentException: Control character in cookie value or attribute.org.apache.tomcat.util.http.CookieSupport.isHttpSeparator(CookieSupport.java:205)org.apache.tomcat.util.http.CookieSupport.isHttpToken(CookieSupport.java:229)org.apache.tomcat.util.http.ServerCookie.appendCookieValue(ServerCookie.java:185)org.apache.catalina.connector.Response.generateCookieString(Response.java:1054)org.apache.catalina.connector.Response.addCookie(Response.java:996)org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:380)org.apache.jsp.demo1.page3_jsp._jspService(page3_jsp.java:97)org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)javax.servlet.http.HttpServlet.service(HttpServlet.java:731)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
解决方案:cookie也要转码的
定义一个cookie:
1 <%@page import="java.net.URLEncoder"%> 2 <%@ page language="java" contentType="text/html; charset=UTF-8" 3 pageEncoding="UTF-8"%> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 5 <html> 6 <head> 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 8 <title>page3</title> 9 </head> 10 <body> 11 <form action="page3.jsp"> 12 <input type="text" name="text" value=""/> 13 <input type="submit" name="提交"/> 14 </form> 15 <% 16 //转码 17 Cookie cookie=new Cookie("message",URLEncoder.encode("中文", "utf-8")); 18 response.addCookie(cookie); 19 %> 20 </body> 21 </html>
page4.jsp(获取cookie)
1 <%@page import="java.net.URLDecoder"%> 2 <%@page import="java.net.URLEncoder"%> 3 <%@ page language="java" contentType="text/html; charset=UTF-8" 4 pageEncoding="UTF-8"%> 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 6 <html> 7 <head> 8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 9 <title>page4</title> 10 </head> 11 <body> 12 <% 13 String text = request.getParameter("text"); 14 out.print("text------------->"+text); 15 Cookie[] cookies=request.getCookies(); 16 if(cookies!=null){ 17 for(Cookie cookie:cookies){ 18 if(cookie.getName().equals("message")){ 19 //cookie解码 20 out.print("cookie value------>"+URLDecoder.decode(cookie.getValue(), "utf-8")); 21 } 22 } 23 %> 24 25 </body> 26 </html>
解决Cookie乱码问题相关推荐
- python学习笔记分享(四十)网络爬虫(7)反爬虫问题,解决中文乱码,登陆和验证码处理
网络爬虫深度知识 一.反爬虫问题 (一)反爬虫原因 1.网络爬虫浪费了网站的流量 2.数据是私有资源 3.爬虫协议与原则 (二)反爬虫方式 (三)反反爬虫 1.原理 2.三种方法 二.解决中文乱码 ( ...
- java显示html乱码怎么解决方法_Java web解决各种乱码问题
首先先明白一下Java web里涉及到编码的地方: 1.jsp编码jsp顶部有两处:charset和pageEncoding charset:服务器发往客户端展现时的编码; pageEncoding: ...
- 详解Spring MVC请求参数类型,解决中文乱码问题,自定义类型转换器,Spring MVC相关注解
#SpringMVC SpringMVC请求 简单类型 简单类型包括:基本类型,基本类型的包装类型,字符串 编写Controller @RequestMapping("/param" ...
- sqlserver mysql 乱码_SQLServer数据库如何解决中文乱码问题?方法有哪些?
很多使用数据库的人都知道,在安装SQLServer数据库是,如果设置不当就会出现一些中文乱码.主要原因是,很多人在使用默认安装系统时,一般不会考虑到默认排序的规则是拉丁文的排序规则,只是点击下一步,在 ...
- php utf-8读取,PHP读取文件,解决中文乱码UTF-8的方法分析
PHP读取文件,解决中文乱码UTF-8的方法分析,方法,中文,操作技巧,文本,本文 PHP读取文件,解决中文乱码UTF-8的方法分析 易采站长站,站长之家为您整理了PHP读取文件,解决中文乱码UTF- ...
- java txt中文乱码,JAVA读取TXT文件 可解决中文乱码问题
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...
- PHP生成PDF完美支持中文,解决TCPDF乱码
PHP生成PDF完美支持中文,解决TCPDF乱码 2011-09-26 09:04 418人阅读 评论(0) 收藏 举报 phpfontsheaderttfxhtml文档 PHP生成PDF完美支持中文 ...
- AJAX解决中文乱码问题
一.解决中文乱码问题的方法1:页面端发出的数据作一次encodeURI,如:encodeURI($("#userName").val() ...
- java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别
java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别 参考文章: (1)java ...
最新文章
- PHP Notice: undefined index 解决方法
- UIProgressView的使用
- 100斤的铁和100斤女生哪个重?
- 【完成发布】Lazy Line Painter – 非常有趣的 jQuery 路径动画插件
- Maven配置nexus
- 领域应用 | 知识计算,华为云赋能企业知识化转型
- ue4 android vulkan,在Android用vulkan完成蓝绿幕扣像
- 移动应用开发——作业3
- android if else语句,Android一起执行IF和ELSE语句
- shell下将查看大文件有多少行
- SBI旗下交易所SBI VC Trade推出比特币借贷服务
- left join条件放在on和where的区别
- sampleFactory(女娲造人)
- java redirect 超时_java – Spring Security 3.0重定向到超时的页面
- Lifelong learning with dynamically expandable networks - 使用动态可扩展网络的终身学习-不完全记录
- IC/FPGA系统设计的速度和面积优化
- GitLab 设置为中文版
- docker-compose 部署jmeter+grafana+prometheus/influxdb,构建性能测试可视化实时监控(二)...
- java语言TAM机程序代码(基础版)
- opencv再学习之路(八)---设定感兴趣区域(RIO)
热门文章
- 数学建模——多元统计分析例题及程序
- 赛博朋克式炼狱:电子垃圾在印度
- 赵小楼《天道》《遥远的救世主》深度解析(126)说老实话办老实事,实事求是
- 光遇显示服务器已满怎么办,sky光遇服务器已满怎么办_sky光遇服务器已满解决方法介绍-星芒手游网...
- 合理利用计算机虚拟内存,合理设置虚拟内存,目前8G内存足够日常使用
- 开发利器IntelliJ IDEA—带你体验各种神奇操作
- 最新小程序转化app的方法神操作
- 面向对象--接口--接口的例题
- 基于微信小程序开发的知乎答题王小游戏
- components vue 引用 assets图片