GWT三层体系结构
我正在开发基于GWT的应用程序,使用JPA作为数据访问层。我的应用程序需要支持三层体系结构。其主要思想是让HTTP服务器Apache具有静态内容html/javascript等,Web应用服务器Glassfish具有业务逻辑servlet、bean等,以及数据库服务器PostgreSQL 是否有任何简单的方法来划分为简单GWT应用程序生成的war文件的内容,以实现所描述的体系结构 也许有一个maven插件可以帮助创建带有静态内容和业务逻辑的独立war文件 我还考虑创建代理,它将拦截GWT-RPC调用并在远程服务器上调用业务方法 我发现了一篇描述这种解决方案的非常有趣的文章,但要实现我的目标需要做很多工作。希望有一个库或工具包可以简化代理生成过程GWT三层体系结构,gwt,jpa-2.0,three-tier,Gwt,Jpa 2.0,Three Tier,我正在开发基于GWT的应用程序,使用JPA作为数据访问层。我的应用程序需要支持三层体系结构。其主要思想是让HTTP服务器Apache具有静态内容html/javascript等,Web应用服务器Glassfish具有业务逻辑servlet、bean等,以及数据库服务器PostgreSQL 是否有任何简单的方法来划分为简单GWT应用程序生成的war文件的内容,以实现所描述的体系结构 也许有一个maven插件可以帮助创建带有静态内容和业务逻辑的独立war文件 我还考虑创建代理,它将拦截GWT-RPC
任何想法都将受到极大的赞赏。我有一个类似的设置,只有Tomcat而不是Glassfish,还有maven来构建一切。下面是它的工作原理。apachehttpd和Tomcat与mod_jk连接。Apache将所有请求转发给Tomcat,除了GWT模块dir让我们称之为GWT_模块,它包含所有GWT编译的东西,这些东西由Apache提供服务并配置为缓存。 rest-servlet基本上被转发到TomcatRPC、RequestFactory和其他servlet。MongoDB作为数据库服务器 以下是相关的httpd.conf部分:
JkMount /* webbalancer
JkUnMount /gwt_module/* webbalancer
Alias /gwt_module "/srv/web/app_servers/tomcat-1/webapps/ROOT/gwt_module/"
<Directory "/srv/web/app_servers/tomcat-1/webapps/ROOT/gwt_module/">
Order deny,allow
allow from all
Options -Indexes
<FilesMatch "\.cache\.*">
Header set Cache-control max-age=31536000
# Header unset ETag
# FileETag None
</FilesMatch>
# turning off ETags, to force browsers to rely only on Cache-Control and Expires headers.
# for some reason, FF wasn't using the cache for JS files if ETags are on.
Header unset ETag
FileETag None
</Directory>
# Tell clients to keep images in the cache
ExpiresActive On
ExpiresByType image/x-icon A2592000
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
#ExpiresByType application/x-javascript A2592000
ExpiresByType text/css A2592000
ExpiresByType application/xhtml+xml A2592000
# Compress output for text
AddOutputFilterByType DEFLATE text/html text/xml text/css application/x-javascript text/javascript application/javascript
注意:我不确定使用apache服务静态文件是否比只使用tomcat服务任何东西都快,我主要使用apache进行负载平衡 这是一个很酷的想法;我从来没有考虑过用ApacheHTTPD来对付GlassFish。我将根据我当前的GlassFish配置测试mod_jk,希望一切都能像您描述的那样顺利。感谢您的快速响应和帮助。我不确定使用apache服务静态文件是否比仅使用tomcat服务所有内容更快,我主要使用apache进行负载平衡。