导读:
关于SVG(Scalable Vector Graphics)网络上有很多文章进行了介绍,比较突出的特点就是随意缩放,因为SVG是矢量图。不过我认为SVG更大的特点就是灵活,可以随意动态生成。.net、javascript结合DOM动态生成并显示SVG的文章比较多,但是JAVA动态生成并显示SVG的文章大多介绍的是生成.svg文件后再显示,Apache的开源项目Batik也不过是提供了一套API,可以生成DOM而已,最终的显示还是要存为.svg文件。最近的项目中恰巧运用到了相关的知识,经过长弓无敌的“动态制作svg介绍”启发,在这里做个总结。
环境:
App Server: BEA Weblogic 8.14
App Server: BEA Weblogic 8.14
SVG Viewer: Adobe SvgViewer 3.0
1、建立一个Servlet,命名为:test.SvgServlet
2、在test.SvgServllet的service(HttpServletRequest req, HttpServletResponse res)方法中加入如下代码:
res.setContentType("text/svg+xml");
ServletOutputStream out = res.getOutputStream();
out.println("");
out.println("");
out.flush();
out.close();
3、在对应的web app的web.xml文件中加入如下配置信息:
ServletOutputStream out = res.getOutputStream();
out.println("");
out.println("");
out.flush();
out.close();
3、在对应的web app的web.xml文件中加入如下配置信息:
4、建立显示SVG文件的html页面,命名为:TestSvgView.html
5、在TestSvgView.html的body部分加入如下代码:
6、将web app部署到App Server上,然后打开TestSvgView.html页面,即可显示出所需的结果。
需要注意的地方:servlet的url-pattern名称,必须以.svg结尾。
本文转自
http://songql.spaces.live.com/blog/cns!E3455EA204546FD7!114.entry