写了一个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乱码问题相关推荐

  1. python学习笔记分享(四十)网络爬虫(7)反爬虫问题,解决中文乱码,登陆和验证码处理

    网络爬虫深度知识 一.反爬虫问题 (一)反爬虫原因 1.网络爬虫浪费了网站的流量 2.数据是私有资源 3.爬虫协议与原则 (二)反爬虫方式 (三)反反爬虫 1.原理 2.三种方法 二.解决中文乱码 ( ...

  2. java显示html乱码怎么解决方法_Java web解决各种乱码问题

    首先先明白一下Java web里涉及到编码的地方: 1.jsp编码jsp顶部有两处:charset和pageEncoding charset:服务器发往客户端展现时的编码; pageEncoding: ...

  3. 详解Spring MVC请求参数类型,解决中文乱码问题,自定义类型转换器,Spring MVC相关注解

    #SpringMVC SpringMVC请求 简单类型 简单类型包括:基本类型,基本类型的包装类型,字符串 编写Controller @RequestMapping("/param" ...

  4. sqlserver mysql 乱码_SQLServer数据库如何解决中文乱码问题?方法有哪些?

    很多使用数据库的人都知道,在安装SQLServer数据库是,如果设置不当就会出现一些中文乱码.主要原因是,很多人在使用默认安装系统时,一般不会考虑到默认排序的规则是拉丁文的排序规则,只是点击下一步,在 ...

  5. php utf-8读取,PHP读取文件,解决中文乱码UTF-8的方法分析

    PHP读取文件,解决中文乱码UTF-8的方法分析,方法,中文,操作技巧,文本,本文 PHP读取文件,解决中文乱码UTF-8的方法分析 易采站长站,站长之家为您整理了PHP读取文件,解决中文乱码UTF- ...

  6. java txt中文乱码,JAVA读取TXT文件 可解决中文乱码问题

    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...

  7. PHP生成PDF完美支持中文,解决TCPDF乱码

    PHP生成PDF完美支持中文,解决TCPDF乱码 2011-09-26 09:04 418人阅读 评论(0) 收藏 举报 phpfontsheaderttfxhtml文档 PHP生成PDF完美支持中文 ...

  8. AJAX解决中文乱码问题

    一.解决中文乱码问题的方法1:页面端发出的数据作一次encodeURI,如:encodeURI($("#userName").val()                       ...

  9. java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别

    java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别 参考文章: (1)java ...

最新文章

  1. PHP Notice: undefined index 解决方法
  2. UIProgressView的使用
  3. 100斤的铁和100斤女生哪个重?
  4. 【完成发布】Lazy Line Painter – 非常有趣的 jQuery 路径动画插件
  5. Maven配置nexus
  6. 领域应用 | 知识计算,华为云赋能企业知识化转型
  7. ue4 android vulkan,在Android用vulkan完成蓝绿幕扣像
  8. 移动应用开发——作业3
  9. android if else语句,Android一起执行IF和ELSE语句
  10. shell下将查看大文件有多少行
  11. SBI旗下交易所SBI VC Trade推出比特币借贷服务
  12. left join条件放在on和where的区别
  13. sampleFactory(女娲造人)
  14. java redirect 超时_java – Spring Security 3.0重定向到超时的页面
  15. Lifelong learning with dynamically expandable networks - 使用动态可扩展网络的终身学习-不完全记录
  16. IC/FPGA系统设计的速度和面积优化
  17. GitLab 设置为中文版
  18. docker-compose 部署jmeter+grafana+prometheus/influxdb,构建性能测试可视化实时监控(二)...
  19. java语言TAM机程序代码(基础版)
  20. opencv再学习之路(八)---设定感兴趣区域(RIO)

热门文章

  1. 数学建模——多元统计分析例题及程序
  2. 赛博朋克式炼狱:电子垃圾在印度
  3. 赵小楼《天道》《遥远的救世主》深度解析(126)说老实话办老实事,实事求是
  4. 光遇显示服务器已满怎么办,sky光遇服务器已满怎么办_sky光遇服务器已满解决方法介绍-星芒手游网...
  5. 合理利用计算机虚拟内存,合理设置虚拟内存,目前8G内存足够日常使用
  6. 开发利器IntelliJ IDEA—带你体验各种神奇操作
  7. 最新小程序转化app的方法神操作
  8. 面向对象--接口--接口的例题
  9. 基于微信小程序开发的知乎答题王小游戏
  10. components vue 引用 assets图片