获取当前浏览器的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");
原来来自: JSP 获取URL 附带参数