Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
普通程序员一名
spring-framework
提交
dc7ed57c
S
spring-framework
项目概览
普通程序员一名
/
spring-framework
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
dc7ed57c
编写于
12月 10, 2015
作者:
R
Rossen Stoyanchev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support resource URL encoding at context path
Issue: SPR-13757
上级
beef5ff4
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
60 addition
and
0 deletion
+60
-0
patch.txt
patch.txt
+26
-0
spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlEncodingFilter.java
...ework/web/servlet/resource/ResourceUrlEncodingFilter.java
+7
-0
spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceUrlEncodingFilterTests.java
.../web/servlet/resource/ResourceUrlEncodingFilterTests.java
+27
-0
未找到文件。
patch.txt
0 → 100644
浏览文件 @
dc7ed57c
diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceUrlEncodingFilterTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceUrlEncodingFilterTests.java
index e94a2a6..5b67c58 100644
--- a/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceUrlEncodingFilterTests.java
+++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceUrlEncodingFilterTests.java
@@ -89,6 +89,21 @@ public class ResourceUrlEncodingFilterTests {
});
}
+ // SPR-13757
+ @Test
+ public void encodeURLAtContextPath() throws Exception {
+ MockHttpServletRequest request = new MockHttpServletRequest("GET", "/context");
+ request.setContextPath("/context");
+ request.setAttribute(ResourceUrlProviderExposingInterceptor.RESOURCE_URL_PROVIDER_ATTR, this.resourceUrlProvider);
+ MockHttpServletResponse response = new MockHttpServletResponse();
+
+ this.filter.doFilterInternal(request, response, (request1, response1) -> {
+ String result = ((HttpServletResponse) response1).encodeURL("/context/resources/bar.css");
+ assertEquals("/context/resources/bar-11e16cf79faee7ac698c805cf28248d2.css", result);
+ });
+ }
+
+
// SPR-13018
@Test
public void encodeEmptyURLWithContext() throws Exception {
spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlEncodingFilter.java
浏览文件 @
dc7ed57c
...
...
@@ -95,6 +95,13 @@ public class ResourceUrlEncodingFilter extends OncePerRequestFilter {
String
requestUri
=
urlProvider
.
getPathHelper
().
getRequestUri
(
this
.
request
);
String
lookupPath
=
urlProvider
.
getPathHelper
().
getLookupPathForRequest
(
this
.
request
);
this
.
indexLookupPath
=
requestUri
.
lastIndexOf
(
lookupPath
);
if
(
"/"
.
equals
(
lookupPath
)
&&
!
"/"
.
equals
(
requestUri
))
{
String
contextPath
=
urlProvider
.
getPathHelper
().
getContextPath
(
this
.
request
);
if
(
requestUri
.
equals
(
contextPath
))
{
this
.
indexLookupPath
=
requestUri
.
length
();
}
}
}
}
...
...
spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceUrlEncodingFilterTests.java
浏览文件 @
dc7ed57c
...
...
@@ -89,6 +89,33 @@ public class ResourceUrlEncodingFilterTests {
});
}
// SPR-13757
@Test
public
void
encodeContextPathUrlWithoutSuffix
()
throws
Exception
{
MockHttpServletRequest
request
=
new
MockHttpServletRequest
(
"GET"
,
"/context"
);
request
.
setContextPath
(
"/context"
);
request
.
setAttribute
(
ResourceUrlProviderExposingInterceptor
.
RESOURCE_URL_PROVIDER_ATTR
,
this
.
resourceUrlProvider
);
MockHttpServletResponse
response
=
new
MockHttpServletResponse
();
this
.
filter
.
doFilterInternal
(
request
,
response
,
(
request1
,
response1
)
->
{
String
result
=
((
HttpServletResponse
)
response1
).
encodeURL
(
"/context/resources/bar.css"
);
assertEquals
(
"/context/resources/bar-11e16cf79faee7ac698c805cf28248d2.css"
,
result
);
});
}
@Test
public
void
encodeContextPathUrlWithSuffix
()
throws
Exception
{
MockHttpServletRequest
request
=
new
MockHttpServletRequest
(
"GET"
,
"/context/"
);
request
.
setContextPath
(
"/context"
);
request
.
setAttribute
(
ResourceUrlProviderExposingInterceptor
.
RESOURCE_URL_PROVIDER_ATTR
,
this
.
resourceUrlProvider
);
MockHttpServletResponse
response
=
new
MockHttpServletResponse
();
this
.
filter
.
doFilterInternal
(
request
,
response
,
(
request1
,
response1
)
->
{
String
result
=
((
HttpServletResponse
)
response1
).
encodeURL
(
"/context/resources/bar.css"
);
assertEquals
(
"/context/resources/bar-11e16cf79faee7ac698c805cf28248d2.css"
,
result
);
});
}
// SPR-13018
@Test
public
void
encodeEmptyURLWithContext
()
throws
Exception
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录