• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Spring 的優秀工具類盤點,第 2 部分: 特殊字符轉義和方法入參檢測工具類

    發表于:2008-06-26來源:作者:點擊數: 標簽:工具轉義字符Spring檢測
    特殊字符轉義 由于 Web 應用程序需要聯合使用到多種語言,每種語言都包含一些特殊的字符,對于動態語言或標簽式的語言而言,如果需要動態構造語言的內容時,一個我們經常會碰到的問題就是特殊字符轉義的問題。下面是 Web 開發 者最常面對需要轉義的特殊字符

    特殊字符轉義

    由于 Web 應用程序需要聯合使用到多種語言,每種語言都包含一些特殊的字符,對于動態語言或標簽式的語言而言,如果需要動態構造語言的內容時,一個我們經常會碰到的問題就是特殊字符轉義的問題。下面是 Web 開發者最常面對需要轉義的特殊字符類型:

    HTML 特殊字符;
    JavaScript 特殊字符;
    SQL 特殊字符;
    如果不對這些特殊字符進行轉義處理,則不但可能破壞文檔結構,還可以引發潛在的安全問題。Spring 為 HTML 和 JavaScript 特殊字符提供了轉義操作工具類,它們分別是 HtmlUtils 和 JavaScriptUtils。

    HTML 特殊字符轉義

    HTML 中 <,>,& 等字符有特殊含義,它們是 HTML 語言的保留字,因此不能直接使用。使用這些個字符時,應使用它們的轉義序列:

    &:&amp;
    " :&quot;
    < :&lt;
    > :&gt;
    由于 HTML 網頁本身就是一個文本型結構化文檔,如果直接將這些包含了 HTML 特殊字符的內容輸出到網頁中,極有可能破壞整個 HTML 文檔的結構。所以,一般情況下需要對動態數據進行轉義處理,使用轉義序列表示 HTML 特殊字符。下面的 JSP 網頁將一些變量動態輸出到 HTML 網頁中:


    清單 1. 未進行 HTML 特殊字符轉義處理網頁
                   
    <%@ page language="java" contentType="text/html; charset=utf-8"%>
    <%!
       String userName = "</td><tr></table>";
       String address = " \" type=\"button";
     %>
    <table border="1">
       <tr>
         <td>姓名:</td><td><%=userName%></td> ①
       </tr>
       <tr>
         <td>年齡:</td><td>28</td>
       </tr>
    </table>
     <input value="<%=address%>"  type="text" /> ②
     


    在 ① 和 ② 處,我們未經任何轉義處理就直接將變量輸出到 HTML 網頁中,由于這些變量可能包含一些特殊的 HTML 的字符,它們將可能破壞整個 HTML 文檔的結構。我們可以從以上 JSP 頁面的一個具體輸出中了解這一問題:

    <table border="1">

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>