JSP 获取URL 附带参数

获取当前浏览器的URL:

<%  String  url  =  "http://"  +  request.getServerName()  +  ":"  +  request.getServerPort()  +  request.getContextPath()+request.getServletPath().substring(0,request.getServletPath().lastIndexOf("/")+1);  
   if(request.getQueryString()!=null)   
   url+="?"+request.getQueryString();  
   pageContext.setAttribute("currenturl",url);
   System.out.println("_+_+__+_+_+_+_+_+++++"+url);
   url = null;
%>

 

获取服务器实际访问的URL:

<%  String url=request.getScheme()+"://";   
   url+=request.getHeader("host");   
   url+=request.getRequestURI();   
   if(request.getQueryString()!=null)   
   url+="?"+request.getQueryString();  
   pageContext.setAttribute("currenturl",url);
   System.out.println("_+_+__+_+_+_+_+_+++++"+url);
   url = null;
%>

 

HttpServletRequest req

       System.out.println("地址Url是:"+req.getRequestURL());
        System.out.println("地址Url后所带的参数是:"+req.getQueryString());

 

有时候表单提取过来是gbk码
foo.jsp?bar=%C4%E3%BA%C3
有时候是中文的形式
foo.jsp?bar=你好
如何使jsp接受该参数时,两种形式都兼容?
这个是传值的处理!
不可能两者兼容,必须手动处理。
因为中文传值可能会乱码。
第一种:
String bar = URLDecoder.decode(request.getParameter("bar"),"utf-8");
第二种:
String bar = new String (request.getParameter("bar")getBytes("ISO-8859-1"), "UTF-8");
posted @ 2013-12-05 15:45  losesea  阅读(13137)  评论(0编辑  收藏  举报