JSP 获取URL 附带参数

来源:互联网 发布:h5响应式企业网站源码 编辑:程序博客网 时间:2024/05/01 13:42

获取当前浏览器的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");
0 0
原创粉丝点击