论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[6518] 2020-02-23_TomcatAJP任意文件读取分析(CVE-2020-1938)
文档创建者:
s7ckTeam
浏览次数:
2
最后更新:
2025-01-17
IOT
2 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2020-02-23_TomcatAJP任意文件读取分析(CVE-2020-1938)
T
o
m
c
a
t
A
J
P
任
意
文
件
读
取
分
析
(
C
V
E
-
2
0
2
0
-
1
9
3
8
)
E
安
全
2
0
2
0
-
0
2
-
2
3
以
下
文
章
来
源
于
雷
神
众
测
,
作
者
l
1
n
k
3
r
N
o
.
1
N
o
.
1
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
由
于
传
播
、
利
用
此
文
所
提
供
的
信
息
而
造
成
的
任
何
直
接
或
者
间
接
的
后
果
及
损
失
,
均
由
使
用
者
本
人
负
责
,
雷
神
众
测
以
及
文
章
作
者
不
为
此
承
担
任
何
责
任
。
雷
神
众
测
拥
有
对
此
文
章
的
修
改
和
解
释
权
。
如
欲
转
载
或
传
播
此
文
章
,
必
须
保
证
此
文
章
的
完
整
性
,
包
括
版
权
声
明
等
全
部
内
容
。
未
经
雷
神
众
测
允
许
,
不
得
任
意
修
改
或
者
增
减
此
文
章
内
容
,
不
得
以
任
何
方
式
将
其
用
于
商
业
目
的
。
N
o
.
2
N
o
.
2
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
漏
洞
通
告
2
0
2
0
年
1
月
6
日
,
国
家
信
息
安
全
漏
洞
共
享
平
台
(
C
N
V
D
)
收
录
了
A
p
a
c
h
e
T
o
m
c
a
t
文
件
包
含
漏
洞
(
C
N
V
D
-
2
0
2
0
-
1
0
4
8
7
,
对
应
C
V
E
-
2
0
2
0
-
1
9
3
8
)
。
攻
击
者
利
用
该
漏
洞
,
可
在
未
授
权
的
情
况
下
远
程
读
取
特
定
目
录
下
的
任
意
文
件
。
目
前
,
漏
洞
细
节
尚
未
公
开
,
厂
商
已
发
布
新
版
本
完
成
漏
洞
修
复
。
N
o
.
3
N
o
.
3
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
漏
洞
分
析
由
于
A
J
P
并
不
是
一
个
H
T
T
P
业
务
流
,
走
的
是
S
o
c
k
e
t
,
所
以
t
o
m
c
a
t
前
面
接
收
业
务
流
的
时
候
调
用
的
是
一
个
S
o
c
k
e
t
解
析
类
S
o
c
k
e
t
P
r
o
c
e
s
s
o
r
B
a
s
e
#
d
o
r
u
n
来
处
理
a
j
p
传
入
的
二
进
制
流
。
而
后
面
这
部
分
的
数
据
流
实
际
上
都
是
s
o
c
k
e
t
内
部
进
行
流
传
处
理
。
这
里
需
要
感
谢
t
o
m
c
a
t
优
雅
的
代
码
风
格
,
可
读
性
真
强
,
和
s
o
c
k
e
t
相
关
的
s
e
r
v
i
c
e
就
下
图
里
面
的
这
些
,
所
以
A
J
P
的
业
务
流
自
然
就
落
在
了
o
r
g
/
a
p
a
c
h
e
/
c
o
y
o
t
e
/
a
j
p
/
A
j
p
P
r
o
c
e
s
s
o
r
#
s
e
r
v
i
c
e
这
个
方
法
上
面
进
行
处
理
。
这
o
r
g
/
a
p
a
c
h
e
/
c
o
y
o
t
e
/
a
j
p
/
A
j
p
P
r
o
c
e
s
s
o
r
#
s
e
r
v
i
c
e
这
个
方
法
里
面
就
留
两
个
关
键
部
分
,
其
他
代
码
太
繁
杂
了
,
无
关
大
雅
,
这
里
首
先
t
h
i
s
.
p
r
e
p
a
r
e
R
e
q
u
e
s
t
(
)
方
法
是
针
对
整
个
业
务
流
进
行
预
处
理
雷
神
众
测
雷
神
众
测
.
雷
神
众
测
,
专
注
于
渗
透
测
试
技
术
及
全
球
最
新
网
络
攻
击
技
术
的
分
析
。
p
u
b
l
i
c
S
o
c
k
e
t
S
t
a
t
e
s
e
r
v
i
c
e
(
S
o
c
k
e
t
W
r
a
p
p
e
r
B
a
s
e
<
?
>
s
o
c
k
e
t
)
t
h
r
o
w
s
I
O
E
x
c
e
p
t
i
o
n
{
.
.
.
w
h
i
l
e
(
!
t
h
i
s
.
g
e
t
E
r
r
o
r
S
t
a
t
e
(
)
.
i
s
E
r
r
o
r
(
)
&
&
!
t
h
i
s
.
e
n
d
p
o
i
n
t
.
i
s
P
a
u
s
e
d
(
)
)
{
t
r
y
{
.
.
.
i
f
(
t
h
i
s
.
g
e
t
E
r
r
o
r
S
t
a
t
e
(
)
.
i
s
I
o
A
l
l
o
w
e
d
(
)
)
{
r
p
.
s
e
t
S
t
a
g
e
(
2
)
;
t
r
y
{
t
h
i
s
.
p
r
e
p
a
r
e
R
e
q
u
e
s
t
(
)
;
}
c
a
t
c
h
(
T
h
r
o
w
a
b
l
e
v
a
r
1
2
)
{
.
.
.
i
f
(
t
h
i
s
.
g
e
t
E
r
r
o
r
S
t
a
t
e
(
)
.
i
s
I
o
A
l
l
o
w
e
d
(
)
)
{
t
r
y
{
r
p
.
s
e
t
S
t
a
g
e
(
3
)
;
t
h
i
s
.
g
e
t
A
d
a
p
t
e
r
(
)
.
s
e
r
v
i
c
e
(
t
h
i
s
.
r
e
q
u
e
s
t
,
t
h
i
s
.
r
e
s
p
o
n
s
e
)
;
}
.
.
.
}
跟
进
p
r
e
p
a
r
e
R
e
q
u
e
s
t
方
法
,
这
个
方
法
会
进
行
一
个
w
h
i
l
e
为
t
r
u
e
的
无
限
循
环
,
根
据
a
t
t
r
i
b
u
t
e
C
o
d
e
的
结
果
进
行
选
择
,
命
中
c
a
s
e
1
0
核
心
中
有
个
r
e
q
u
e
s
t
.
s
e
t
A
t
t
r
i
b
u
t
e
(
n
,
v
)
方
法
,
这
个
方
法
会
从
我
们
之
前
设
置
方
法
中
取
值
,
设
置
,
遍
历
循
环
P
O
C
中
的
j
a
v
a
x
.
s
e
r
v
l
e
t
.
i
n
c
l
u
d
e
.
r
e
q
u
e
s
t
_
u
r
i
,
j
a
v
a
x
.
s
e
r
v
l
e
t
.
i
n
c
l
u
d
e
.
p
a
t
h
_
i
n
f
o
,
j
a
v
a
x
.
s
e
r
v
l
e
t
.
i
n
c
l
u
d
e
.
s
e
r
v
l
e
t
_
p
a
t
h
这
三
个
属
性
对
应
的
值
,
并
且
通
过
P
U
T
方
法
进
行
赋
值
。
p
r
i
v
a
t
e
v
o
i
d
p
r
e
p
a
r
e
R
e
q
u
e
s
t
(
)
{
.
.
.
w
h
i
l
e
(
t
r
u
e
)
{
b
y
t
e
a
t
t
r
i
b
u
t
e
C
o
d
e
;
w
h
i
l
e
(
(
a
t
t
r
i
b
u
t
e
C
o
d
e
=
t
h
i
s
.
r
e
q
u
e
s
t
H
e
a
d
e
r
M
e
s
s
a
g
e
.
g
e
t
B
y
t
e
(
)
)
!
=
-
1
)
{
s
w
i
t
c
h
(
a
t
t
r
i
b
u
t
e
C
o
d
e
)
{
.
.
.
c
a
s
e
1
0
:
.
.
.
}
e
l
s
e
{
t
h
i
s
.
r
e
q
u
e
s
t
.
s
e
t
A
t
t
r
i
b
u
t
e
(
n
,
v
)
;
}
b
r
e
a
k
;
好
了
,
这
里
知
道
了
在
p
r
e
p
a
r
e
R
e
q
u
e
s
t
方
法
中
核
心
是
将
三
个
值
动
态
赋
予
我
们
想
要
的
结
果
,
再
回
到
o
r
g
/
a
p
a
c
h
e
/
c
o
y
o
t
e
/
a
j
p
/
A
j
p
P
r
o
c
e
s
s
o
r
#
s
e
r
v
i
c
e
中
,
在
经
过
p
r
e
p
a
r
e
R
e
q
u
e
s
t
方
法
处
理
之
后
来
到
的
就
是
g
e
t
A
d
a
p
t
e
r
(
)
.
s
e
r
v
i
c
e
(
t
h
i
s
.
r
e
q
u
e
s
t
,
t
h
i
s
.
r
e
s
p
o
n
s
e
)
;
,
这
个
s
e
r
i
v
c
e
就
是
后
续
处
理
r
e
q
u
e
s
t
对
象
和
r
e
s
p
o
n
s
e
对
象
了
。
在
o
r
g
/
a
p
a
c
h
e
/
c
a
t
a
l
i
n
a
/
c
o
n
n
e
c
t
o
r
/
C
o
y
o
t
e
A
d
a
p
t
e
r
#
s
e
r
v
i
c
e
这
个
类
中
,
主
要
是
设
置
一
些
连
接
的
时
候
一
些
属
性
,
然
后
通
过
i
n
v
o
k
e
反
射
方
法
,
根
据
r
e
q
u
e
s
t
对
象
和
r
e
s
p
o
n
s
e
对
象
进
入
后
面
的
H
T
T
P
处
理
逻
辑
。
所
以
又
回
到
了
前
面
的
老
话
,
t
o
m
c
a
t
完
善
的
代
码
结
构
,
H
T
T
P
的
逻
辑
服
务
处
理
,
自
然
是
落
在
了
j
a
v
a
x
/
s
e
r
v
l
e
t
/
h
t
t
p
/
H
t
t
p
S
e
r
v
l
e
t
#
s
e
r
v
i
c
e
当
中
。
任
意
文
件
读
取
任
意
文
件
读
取
前
面
是
整
个
A
J
P
-
>
H
T
T
P
整
个
过
程
,
继
续
往
下
跟
入
,
因
为
通
过
A
J
P
转
换
之
后
,
进
行
的
是
H
T
T
P
G
E
T
请
求
,
所
以
来
到
的
自
然
是
是
下
图
中
代
码
位
置
。
跟
进
d
o
G
e
t
自
然
来
到
之
前
安
恒
通
告
说
的
地
方
。
继
续
跟
入
s
e
r
v
e
R
e
s
o
u
r
c
e
,
首
先
g
e
t
R
e
l
a
t
i
v
e
P
a
t
h
从
之
前
传
入
的
r
e
q
u
e
s
t
对
象
中
获
取
p
a
t
h
。
跟
进
g
e
t
R
e
l
a
t
i
v
e
P
a
t
h
,
一
眼
就
知
道
为
什
么
要
设
置
r
e
q
u
e
s
t
_
u
r
i
、
p
a
t
h
_
i
n
f
o
、
s
e
r
v
l
e
t
_
p
a
t
h
这
三
个
属
性
了
,
通
过
路
径
的
拼
接
,
最
后
返
回
的
s
e
r
v
l
e
t
P
a
t
h
为
/
,
容
器
内
部
为
/
W
E
B
-
I
N
F
/
w
e
b
.
x
m
l
的
文
件
内
容
。
继
续
回
到
s
e
r
v
e
R
e
s
o
u
r
c
e
方
法
中
g
e
t
R
e
s
o
u
r
c
e
根
据
前
面
的
p
a
t
h
也
就
是
/
W
E
B
-
I
N
F
/
w
e
b
.
x
m
l
进
行
资
源
获
取
。
而
这
里
是
没
办
法
.
.
/
出
去
的
,
原
因
继
续
往
下
看
。
在
g
e
t
R
e
s
o
u
r
c
e
当
中
有
个
v
a
l
i
d
a
t
e
,
这
个
检
查
往
后
走
会
调
用
n
o
r
m
a
l
i
z
e
进
行
目
录
遍
历
的
检
查
,
之
后
就
是
输
出
读
到
的
内
容
了
。
由
于
当
前
A
J
P
出
不
了
w
e
b
a
p
p
s
目
录
,
但
是
是
可
以
做
到
任
意
目
录
下
读
的
,
比
如
我
需
要
读
/
e
x
a
m
p
l
e
/
2
.
t
x
t
下
的
文
件
,
只
需
要
这
样
配
置
就
好
了
。
{
'
n
a
m
e
'
:
'
r
e
q
_
a
t
t
r
i
b
u
t
e
'
,
'
v
a
l
u
e
'
:
[
'
j
a
v
a
x
.
s
e
r
v
l
e
t
.
i
n
c
l
u
d
e
.
r
e
q
u
e
s
t
_
u
r
i
'
,
'
/
e
x
a
m
p
l
e
s
'
]
}
,
{
'
n
a
m
e
'
:
'
r
e
q
_
a
t
t
r
i
b
u
t
e
'
,
'
v
a
l
u
e
'
:
[
'
j
a
v
a
x
.
s
e
r
v
l
e
t
.
i
n
c
l
u
d
e
.
p
a
t
h
_
i
n
f
o
'
,
2
.
t
x
t
]
}
,
{
'
n
a
m
e
'
:
'
r
e
q
_
a
t
t
r
i
b
u
t
e
'
,
'
v
a
l
u
e
'
:
[
'
j
a
v
a
x
.
s
e
r
v
l
e
t
.
i
n
c
l
u
d
e
.
s
e
r
v
l
e
t
_
p
a
t
h
'
,
'
/
'
]
}
,
]
)
附
上
任
意
文
件
读
取
的
调
用
栈
s
e
r
v
e
R
e
s
o
u
r
c
e
:
8
3
9
,
D
e
f
a
u
l
t
S
e
r
v
l
e
t
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
s
e
r
v
l
e
t
s
)
d
o
G
e
t
:
5
0
4
,
D
e
f
a
u
l
t
S
e
r
v
l
e
t
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
s
e
r
v
l
e
t
s
)
s
e
r
v
i
c
e
:
6
3
4
,
H
t
t
p
S
e
r
v
l
e
t
(
j
a
v
a
x
.
s
e
r
v
l
e
t
.
h
t
t
p
)
s
e
r
v
i
c
e
:
4
8
4
,
D
e
f
a
u
l
t
S
e
r
v
l
e
t
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
s
e
r
v
l
e
t
s
)
s
e
r
v
i
c
e
:
7
4
1
,
H
t
t
p
S
e
r
v
l
e
t
(
j
a
v
a
x
.
s
e
r
v
l
e
t
.
h
t
t
p
)
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
:
2
3
1
,
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
d
o
F
i
l
t
e
r
:
1
6
6
,
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
d
o
F
i
l
t
e
r
:
5
2
,
W
s
F
i
l
t
e
r
(
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
w
e
b
s
o
c
k
e
t
.
s
e
r
v
e
r
)
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
:
1
9
3
,
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
d
o
F
i
l
t
e
r
:
1
6
6
,
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
i
n
v
o
k
e
:
1
9
9
,
S
t
a
n
d
a
r
d
W
r
a
p
p
e
r
V
a
l
v
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
i
n
v
o
k
e
:
9
6
,
S
t
a
n
d
a
r
d
C
o
n
t
e
x
t
V
a
l
v
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
i
n
v
o
k
e
:
4
9
3
,
A
u
t
h
e
n
t
i
c
a
t
o
r
B
a
s
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
a
u
t
h
e
n
t
i
c
a
t
o
r
)
i
n
v
o
k
e
:
1
3
7
,
S
t
a
n
d
a
r
d
H
o
s
t
V
a
l
v
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
i
n
v
o
k
e
:
8
1
,
E
r
r
o
r
R
e
p
o
r
t
V
a
l
v
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
v
a
l
v
e
s
)
i
n
v
o
k
e
:
6
6
0
,
A
b
s
t
r
a
c
t
A
c
c
e
s
s
L
o
g
V
a
l
v
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
v
a
l
v
e
s
)
i
n
v
o
k
e
:
8
7
,
S
t
a
n
d
a
r
d
E
n
g
i
n
e
V
a
l
v
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
s
e
r
v
i
c
e
:
3
4
3
,
C
o
y
o
t
e
A
d
a
p
t
e
r
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
n
n
e
c
t
o
r
)
s
e
r
v
i
c
e
:
4
7
6
,
A
j
p
P
r
o
c
e
s
s
o
r
(
o
r
g
.
a
p
a
c
h
e
.
c
o
y
o
t
e
.
a
j
p
)
p
r
o
c
e
s
s
:
6
6
,
A
b
s
t
r
a
c
t
P
r
o
c
e
s
s
o
r
L
i
g
h
t
(
o
r
g
.
a
p
a
c
h
e
.
c
o
y
o
t
e
)
p
r
o
c
e
s
s
:
8
0
8
,
A
b
s
t
r
a
c
t
P
r
o
t
o
c
o
l
$
C
o
n
n
e
c
t
i
o
n
H
a
n
d
l
e
r
(
o
r
g
.
a
p
a
c
h
e
.
c
o
y
o
t
e
)
d
o
R
u
n
:
1
4
9
8
,
N
i
o
E
n
d
p
o
i
n
t
$
S
o
c
k
e
t
P
r
o
c
e
s
s
o
r
(
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
u
t
i
l
.
n
e
t
)
r
u
n
:
4
9
,
S
o
c
k
e
t
P
r
o
c
e
s
s
o
r
B
a
s
e
(
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
u
t
i
l
.
n
e
t
)
r
u
n
W
o
r
k
e
r
:
1
1
4
2
,
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
(
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
)
r
u
n
:
6
1
7
,
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
$
W
o
r
k
e
r
(
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
)
r
u
n
:
6
1
,
T
a
s
k
T
h
r
e
a
d
$
W
r
a
p
p
i
n
g
R
u
n
n
a
b
l
e
(
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
u
t
i
l
.
t
h
r
e
a
d
s
)
r
u
n
:
7
4
5
,
T
h
r
e
a
d
(
j
a
v
a
.
l
a
n
g
)
R
C
E
"
H
T
T
P
/
1
.
1
"
"
/
1
.
j
s
p
"
1
2
7
.
0
.
0
.
1
l
o
c
a
l
h
o
s
t
p
o
r
t
o
8
0
0
9
f
a
l
s
e
"
C
o
o
k
i
e
:
A
A
A
A
=
B
B
B
B
"
"
j
a
v
a
x
.
s
e
r
v
l
e
t
.
i
n
c
l
u
d
e
.
r
e
q
u
e
s
t
_
u
r
i
:
/
"
,
"
j
a
v
a
x
.
s
e
r
v
l
e
t
.
i
n
c
l
u
d
e
.
p
a
t
h
_
i
n
f
o
:
1
.
t
x
t
"
,
"
j
a
v
a
x
.
s
e
r
v
l
e
t
.
i
n
c
l
u
d
e
.
s
e
r
v
l
e
t
_
p
a
t
h
:
/
u
p
l
o
a
d
/
"
o
r
g
/
a
p
a
c
h
e
/
j
a
s
p
e
r
/
s
e
r
v
l
e
t
/
J
s
p
S
e
r
v
l
e
t
#
s
e
r
v
i
c
e
负
责
处
理
x
x
x
.
j
s
p
访
问
逻
辑
,
跟
进
来
j
s
p
U
r
i
是
通
过
s
e
r
v
l
e
t
_
p
a
t
h
和
p
a
t
h
_
i
n
f
o
拼
接
而
来
的
。
之
后
便
会
进
入
s
e
r
v
i
c
e
J
s
p
F
i
l
e
逻
辑
进
行
处
理
。
跟
进
s
e
r
v
i
c
e
J
s
p
F
i
l
e
方
法
,
首
先
先
通
过
g
e
t
R
e
s
o
u
r
c
e
获
取
上
传
文
件
的
内
容
,
然
后
再
通
过
初
始
化
w
r
a
p
p
e
r
对
象
传
入
相
关
参
数
,
然
后
再
调
用
J
s
p
S
e
r
v
l
e
t
W
r
a
p
p
e
r
#
s
e
r
v
i
c
e
进
行
解
析
。
这
简
单
解
释
一
下
,
R
C
E
的
核
心
需
要
进
入
的
J
s
p
S
e
r
v
l
e
t
,
我
们
平
常
访
问
x
x
x
.
j
s
p
是
进
入
到
J
s
p
s
e
r
v
l
e
t
,
p
o
c
中
访
问
/
1
.
j
s
p
通
过
A
J
P
发
包
的
过
程
中
实
际
上
就
是
我
们
的
G
e
t
请
求
访
问
w
w
w
.
x
x
x
.
c
o
m
/
1
.
j
s
p
,
所
以
这
里
自
然
进
入
了
J
s
p
S
e
r
v
l
e
t
当
中
,
然
后
再
配
合
g
e
t
R
e
s
o
u
r
c
e
获
取
上
传
的
文
件
内
容
,
调
用
J
s
p
引
擎
进
行
解
析
,
自
然
达
到
了
R
C
E
的
效
果
。
最
后
附
上
R
C
E
的
调
用
栈
e
x
e
c
:
3
4
7
,
R
u
n
t
i
m
e
(
j
a
v
a
.
l
a
n
g
)
_
j
s
p
S
e
r
v
i
c
e
:
1
,
_
1
_
t
x
t
(
o
r
g
.
a
p
a
c
h
e
.
j
s
p
)
s
e
r
v
i
c
e
:
7
0
,
H
t
t
p
J
s
p
B
a
s
e
(
o
r
g
.
a
p
a
c
h
e
.
j
a
s
p
e
r
.
r
u
n
t
i
m
e
)
s
e
r
v
i
c
e
:
7
4
1
,
H
t
t
p
S
e
r
v
l
e
t
(
j
a
v
a
x
.
s
e
r
v
l
e
t
.
h
t
t
p
)
s
e
r
v
i
c
e
:
4
7
6
,
J
s
p
S
e
r
v
l
e
t
W
r
a
p
p
e
r
(
o
r
g
.
a
p
a
c
h
e
.
j
a
s
p
e
r
.
s
e
r
v
l
e
t
)
s
e
r
v
i
c
e
J
s
p
F
i
l
e
:
3
8
6
,
J
s
p
S
e
r
v
l
e
t
(
o
r
g
.
a
p
a
c
h
e
.
j
a
s
p
e
r
.
s
e
r
v
l
e
t
)
s
e
r
v
i
c
e
:
3
3
0
,
J
s
p
S
e
r
v
l
e
t
(
o
r
g
.
a
p
a
c
h
e
.
j
a
s
p
e
r
.
s
e
r
v
l
e
t
)
s
e
r
v
i
c
e
:
7
4
1
,
H
t
t
p
S
e
r
v
l
e
t
(
j
a
v
a
x
.
s
e
r
v
l
e
t
.
h
t
t
p
)
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
:
2
3
1
,
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
d
o
F
i
l
t
e
r
:
1
6
6
,
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
d
o
F
i
l
t
e
r
:
5
2
,
W
s
F
i
l
t
e
r
(
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
w
e
b
s
o
c
k
e
t
.
s
e
r
v
e
r
)
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
:
1
9
3
,
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
d
o
F
i
l
t
e
r
:
1
6
6
,
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
i
n
v
o
k
e
:
1
9
9
,
S
t
a
n
d
a
r
d
W
r
a
p
p
e
r
V
a
l
v
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
i
n
v
o
k
e
:
9
6
,
S
t
a
n
d
a
r
d
C
o
n
t
e
x
t
V
a
l
v
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
i
n
v
o
k
e
:
4
9
3
,
A
u
t
h
e
n
t
i
c
a
t
o
r
B
a
s
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
a
u
t
h
e
n
t
i
c
a
t
o
r
)
i
n
v
o
k
e
:
1
3
7
,
S
t
a
n
d
a
r
d
H
o
s
t
V
a
l
v
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
i
n
v
o
k
e
:
8
1
,
E
r
r
o
r
R
e
p
o
r
t
V
a
l
v
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
v
a
l
v
e
s
)
i
n
v
o
k
e
:
6
6
0
,
A
b
s
t
r
a
c
t
A
c
c
e
s
s
L
o
g
V
a
l
v
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
v
a
l
v
e
s
)
i
n
v
o
k
e
:
8
7
,
S
t
a
n
d
a
r
d
E
n
g
i
n
e
V
a
l
v
e
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
)
s
e
r
v
i
c
e
:
3
4
3
,
C
o
y
o
t
e
A
d
a
p
t
e
r
(
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
n
n
e
c
t
o
r
)
s
e
r
v
i
c
e
:
4
7
6
,
A
j
p
P
r
o
c
e
s
s
o
r
(
o
r
g
.
a
p
a
c
h
e
.
c
o
y
o
t
e
.
a
j
p
)
p
r
o
c
e
s
s
:
6
6
,
A
b
s
t
r
a
c
t
P
r
o
c
e
s
s
o
r
L
i
g
h
t
(
o
r
g
.
a
p
a
c
h
e
.
c
o
y
o
t
e
)
p
r
o
c
e
s
s
:
8
0
8
,
A
b
s
t
r
a
c
t
P
r
o
t
o
c
o
l
$
C
o
n
n
e
c
t
i
o
n
H
a
n
d
l
e
r
(
o
r
g
.
a
p
a
c
h
e
.
c
o
y
o
t
e
)
d
o
R
u
n
:
1
4
9
8
,
N
i
o
E
n
d
p
o
i
n
t
$
S
o
c
k
e
t
P
r
o
c
e
s
s
o
r
(
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
u
t
i
l
.
n
e
t
)
r
u
n
:
4
9
,
S
o
c
k
e
t
P
r
o
c
e
s
s
o
r
B
a
s
e
(
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
u
t
i
l
.
n
e
t
)
r
u
n
W
o
r
k
e
r
:
1
1
4
2
,
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
(
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
)
r
u
n
:
6
1
7
,
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
$
W
o
r
k
e
r
(
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
)
r
u
n
:
6
1
,
T
a
s
k
T
h
r
e
a
d
$
W
r
a
p
p
i
n
g
R
u
n
n
a
b
l
e
(
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
u
t
i
l
.
t
h
r
e
a
d
s
)
r
u
n
:
7
4
5
,
T
h
r
e
a
d
(
j
a
v
a
.
l
a
n
g
)
后
话
后
话
我
试
了
一
下
j
s
p
的
文
件
包
含
,
这
个
d
e
m
o
下
也
是
可
以
的
,
所
以
实
际
上
R
C
E
就
是
j
s
p
的
文
件
包
含
搞
的
鬼
,
要
先
上
传
一
个
文
件
,
这
个
文
件
路
径
可
被
包
含
,
然
后
读
取
模
版
解
析
,
最
后
R
C
E
。
/
/
1
.
j
s
p
<
%
@
p
a
g
e
l
a
n
g
u
a
g
e
=
"
j
a
v
a
"
i
m
p
o
r
t
=
"
j
a
v
a
.
u
t
i
l
.
*
"
p
a
g
e
E
n
c
o
d
i
n
g
=
"
U
T
F
-
8
"
%
>
<
%
@
i
n
c
l
u
d
e
f
i
l
e
=
"
1
.
t
x
t
"
%
>
/
/
1
.
t
x
t
<
%
@
R
u
n
t
i
m
e
.
g
e
t
R
u
n
t
i
m
e
(
)
.
e
x
e
c
(
"
o
p
e
n
/
S
y
s
t
e
m
/
A
p
p
l
i
c
a
t
i
o
n
s
/
C
a
l
c
u
l
a
t
o
r
.
a
p
p
"
)
;
%
>
另
外
前
面
可
能
有
师
傅
会
问
为
什
么
是
G
E
T
,
原
因
是
下
面
这
个
P
O
C
有
f
o
r
w
a
r
d
r
e
q
u
e
s
t
2
,
根
据
A
J
P
数
据
包
格
式
第
6
个
字
节
(
0
2
)
代
表
是
G
e
t
请
求
。
另
外
在
T
o
m
c
a
t
中
也
有
相
关
映
射
关
系
,
在
A
j
p
P
r
o
c
e
s
s
o
r
做
p
r
e
p
a
r
e
R
e
q
u
e
s
t
处
理
的
时
候
会
根
据
字
节
选
择
相
关
的
请
求
方
式
。
注
:
本
文
由
E
安
全
编
译
报
道
,
转
载
请
注
原
文
地
址
h
t
t
p
s
:
/
/
w
w
w
.
e
a
s
y
a
q
.
c
o
m
推
荐
阅
读
:
特
朗
普
签
署
P
N
T
行
政
令
防
止
其
关
键
基
础
设
施
遭
攻
击
黑
客
最
常
使
用
的
5
大
公
开
可
用
工
具
2
月
份
免
费
使
用
|
钉
钉
+
安
恒
密
盾
,
全
力
保
障
抗
疫
期
间
远
程
办
公
信
息
安
全
特
朗
普
签
署
P
N
T
行
政
令
防
止
其
关
键
基
础
设
施
遭
攻
击
共
同
抗
“
疫
”
下
的
趁
人
之
危
-
南
亚
A
P
T
组
织
对
我
国
重
点
单
位
机
构
持
续
攻
击
▼
点
击
“
阅
读
原
文
”
查
看
更
多
精
彩
内
容
喜
欢
记
得
打
赏
小
E
哦
!
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页