从Host Model到 Web Model

转载:http://hi.baidu.com/marsjin/blog
从Host Model到 Web Model

在Host Model方式下,GWT并不将Java代码编译为JavaScript,而是在GWT环境中直接运行Java bytecode,

但是项目正式部署之后使用的是Web Model,那么如何从Host Model迁移到Web Model呢?


首先需要将Java代码编译为JavaScript代码。

使用如下命令可以将Java代码编译为JavaScript代码:

java -cp "%~dp0\src;%~dp0\bin;%~dp0\../../gwt-user.jar;%~dp0\../../gwt-dev-windows.jar" com.google.gwt.dev.GWTCompiler -out "%~dp0\www" %* com.google.gwt.sample.hello.Hello


-cp 指定源代码目录,Class目录,和GWT的jar文件的路径

-out 指定JavaScript代码的输出路径

com.google.gwt.sample.hello.Hello 指定编译的Module,一般是gwt.xml文件中entry-point类去掉client之后的内容。


当代码量比较大的时候,需要指定Java使用内存的大小,否则会内存溢出。

java -Xmx512m -Xms128m -cp "%~dp0\src;%~dp0\bin;%~dp0\../../gwt-user.jar;%~dp0\../../gwt-dev-windows.jar" com.google.gwt.dev.GWTCompiler -out "%~dp0\www" %* com.google.gwt.sample.hello.Hello


之后将编译成的JavaScript代码拷贝到Web项目的根目录中,与WEB-INF相同层次的目录。


最后需要将gwt.xml文件中定义的service编程对应的Servlet。

<servlet path='/calendar' class='com.google.gwt.sample.dynatable.server.SchoolCalendarServiceImpl'/>


=>


<servlet>

<servlet-name>Calendar</servlet-name>

<servlet-class>com.google.gwt.sample.dynatable.server.SchoolCalendarServiceImpl</servlet-class>

</servlet>


<servlet-mapping>

<servlet-name>Calendar</servlet-name>

<url-pattern>/calendar</url-pattern>

</servlet-mapping>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值