解决jsp参数传递乱码的问题 广州疯狂JAVA

  计算机生于美国,英语是他的母语,而英语以外的其它语言对他来说都是外语。他跟我们一样,不管外语掌握到什么程度,也不会像母语那样使用得那么好,时常也会出一些"拼写错误"问题。
    
    乱码的出现根本原因在于编码和解码使用了不同的编码方案。比如用GBK编码的文件,用UTF-8去解码结果肯定都是火星文。所以要解决这个问题,中心思想就在于使用统一的编码方案。
   
    jsp页面间的参数传递有以下几种方式:1、表单(form)的提交。2、直接使用URL后接参数的形式(超级链接)。3、如果两个jsp页面在两个不同的窗口中,并且这两个窗口是父子的关系,子窗口中的jsp也可以使用javascript和DOM(window.opener.XXX.value)来取得父窗口中的jsp的输入元素的值。下面就前两种方式中出现的乱码问题做一下剖析。
   
    1、表单(form)的提交实现参数页面间的传递
   
    在介绍表单传递参数的内容之前,先来了解一些预备知识。表单的提交方式和请求报文中对汉字的处理。
   
    表单的提交方式:
   
    通常使用的表单的提交方式主要是:post和get两种。两者的区别在于:post方式是把数据内容放在请求的数据正文部分,没有长度的限制;get方式则是把数据内容直接跟在请求的头部的URL后面,有长度的限制。下面是同一个页面两种方式的请求报许文。
   
    Requesttest.jsp代码
   
    1.<%@ page language="java" contentType="text/html; charset=UTF-8"
   
    2.    pageEncoding="UTF-8"%>
   
    3.<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   
    4.<html>
   
    5.<head>
   
    6.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   
    7.<title>Insert title here</title>
   
    8.</head>
   
    9.<body>
   
    10.<%-- post方式提交表单 --%>
   
    11.<form action="http://localhost:8888/EncodingTest/requestresult.jsp" method="post">
   
    12.    UserName:<input type="text" name="username"/>
   
    13.    Password:<input type="password" name="password"/>
   
    14.    <input type="submit" value="Submit">
   
    15.</form>
   
    16.</body>
   
    17.</html>
   
    <%@ 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> <body> <%-- post方式提交表单 --%> <form action="http://localhost:8888/EncodingTest/requestresult.jsp" method="post"> UserName:<input type="text" name="username"/> Password:<input type="password" name="password"/> <input type="submit" value="Submit"> </form> </body> </html>

你可能感兴趣的:(jsp,元素,的)