`
suichangkele
  • 浏览: 192834 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

shiro学习33-shiro的工具类-webUtils

阅读更多

这个类提供的很多方法对于我们的平时开发都很有帮助,并不仅仅是shiro内部的应用。

<!--[if !supportLists]-->1、 1、 <!--[endif]-->getPathWithinApplication(HttpServletRequest),取得不包含应用路径的路径。

<!--[if !supportLists]-->2、  2、normalize(String path)将路径修改之后正常显示,去掉或者是替换比如”/”/.”“/../”“\\”等。

<!--[if !supportLists]-->3、  3、<!--[endif]-->issueRedirect(ServletRequest, ServletResponse, String),重定向到指定的url

<!--[if !supportLists]-->4、  4、<!--[endif]-->saveRequest(ServletRequest request),将访问的request保存起来,但是注意仅仅保存了urlmethodqueryString(这个值在post方式提交时是空,所以如果是post时没用,不要保存,因为没法保存参数)

<!--[if !supportLists]-->5、  5、<!--[endif]-->redirectToSavedRequest重定向到以前保存的request的路径,但是注意这个方法只对get方式的有效,post方式无效。如果是get的方法会将参数传过去。他是用一个SavedRequest类封装的,里面有三个属性:

private String method;

private String queryString;

private String requestURI;

举个例子:xxx?a=b

其中queryString记录了a=b

requestURI表示xxx

在这个类的getRequestUrl可以发现是将queryStringrequestURI组合起来了,源码如下:

 

public String getRequestUrl() {
    StringBuilder requestUrl = new StringBuilder(getRequestURI());
    if (getQueryString() != null) {
        requestUrl.append("?").append(getQueryString());//将所有的参数都带上,但是只对get方法有效。
    }
    returnrequestUrl.toString();
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics