这个项目基于GXT的WebDesktop,是一个模拟Windows系统的web应用。
原始的GXT版本连接在此:
http://www.extjs.com/examples/desktop.html
我这个项目也是基于GXT的WebDesktop,实在是因为本人美工方面不行,特别是对CSS很不熟悉,只好借用别人的系统做为基础。
WebDesktop仅仅提供了仿桌面的一个效果,而我这个项目主要是对WebOS的内部架构进行设计,使得该系统做为一个基础平台,开发者能够非常方便的在这个系统上开发自己的应用程序。
该项目DEMO地址:
http://web977712.host66.chinajsp.net
在DEMO中也有源代码可以查看,对应仅仅想了解的人来说,无需下载,在线查看即可。
下面介绍一下系统的启动过程
一.启动系统
此系统基于GWT,GXT搭建
需要配置GXT的环境,主要是指GXT jar包的导入,资源文件的导入,HTML中GXT CSS的导入(该方面的内容不再详述,参见GXT解压包里面的说明文件)
本人采用Eclipse GWT插件
创建一个GWT工程,在gwt.xml配置文件中加入
<inherits name="com.single.os.core.Desktop"></inherits>
同时删除不需要的一些配置
在入口EntryPoint中加入如下代码
public void onModuleLoad() {
OS.setup();//启动系统
}
运行程序,系统即可启动(仅为基础平台,不包含应用程序)
二.安装应用程序
此系统支持扩展第三方应用程序,在内置jar包中包含几个应用,如内置浏览器(browser)和聊天工具(talk)
安装应用程序的方法如下:
1.在gwt.xml配置文件中加入应用程序的模块
<inherits name="com.single.os.browser.Browser"/>
2.OK,就这么简单,启动 OS.setup();
三.系统自带的前后台互动消息机制
在GXT MVC框架下,系统实现了一套前后台互动的消息传递机制
所属模块:
com.single.os.event.Event
聊天应用程序talk即需要前后台交互,依赖此消息机制
举例添加聊天应用程序的步骤:
1.在gwt.xml配置文件中添加
<inherits name="com.single.os.event.Event"/>
<inherits name="com.single.os.talk.Talk"/>
2.在web.xml中添加servlet配置
YourModuleName替换成你自己启动模块的名称
<!-- 消息机制Servlet -->
<servlet>
<servlet-name>os-event</servlet-name>
<servlet-class>com.single.os.event.server.serviceimpl.EventServlet</servlet-class>
</servlet>
<!-- Talk聊天Servlet -->
<servlet>
<servlet-name>os-talk</servlet-name>
<servlet-class>com.single.os.talk.server.serviceimpl.TalkServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>os-event</servlet-name>
<url-pattern>/YourModuleName/os-event</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>os-talk</servlet-name>
<url-pattern>/YourModuleName/os-talk</url-pattern>
</servlet-mapping>
3.启动程序,OK!
已经附上了源代码,如果发现在Eclipse里面打开有中文乱码的问题,请设置好编码。
Window->Preference->General->Workspace->Text file encoding 设置utf-8 ,然后重启Eclipse
工程编码请务必使用UTF-8
PS:此源代码仅供尝鲜,未来变数太多,改动可能会很大