Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-enterprise-base
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
base_platform_enterprise
gic-enterprise-base
Commits
4d04f783
Commit
4d04f783
authored
May 12, 2020
by
zhiwj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
trim
parent
a208ead6
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
109 additions
and
0 deletions
+109
-0
FilterConfig.java
...src/main/java/com/gic/enterprise/filter/FilterConfig.java
+8
-0
StringFilter.java
...src/main/java/com/gic/enterprise/filter/StringFilter.java
+25
-0
ParameterRequestWrapper.java
...a/com/gic/enterprise/request/ParameterRequestWrapper.java
+76
-0
No files found.
gic-enterprise-common/src/main/java/com/gic/enterprise/filter/FilterConfig.java
View file @
4d04f783
...
...
@@ -13,4 +13,12 @@ public class FilterConfig {
bean
.
addUrlPatterns
(
"/*"
);
return
bean
;
}
@Bean
public
FilterRegistrationBean
filterRegistrationBean2
(){
FilterRegistrationBean
bean
=
new
FilterRegistrationBean
();
bean
.
setFilter
(
new
StringFilter
());
bean
.
addUrlPatterns
(
"/*"
);
return
bean
;
}
}
gic-enterprise-common/src/main/java/com/gic/enterprise/filter/StringFilter.java
0 → 100644
View file @
4d04f783
package
com
.
gic
.
enterprise
.
filter
;
import
com.gic.enterprise.request.ParameterRequestWrapper
;
import
org.springframework.web.filter.OncePerRequestFilter
;
import
javax.servlet.FilterChain
;
import
javax.servlet.ServletException
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
/**
* @author zhiwj
* @Description:
* @date 2020-05-12 16:49
*/
public
class
StringFilter
extends
OncePerRequestFilter
{
@Override
protected
void
doFilterInternal
(
HttpServletRequest
httpServletRequest
,
HttpServletResponse
httpServletResponse
,
FilterChain
filterChain
)
throws
ServletException
,
IOException
{
ParameterRequestWrapper
requestWrapper
=
new
ParameterRequestWrapper
(
httpServletRequest
);
filterChain
.
doFilter
(
requestWrapper
,
httpServletResponse
);
}
}
gic-enterprise-common/src/main/java/com/gic/enterprise/request/ParameterRequestWrapper.java
0 → 100644
View file @
4d04f783
package
com
.
gic
.
enterprise
.
request
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequestWrapper
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.Map
;
import
java.util.Set
;
/**
* @author zhiwj
* @Description:
* @date 2020-05-12 16:39
*/
public
class
ParameterRequestWrapper
extends
HttpServletRequestWrapper
{
private
Map
<
String
,
String
[]>
params
=
new
HashMap
<>();
@SuppressWarnings
(
"unchecked"
)
public
ParameterRequestWrapper
(
HttpServletRequest
request
)
{
// 将request交给父类,以便于调用对应方法的时候,将其输出,其实父亲类的实现方式和第一种new的方式类似
super
(
request
);
//将参数表,赋予给当前的Map以便于持有request中的参数
this
.
params
.
putAll
(
request
.
getParameterMap
());
this
.
modifyParameterValues
();
}
//重载一个构造方法
public
ParameterRequestWrapper
(
HttpServletRequest
request
,
Map
<
String
,
Object
>
extendParams
)
{
this
(
request
);
addAllParameters
(
extendParams
);
//这里将扩展参数写入参数表
}
public
void
modifyParameterValues
(){
//将parameter的值去除空格后重写回去
Set
<
String
>
set
=
params
.
keySet
();
Iterator
<
String
>
it
=
set
.
iterator
();
while
(
it
.
hasNext
()){
String
key
=
it
.
next
();
String
[]
values
=
params
.
get
(
key
);
values
[
0
]
=
values
[
0
].
trim
();
params
.
put
(
key
,
values
);
}
}
@Override
public
String
getParameter
(
String
name
)
{
//重写getParameter,代表参数从当前类中的map获取
String
[]
values
=
params
.
get
(
name
);
if
(
values
==
null
||
values
.
length
==
0
)
{
return
null
;
}
return
values
[
0
];
}
@Override
public
String
[]
getParameterValues
(
String
name
)
{
//同上
return
params
.
get
(
name
);
}
public
void
addAllParameters
(
Map
<
String
,
Object
>
otherParams
)
{
//增加多个参数
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
otherParams
.
entrySet
())
{
addParameter
(
entry
.
getKey
()
,
entry
.
getValue
());
}
}
public
void
addParameter
(
String
name
,
Object
value
)
{
//增加参数
if
(
value
!=
null
)
{
if
(
value
instanceof
String
[])
{
params
.
put
(
name
,
(
String
[])
value
);
}
else
if
(
value
instanceof
String
)
{
params
.
put
(
name
,
new
String
[]
{(
String
)
value
});
}
else
{
params
.
put
(
name
,
new
String
[]
{
String
.
valueOf
(
value
)});
}
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment