awp001

posts(5) comments(21) trackbacks(0)
  • BlogJava
  • 联系
  • RSS 2.0 Feed 聚合
  • 管理

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  • GIS(1)
  • Hibernate(2)
  • JDK(1)
  • 设计模式(1)

随笔档案

  • 2010年6月 (1)
  • 2009年10月 (1)
  • 2007年5月 (3)

搜索

  •  

最新评论

  • 1. re: TileCache安装与配置全程攻略
  • 评论内容较长,点击标题查看
  • --刘良亮
  • 2. re: 关于Java缺乏多继承机制的探讨[未登录]
  • 中间再加一层抽象类……
  • --迷你狐
  • 3. re: 关于Java缺乏多继承机制的探讨
  • 评论内容较长,点击标题查看
  • --隔叶黄莺-2
  • 4. re: 关于Java缺乏多继承机制的探讨
  • 评论内容较长,点击标题查看
  • --Robin's Java World
  • 5. re: 关于Java缺乏多继承机制的探讨
  • C/S客户端可以直接调用service层、传递VO对象(其实就是ActionForm)
    为何还要再写个MyClassForm
  • --ekdd

阅读排行榜

评论排行榜

2007年5月13日

关于Java缺乏多继承机制的探讨

 

最近笔者在软件产品研发过程中遇到一问题,解决起来相当的棘手。产品架构在规划阶段定位分布式多层架构,第一阶段采用B/S架构,同时研发出全部的服务端组件(Servlet和Java beans),在组件成熟并且B/S架构产品成熟的情况下,再研发C/S架构产品,这样一来,风险就大大降低了。

在B/S架构产品研发的时候,使用了Struts框架,其中的两大基础对象是ActionForm和Action。自定义的ActionForm都要继承自org.apache.struts.action.ActionForm,例如:

Public class MyClassForm extends org.apache.struts.action.ActionForm {
    Private String a;
    Private String b;
    ……
    
//getter 和 setter省略
}

 

这在B/S产品研发阶段没有任何问题,但是到了C/S产品研发阶段,问题就来了,客户端提交给服务器的数据不再是ActionForm,而是只包含字段的纯JavaBean,代码如下:

Public class MyClass {
    Private String a;
    Private String b;
    ……
    
//getter 和 setter省略
}



 

于是乎,在原来的B/S架构研发成果上,对于C/S架构产品的研发,都多了这个纯JavaBean的封装,如果业务逻辑发生变化,要对MyClassForm和MyClass都进行修改。

如果Java能支持多继承,那么就很省事情了。即自定义的MyClassForm能同时从org.apache.struts.action.ActionForm和MyClass继承:

Public class MyClassForm extends MyClass,org.apache.struts.action.ActionForm {
}




    可惜啊,JDK不支持多继承。

posted @ 2010-06-02 11:49 awp001 阅读(2063) | 评论 (10) | 编辑 收藏

TileCache安装与配置全程攻略

    前阵子想得到全国70个大中城市的Google地图,开始接触TileCache,TileCache在建立分块地图缓存,提高客户端访问速度方面绝对是一个好帮手,只不过官方文档比较的难看懂,搜索的关于安装配置方面的文章,通过摸索发现实际上不是大多数人说的那样,或多或少的漏掉一些东西了,由于本人刚接触,才疏学浅,有描述不当的地方请大家指正。
    TileCache可以作为IIS和Apache的CGI插件,由于我的应用是Windows环境下的MapServer配合Apache服务器运行,所以以下都是在Windows环境下Apache服务器完成的安装配置过程的描述。理论上IIS也可以,至于在Linux平台下,应该区别不是很大。
     TileCache的官方网站是http://tilecache.org/,在这里可以下载到最新版本的TileCache。
    我的Apache服务器版本是2.2.8,接下来安装Python,我选择的2.3版本,建议安装在驱动器根目录下(如C:\Python23 )。
    要在Apache服务器上启用Python还要下载安装一个Module,下载地址http://www.modpython.org/  ,在下载页面选择合适的版本,由于我的环境是Apache2.2.8和Python2.3,于是我选择了mod_python-3.3.1.win32-py2.3-Apache2.2.exe,安装完成后在Apache\modules目录下可以看到mod_python.so文件。
     在Apache安装目录下找到conf/httpd.conf文件,编辑该文件,在LoadModule部分增加如下设置:
    
LoadModule python_module modules/mod_python.so

    同时,还要为TileCache在Apache服务器建立虚拟目录,同样在conf/httpd.conf文件增加以下设置:

#TileCache虚拟目录
Alias /tilecache/    "F:/GIS/TileCache/2.10/"
<Directory "F:/GIS/TileCache/2.10/">
    AddHandler mod_python .py
    AddHandler python
-program .py
    PythonHandler TileCache.Service
    PythonOption TileCacheConfig F:
/GIS/TileCache/2.10/tilecache.cfg
    PythonDebug On
    PythonPath 
"['F:/GIS/TileCache/2.10/']+sys.path"
    AllowOverride None
    Options Indexes FollowSymLinks Multiviews 
    Order allow,deny    
    Allow 
from all
</Directory>

这一部分是目前相关参考资料都没有完整的说明白的地方,
第2行将虚拟目录指向TileCache的安装目录,请根据你的TileCache安装目录进行调整;
注意第4行和第5行,mod_python .py和python-program .py中“.py”前面有空格;
第7行指定TileCache配置文件路径;
第9行很重要,指定PythonPath为安装目录和系统目录,不加上sys.path通常会出现“ImportError: No module named TileCache.Service”错误;
同事为了允许匿名访问还要加上第12行。

    这样,Apache服务器的配置就完成了。
    接下来要配置TileCache了,在TileCache安装目录编辑tilecache.cgi,将第一行更改成:

#!C:/Python23/python.exe -u

保存后,将扩展名改成.py

    同样在TileCache安装目录编辑tilecache.cfg,进行以下配置:

[cache]
type
=Disk
base
=E:/TileCache
其中,base就是分块地图的缓存物理位置。
    
    这样,整个配置过程就完成了,重新启动Apache看看效果吧。用以下地址进行测试,如果出错的话,可以看到详细的出错提示,
http://127.0.0.1/tilecache/tilecache.py?LAYERS=basic&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=-180,0,-90,90&WIDTH=256&HEIGHT=256
一切正常以后可以访问http://127.0.0.1/tilecache/index.html进行浏览。

posted @ 2009-10-20 15:04 awp001 阅读(1599) | 评论 (5) | 编辑 收藏

Observer模式使用:由日志管理想到的

     摘要:   阅读全文

posted @ 2007-05-24 01:42 awp001 阅读(339) | 评论 (0) | 编辑 收藏

Hibernate源代码分析(二):设计属于我的SessionFactory和ConnectionProvider

     摘要:   阅读全文

posted @ 2007-05-20 08:00 awp001 阅读(2077) | 评论 (3) | 编辑 收藏

Hibernate源代码分析(一):设计属于我的SessionFactory和ConnectionProvider

     摘要:          过完五一长假,花了四天的时间来学习Hibernate框架的使用,作为门外汉,先是从sourceforg.net下载Hibernate3.2,先看官方文档,只有一个提纲,了解了一下各个包的结构,便开始根据Toturial实践,基本掌握了它的使用方法之后,盟生了实现自己的SessionFacto...  阅读全文

posted @ 2007-05-13 14:26 awp001 阅读(10683) | 评论 (3) | 编辑 收藏

 
Powered by:
BlogJava
Copyright © awp001