CC果园
桃子
My Links
BlogJava
首页
新随笔
联系
聚合
管理
Blog Stats
Posts - 2
Stories - 1
Comments - 0
Trackbacks - 0
常用链接
我的随笔
我的评论
我的参与
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
JAVA经典源码赏析
(rss)
随笔档案
2009年8月 (2)
文章分类
JAVA
(rss)
Linux(1)
(rss)
文章档案
2009年8月 (1)
搜索
最新评论
阅读排行榜
1. ServletProcessor,a demo of URLClassLoader usage(163)
2. 第一次来(95)
评论排行榜
1. ServletProcessor,a demo of URLClassLoader usage(0)
2. 第一次来(0)
ServletProcessor,a demo of URLClassLoader usage
1
public
class
ServletProcessor
{
2
3
public
void
process(HttpRequest request, HttpResponse response)
{
4
5
String uri
=
request.getRequestURI();
6
String servletName
=
uri.substring(uri.lastIndexOf(
"
/
"
)
+
1
);
7
URLClassLoader loader
=
null
;
8
try
{
9
//
create a URLClassLoader
10
URL[] urls
=
new
URL[
1
];
11
URLStreamHandler streamHandler
=
null
;
12
File classPath
=
new
File(Constants.WEB_ROOT);
13
String repository
=
(
new
URL(
"
file
"
,
null
, classPath.getCanonicalPath()
+
File.separator)).toString() ;
14
urls[
0
]
=
new
URL(
null
, repository, streamHandler);
15
loader
=
new
URLClassLoader(urls);
16
}
17
catch
(IOException e)
{
18
System.out.println(e.toString() );
19
}
20
Class myClass
=
null
;
21
try
{
22
myClass
=
loader.loadClass(servletName);
23
}
24
catch
(ClassNotFoundException e)
{
25
System.out.println(e.toString());
26
}
27
28
Servlet servlet
=
null
;
29
30
try
{
31
servlet
=
(Servlet) myClass.newInstance();
32
HttpRequestFacade requestFacade
=
new
HttpRequestFacade(request);
33
HttpResponseFacade responseFacade
=
new
HttpResponseFacade(response);
34
servlet.service(requestFacade, responseFacade);
35
((HttpResponse) response).finishResponse();
36
}
37
catch
(Exception e)
{
38
System.out.println(e.toString());
39
}
40
catch
(Throwable e)
{
41
System.out.println(e.toString());
42
}
43
}
44
}
posted on 2009-08-16 15:25
Anakin
阅读(163)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
Powered by:
BlogJava
Copyright © Anakin