Java获取完整URL

 /** *//**
      * 格式化中文字符,防止出现乱码
      * @param str
      * @return
     */
    public   String codeToString(String str) {
         String strString = str;
        try {
            byte tempB[] = strString.getBytes("ISO-8859-1");
             strString = new String(tempB);
            return strString;
         } catch (Exception e) {
            return strString;
         }
     }
    
    /** *//**
      * 获取完整的Url
      * @param request
      * @return
      * @throws Exception
     */
    public String getBackUrl(javax.servlet.http.HttpServletRequest request) throws Exception {
         String strBackUrl = "";    
        try {
         strBackUrl = "http://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + request.getServletPath() + "?" + this.codeToString(request.getQueryString());    
         strBackUrl = java.net.URLEncoder.encode(strBackUrl,"gbk");
         } catch(Exception e) {
            throw e;
         }
        return strBackUrl;
     }