zoukankan      html  css  js  c++  java
  • 各种编码问题产生原因以及解决办法---------响应编码,请求编码,URL编码

     响应编码

    产生原因以及解决办法:

    示例:

     1 package cn.yzu;
     2 import java.io.IOException;
     3 import javax.servlet.ServletException;
     4 import javax.servlet.http.HttpServlet;
     5 import javax.servlet.http.HttpServletRequest;
     6 import javax.servlet.http.HttpServletResponse;
     7 public class AServlet extends HttpServlet {
     8     public void doGet(HttpServletRequest request, HttpServletResponse response)
     9             throws ServletException, IOException {
    10         response.setContentType("text/html;charset=utf-8");
    11         response.getWriter().println("张三");
    12         response.getWriter().println("李四");
    13     }
    14 }
    View Code

     运行截图:

    请求编码

     POST请求:

    GET请求(conf/server.xml):

    示例:

    index.jsp

     1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
     2 <%
     3 String path = request.getContextPath();
     4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
     5 %>
     6 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     7 <html>
     8   <head>
     9     <base href="<%=basePath%>">
    10     <title>My JSP 'index.jsp' starting page</title>
    11     <meta http-equiv="pragma" content="no-cache">
    12     <meta http-equiv="cache-control" content="no-cache">
    13     <meta http-equiv="expires" content="0">    
    14     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    15     <meta http-equiv="description" content="This is my page">
    16   </head>
    17   <body>
    18       <form action="AServlet" method="post">
    19           <input type="text" value="张三" name="zs">
    20           <input type="submit" value="post请求">
    21       </form><hr>
    22       <form action="AServlet" method="get">
    23           <input type="text" value="李四" name="ls">
    24           <input type="submit" value="get请求">
    25       </form>
    26   </body>
    27 </html>
    View Code

     AServlet

     1 package cn.yzu;
     2 import java.io.IOException;
     3 import javax.servlet.ServletException;
     4 import javax.servlet.http.HttpServlet;
     5 import javax.servlet.http.HttpServletRequest;
     6 import javax.servlet.http.HttpServletResponse;
     7 public class AServlet extends HttpServlet {
     8     public void doGet(HttpServletRequest request, HttpServletResponse response)
     9             throws ServletException, IOException {
    10         //处理get请求
    11         System.out.println(request.getParameter("ls"));    //不处理
    12         String name = request.getParameter("ls");        
    13         byte[] b = name.getBytes("iso-8859-1");            //回退
    14         name = new String(b, "utf-8");                    //重编
    15         System.out.println(name);
    16         
    17     }
    18     public void doPost(HttpServletRequest request, HttpServletResponse response)
    19             throws ServletException, IOException {
    20         //处理post请求
    21         request.setCharacterEncoding("utf-8");
    22         String username = request.getParameter("zs");
    23         System.out.println(username);
    24     }
    25 }
    View Code

    页面:

    输出结果:

    URL编码:

    URL编码解码示例:

     1 import java.io.UnsupportedEncodingException;
     2 import java.net.URLDecoder;
     3 import java.net.URLEncoder;
     4 import org.junit.Test;
     5 public class Demo {
     6     @Test
     7     public void fun1() throws UnsupportedEncodingException {
     8         String name = "张三";
     9         String s = URLEncoder.encode(name, "UTF-8");//编码
    10         System.out.println(s);
    11         s = URLDecoder.decode(s, "utf-8");            //解码
    12         System.out.println(s);
    13     }
    14 }
    View Code

    结果:

  • 相关阅读:
    jQuery全屏滚动插件fullPage.js
    通过定位实现子元素相对于父元素上下左右居中
    TermDocs
    IndexWriter
    lucene demo引出的思考
    第一个LUCENE程序
    lucene3.5的查询语法
    更改只读文件属性为正常
    设置WINDOWS2003服务器的允许外界访问端口,远程桌面的端口更改
    Cookie在域中的读写实现顶级域共享
  • 原文地址:https://www.cnblogs.com/fengmingyue/p/5992082.html
Copyright © 2011-2022 走看看