为什么在http请求中替换了像&,+这样的特殊字符

时间:2013-12-08 06:44:31

标签: jsp encoding httprequest decoding

<form action="param.jsp">
        <table>
            <tr>
                <td>First Name :</td>
                <td><input type="text" name="firstName"></td>
            </tr>       
            <tr>
                <td>Last Name :</td>
                <td><input type="text" name="lastName"></td>
            </tr>
            <tr>
                <td>Select languages that you have worked with:
                </td>
                <td>
                    <select name="languages" size="7"  id="lang" multiple="multiple" onchange="validateSelection();">
                    <option value="Ada">Ada</option>
                    <option value="C">C</option>
                    <option value="C++">C++</option>
                    <option value="Sun&">C++</option>
                    <option value="cobol$">Cobol</option>
                    <option value="java%">java</option>
                    <option value="php)">Php</option>
                    <option value="Objective-C">Objective-C</option>
                    <option value=".net">.Net</option>
                    </select>
                </td>
            </tr>
        </table>
    <p><input type="submit" value="Finish survey"/></p>
    </form>

正如您所看到的,它是一种简单的形式,我的问题是 当我试图获得c ++,Sun&amp; ,我的param.jsp中的cobol $值 我注意到在具有http请求的浏览器的地址栏中,诸如C ++的参数值被替换为C%2B%2B和 太阳和放大器;被替换为Sun%26 请让我知道为什么会这样。

1 个答案:

答案 0 :(得分:0)

通读链接 http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

要在网址中指定的字符数量有限。另请参阅网址规范。