zoukankan      html  css  js  c++  java
  • cookie乱码处理 示例

    package com.log;
    
    import java.io.IOException;
    import java.net.URLEncoder;
    import java.util.ArrayList;
    import java.util.Enumeration;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    /**
     * Servlet implementation class LoginServlet
     */
    @WebServlet("/LoginServlet.do")
    public class LoginServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public LoginServlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, 
    
    HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse 
    
    response) throws ServletException, IOException {
           //首先设置响应和请求页面的编码格式:
            request.setCharacterEncoding("utf-8");
            response.setCharacterEncoding("utf-8");
            response.setContentType("text/html charset='utf-8'");
           //获取表单控件的数据
            Enumeration<String> nameEnu = request.getParameterNames();
            //创建list对象
            List<Object> list = new ArrayList<>();
            while(nameEnu.hasMoreElements())
            {
                   list.add(request.getParameter(nameEnu.nextElement()));
            }
            //把数据放在session对象
            HttpSession session = request.getSession();
            if(list.size()>0){
            session.setAttribute("uName", list.get(0));
            }
            
            //第二种方式,通过Cookie保存用户信息
            Cookie cook1 = new Cookie("userName", URLEncoder.encode
    
    (list.get(0).toString(),"utf-8"));
            cook1.setMaxAge(3*3600);
            response.addCookie(cook1);
            
    //        request.getRequestDispatcher("/main.jsp").forward(request, 
    
    response);
            response.sendRedirect(request.getContextPath()+"/welcome.jsp");
            
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, 
    
    HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse 
    
    response) throws ServletException, IOException {
            doGet(request, response);
        }
    
    }
    
    接受页面:
    
    <%@page import="java.net.URLDecoder"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    
    <%
      session.setAttribute("uName", "你好");
      System.out.print(session.getId());
    %>
    
    <%
       //获取cookie对象 
      Cookie[] getCooks = request.getCookies();
      String user = null;
      if(getCooks.length > 0)
      {
          user = getCooks[0].getValue();
          user = URLDecoder.decode(user, "utf-8");
      }
    %>
    
    <body>
      <%=session.getAttribute("uName") %>已进入主页!
      <%=user%>
      
      <button onclick="location.href='main.jsp?u1=<%=user %>'" type="button">跳转传
    
    参</button>
    </body>
    </html>
  • 相关阅读:
    STM32 GPIO 配置之ODR, BSRR, BRR 详解
    Understanding the STM32F0's GPIO
    STM32F4 External interrupts
    Calculate CAN bit timing parameters -- STM32
    禁用SQL Server Management Studio的IntelliSense
    SQL Server 2016中In-Memory OLTP继CTP3之后的新改进
    一张图解释SQL Server集群、镜像、复制、日志传送
    SQL Server出现错误: 4014
    SQL Server 2016五大优势挖掘企业用户数据价值
    SQL Server 2008, 2008 R2, 2012 and 2014 完全支持TLS1.2加密传输
  • 原文地址:https://www.cnblogs.com/waarp/p/7236003.html
Copyright © 2011-2022 走看看