zoukankan      html  css  js  c++  java
  • Cookie不能保存中文的解决办法

    假设a.jsp是客户端,b.jsp是客户端,c.jsp是服务端

    现在要做的就是客户端在a.jsp页面提交表单信息到服务端c.jsp,c.jsp再将表单信息保存到cookie中,并转发或者重定向到b.jsp客户端,这样就

    达到了我们将服务端生成的cookie保存到客户端的作用,但是中文输入保存cookie时会报错

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.net.URLDecoder"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>客户端a页面</title>
    </head>
    <body>
        <%
            String uname="";
            Cookie[] cookies = request.getCookies();
            if(cookies!=null)
            for(Cookie cookie:cookies){
                if("uname".equals(cookie.getName())){
                    //客户端获取cookie 后 解  码
                    uname= URLDecoder.decode(cookie.getValue(), "UTF-8");
                }
            }
        %>
        <form action="./c.jsp" method="get">
            姓名:<input type="text" name = "uname" value="<%=uname %>"/><br/>
            密码:<input type="password" name="upsd"/><br/>
            <input type="submit" value="提交" />
            <!-- 发送信息到服务端,服务端再用cookie保存返回到客户端 -->
        </form>
            
    </body>
    </html>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>客户端b页面</title>
    </head>
    <body>
        c已经将cookie给我了
    </body>
    </html>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.net.URLEncoder"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>服务端c页面</title>
    </head>
    <body>
        我是c服务端页面,我要保存cookie,然后转发回b客户端页面<br/>
        <%
            request.setCharacterEncoding("UTF-8");
            String name = request.getParameter("uname");
            String psd = request.getParameter("upsd");
            Cookie c1 = new Cookie("uname", URLEncoder.encode(name, "UTF-8"));
            //ck.setPath("/");                  //设置cookie的路径,只有包含这个路径(以这个路径为前缀)的文件才能访问这个cookie
            c1.setMaxAge(Integer.MAX_VALUE);            //设置cookie的最大保存时间
            response.addCookie(c1);
            Cookie c2 = new Cookie("upsd",psd);
            out.print(c1.getName()+"====="+c1.getValue());
            response.addCookie(c1);
            response.addCookie(c2);
            response.sendRedirect("./b.jsp"); 
        %>
    </body>
    </html>
  • 相关阅读:
    NX二次开发-获得制图中对象的坐标点UF_DRF_ask_origin
    string的find("")
    NX二次开发-设置尺寸的附加尺寸UF_DRF_set_appended_text
    NX二次开发-获取尺寸的附加文本UF_DRF_ask_appended_text
    NX二次开发-更改图纸尺寸内容(编辑文本)uc5566
    NX二次开发-获取工程图尺寸的值UF_DRF_ask_dim_info
    MFC进度条
    NX二次开发-对话框解锁UF_UI_unlock_ug_access
    NX二次开发-对话框加锁UF_UI_lock_ug_access
    <转载>深入 理解char * ,char ** ,char a[ ] ,char *a[] 的区别
  • 原文地址:https://www.cnblogs.com/19322li/p/11967966.html
Copyright © 2011-2022 走看看