- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我会先问我的问题,然后再详细介绍:hosted.html
在DevMode
中扮演什么功能文件?为什么从hosted.html?<module-name>
之类的页面请求该文件?如何控制/配置该请求返回的内容?如果有人回答了这个问题,我会投票赞成并接受答案,因为我本人已经找到了第二个和第三个问题的答案,而且这些问题似乎与我的问题无关。
有什么方法可以触发GWT缓存刷新,而不是普通的浏览器Ctrl-F5
?我看到在编译clear.cache.gif
文件期间生成的每个模块中-它与GWT缓存有什么关系?我已经回答过了,在这种情况下似乎没有多大帮助
我是否正确指定了DevMode
的-war
路径(见下文)?我应该改为指定src/main/webapp
文件夹的绝对路径吗?我已经回答过了,在这种情况下似乎没有多大帮助
我的设置有什么问题,为什么我遇到以下问题? (可选答案,但如果回答正确-我将立即投票并接受答案:))
编辑-有关第一个问题的详细信息
因此,我的webapp中有2个GWT模块:login
和dashboard
。问题是,在仅包含DevMode
模块的login.html
页面login
中,总是正常加载,发出以下请求
GET http://localhost:8080/login/hosted.html?login 200 OK
hosted.html
页面,该页面由GWT编译器生成并放入每个模块的文件夹中。
dashboard.html
模块的
dashboard
页面通常无法加载,因此发出以下请求:
GET http://localhost:8080/dashboard/hosted.html?dashboard 304 Not Modified
Cache-Control:private
Date:Tue, 17 Dec 2013 13:07:40 GMT
ETag:W/"11781-1367504122000"
Expires:Thu, 01 Jan 1970 03:00:00 EET
Last-Modified:Thu, 02 May 2013 14:15:22 GMT
Server:Apache-Coyote/1.1
login.html
页面,而不是我期望的标准
hosted.html
文件。请注意,这种情况在过去半年中很少发生,可以通过多次按Ctrl-F5来解决。但是从昨天开始,这种情况总是发生。
hosted.html?dashboard
发出请求,以及谁对这种请求做出奇怪的响应。
304 Not Modified
。在调试Catalina代码时,发现问题出在
org.zeroturnaround.javarebel.integration.fileservlet.FileServlet
类,该类最终提供了文件。此类来自
JRebel
(版本5.2.2),该类与Tomcat使用
-javaagent
选项一起启动。如果删除
-javaagent
选项并在没有
JRebel
的情况下启动Tomcat,则一切正常,并提供了正确的文件。将尝试更深入地研究并找出JRebel班上的问题。
JRebel-5.4.2
后,错误仍然存在。
Zeroturnaround
论坛上的开始主题:
Devmode
和
login
的模块的webapp的
dashboard
遇到问题。 Webapp正在本地部署到标准的tomcat安装,并具有如下目录结构:
<tomcat_folder>/webapps/ROOT/login.html
<tomcat_folder>/webapps/ROOT/login/
<tomcat_folder>/webapps/ROOT/login/<single gwt.rpc file>
<tomcat_folder>/webapps/ROOT/login/<multiple .cache.html files>
<tomcat_folder>/webapps/ROOT/login/gwt/<standard files>
<tomcat_folder>/webapps/ROOT/login/clear.cache.gif
<tomcat_folder>/webapps/ROOT/login/login.nocache.js
<tomcat_folder>/webapps/ROOT/login/hosted.html
<tomcat_folder>/webapps/ROOT/dashboard.html
<tomcat_folder>/webapps/ROOT/dashboard/
<tomcat_folder>/webapps/ROOT/dashboard/<two .gwt.rpc files>
<tomcat_folder>/webapps/ROOT/dashboard/<multiple .cache.html, .cache.png, etc files>
<tomcat_folder>/webapps/ROOT/dashboard/gwt/<standard files>
<tomcat_folder>/webapps/ROOT/dashboard/clear.cache.gif
<tomcat_folder>/webapps/ROOT/dashboard/dashboard.nocache.js
<tomcat_folder>/webapps/ROOT/dashboard/hosted.html
<tomcat_folder>/webapps/ROOT/dashboard/<other css and image resources used by page>
<tomcat_folder>/webapps/ROOT/<other files of webapp>
login.html
包含对
login.nocache.js
文件的引用,如下所示:
<script src="login/login.nocache.js" type="text/javascript" language="javascript"></script>
dashboard.html
分别包含对
dashboard.nocache.js
文件的引用:
<script src="dashboard/dashboard.nocache.js" type="text/javascript" language="javascript"></script>
DevMode
启动
Eclipse
:
-remoteUI "${gwt_remote_ui_server_port}:${unique_id}"
-startupUrl http://localhost:8080/login.html -logLevel INFO
-noserver -war <absolute-path-to-tomcat-folder>/webapps/ROOT
-codeServerPort 9997
org.yura.cases.DashboardModule org.yura.cases.LoginModule
DevMode
中无法正常工作,例如,我成功使用
DevMode
的时间有95%-调试代码,更改在Eclipse等中
http://localhost:8080/dashboard.html?gwt.codesvr=127.0.0.1:9997
GET http://localhost:8080/dashboard/login/login.nocache.js/ 404 (Not Found) hosted.html:10
hosted.html:10
文件时,我看到此文件是从以下URL加载的:
http://localhost:8080/dashboard/hosted.html?dashboard
login.nocache.js
的错误路径:
<script src="login/login.nocache.js" type="text/javascript" language="javascript"></script>
login/login.nocache.js' is relative path and it resolves to
dashboard / login / login.nocache.js`)
Ctrl-F5
几秒钟即可重新加载页面并清除浏览器缓存,并最终将页面正常加载到
DevMode
中,从而绕过了这个问题。但是,今天,无论我按
Ctrl-F5
多长时间,该错误仍然存在。因此,我决定一劳永逸地解决这个问题。
最佳答案
找到了我的第二个和第三个问题的答案,尽管它们似乎对解决我的问题没有太大帮助。无论如何,在这里分享它们:
问题2.除了普通浏览器Ctrl-F5,还有什么方法可以触发GWT缓存刷新?在编译过程中生成的每个模块中
clear.cache.gif文件-它与GWT缓存有什么关系?
根据http://www.gwtproject.org/doc/latest/DevGuideCompilingAndDebugging.html#launching_a_browser:
修改源代码后,您无需重新启动开发模式。相反,在开发模式仍在运行的情况下,编辑客户端代码或资源,保存更改,然后在浏览器中刷新页面。
并且根据GWT project directory creation by hand:
clear.cache.gif是一个1x1可缓存图像,用于为标记添加占位符。请参见http://code.google.com/p/google-web-toolkit/wiki/ImageBundleDesign(“裁剪图像的构造函数”)
因此,事实证明,就我而言,按F5或Ctrl-F5完全可以解决问题,并且没有其他“刷新” GWT缓存的方法,至少已经向公众公开了。
问题3.我是否正确指定了DevModes -war路径(请参见下文)?我应该改为指定src / main / webapp文件夹的绝对路径吗?
是的,根据Using my own server in development mode instead of GWT's built-in Jetty instance教程,我已经正确指定了-war
选项。
编辑-找到第四个问题的答案(解决我的问题)
好的,结果发现该错误在org.zeroturnaround.javarebel.integration.fileservlet.FileServlet
类中,在极少数情况下,该类错误地处理了ETag
标头。这就是为什么它提供Tomcat先前返回的login.html
内容的原因,这是由于未经身份验证的对受保护的/dashboard/hosted.html?dashboard
资源的访问(Tomcat的奇怪但标准的行为)。 JRebel的错误修正应该会出现在今天的夜间版本中,我99%的肯定它会起作用:)
有关详细信息,请参阅以下讨论:http://zeroturnaround.com/forums/topic/gwt-devmode-tomcat-7-0-39-possible-fileservlet-bug/#post-39379
真的希望这对其他人有帮助:)
关于java - GWT,Tomcat,2个模块,JRebel:DevMode在错误的位置查找nocache.js并显示未找到404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20630232/
Apache Tiles 是否有像 Struts 一样的 devMove,可以根据每个请求重新加载tiles.xml 文件?如果是这样,如何启用它? 最佳答案 这是另一个使用监听器而不是过滤器的工作配
我需要为当前打印任务更改打印机的 DEVMODE 以通过标准和特定于设备的设置。我执行以下操作: PrintDocument d = new PrintDocument(); d.PrinterSet
我刚刚下载了 GWT 2.5.1 SDK。我跑了: ./webAppCreator -out /home/myUser/tmp/dummygwt/ com.dummygwt.OhHai 它为我创建了一
在使用我们自己生成的证书(不是由 Corda 节点在 devMode=true 中生成的证书)时,我们在调出 Corda 代码时面临以下问题。 以下是我们所做的步骤: 根据 https://docs.
我使用 vaadin 6 开发了一个 GWT 小部件。我需要使用 DevMode(托管模式)来测试该小部件。我正在使用 Eclipse (Helios)。当运行 DevMode 时,我测试了 IE、F
我在使用 DEVMODE 结构的 dmColor 字段时遇到问题。 我的默认打印机是彩色打印机,如果我通过控制面板将打印机属性的颜色默认输出为黑白,则 DEVMODE.dmColor 字段始终返回 D
由于某种原因,我在调试 GWT 项目时没有互联网连接。在 DevMode 下运行 GWT 项目时是否需要互联网连接?我可以在没有互联网连接的情况下运行我的代码吗? 当我运行项目时,浏览器显示: 最佳答
我刚刚阅读了 GWT Guide for Compiling and Debugging并有几个类似的相关问题: -whitelist 和 -blacklist DevMode 选项的示例用例是什么?
我有一个简单的 GWT 应用程序。每当我为生产运行 gwt 编译时,我还会看到生成了一个扩展名为 .devmode.js 的文件。 问题: 这看起来像是一个与开发模式相关的文件;在生产中运行时我真的需
GWT 2.5.1 随时运行 GWT DevMode在 /tmp 下生成一个新的巨大缓存文件现在目录,因此 OS警告 low disk space .然而,这个问题过去从未出现过。 文件 gwtXXX
当我启动 Jetty 时,它会给我标准 URL:http://127.0.0.1:8888/index.jsp?gwt.codesvr=127.0.0.1:9997 太棒了。我可以从我的机器上看到这个
经过几个小时的搜索解决方案,我需要问你。也许这个问题是重复的,但请问我该如何解决: 当我以 GWT Dev 身份运行元素时,在 netbeans 中。模式(托管模式)浏览器警告如下(当我选择菜单项时,
我在 gwt 开发模式调试中遇到了一个奇怪的问题。 以下是我正在编写的 JSNI 包装器 https://github.com/sillysachin/GWTAMChart 这是一个相当小且简单的项目
我通过在 struts.xml 中放置以下常量来启用 struts 2 的开发模式 我的页面加载非常慢,并且可以在控制台上看到很多 mime 类型的输出。 例如:- xwd
我正在 eclipse 上开发一个 GWT 项目,当我运行开发模式时一切正常。但是当我在我的 tomcat 服务器上部署 WAR 文件(按照本指南 click 生成)时,http://localhos
我每天都在使用脚本。这是一个 headless 的 chrome,每 5 分钟检查一次站点,然后突然打开 devmode,我似乎无法将其关闭。这是我的脚本: from selenium import
我似乎无法编译某些 C++ 代码。我正在翻转显示器的方向,但 VS2008 告诉我 DMDO_90 和 DMDO_270 未被识别: error C2065: 'DMDO_90' : undeclar
如何在 win32 中获取当前分辨率?我知道我可以使用 GetMonitorInfo 获取监视器的当前边界矩形,但我怎样才能同时获取位深度?差不多,我如何获得给定监视器的 DEVMODE 结构? 我使
我已经使用 Gradle 作为构建管理建立了一个 GWT 元素,一切都很好。 我可以在 eclipse 中将我的元素部署到我的本地 tomcat,并且应用程序按预期运行。但是,如果我启动 DevMod
有人知道如何使用有效的 WebsocketConnection 在 DevMode 下运行我的应用程序吗?首先,我认为缺少的jetty jar(websocket、continuation、http、
我是一名优秀的程序员,十分优秀!