JSP中获取当前访问URL、URL参数等信息的小结。

JSP页面中相关代码:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String  url  =  "http://"  +  request.getServerName()  +  ":"  +  request.getServerPort()  +  request.getContextPath()+request.getServletPath().substring(0,request.getServletPath().lastIndexOf("/")+1); 
  
if(request.getQueryString()!=null)
{  
    url+="?"+request.getQueryString();          
}
System.out.println("path:"+path);
System.out.println("basePath:"+basePath);   
System.out.println("URL:"+url);   

System.out.println("URL参数:"+request.getQueryString()); 
%>

访问之后输出的结果:
1.这是不带参数
path:/CS
basePath:http://localhost:8080/CS/
URL:http://localhost:8080/CS/
URL参数:null
2.带参数时
path:/CS
basePath:http://localhost:8080/CS/
URL:http://localhost:8080/CS/?userid=3
URL参数:userid=3

        为了在servlet中,让异常时跳到带有参数的URL,找了很久才找到。原来这么简单。把url存到session里,异常的时候再取出来加上去就好啦。
String url = session.getAttribute("url");
out.println("<script>alert(‘出错啦。‘);window.location.href=‘"+url+"‘;</script>");

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。