JS的encodeURI和java的URLDecoder.decode使用介紹

字號:


    如果不想在url中看到有明文可以使用js的encodeURI的URLDecoder.decode一起使用一起來把url加密下,下面有個不錯的示例,大家不妨參考下
    如果不想在url中看到有明文,比如http://localhost:8080/template_1/login.action?user=張三
    可以使用js的encodeURI的URLDecoder.decode一起使用一起來把url加密下
    (1)JS在頁面上把數據var val = encodeURI(encodeURI("要傳到服務器端的是值")); //調用2次encodeURI
    href="<%=basePath%>recordManager/test_js_decodeURI.action?params="+val
    (2)服務器端這樣
    代碼如下:
    HttpServletRequest request = ServletActionContext.getRequest();
    String vString = request.getParameter("params");
    System.out.println("轉換前:"+vString);
    String deString = URLDecoder.decode(vString, "UTF-8");
    System.out.println("轉換后:"+deString);
    UTF-8是和頁面上的編碼保持一致 比如:jsp頁面上 pageEncoding="UTF-8" 這里就要是UTF-8
    在ie上右鍵編碼就能看到,如果jsp上pageEncoding="UTF-8" ie上右鍵編碼uncode(UTF-8),如果jsp上pageEncoding="GBK",那么 ie上右鍵編碼(簡體中文gb2312)