我有一个使用appcaching的离线web应用程序。 我需要提供大约10MB – 20MB的数据(主要由PNG图像文件组成)保存(客户端)。 操作如下: Web应用程序下载并安装在appcache中(使用清单) 来自服务器PNG数据文件的Web应用程序请求(如何?请参阅下面的替代方法) 偶尔web应用与服务器重新同步,并对PNG数据库进行小部分更新/删除/添加 仅供参考:服务器是一个JSON REST服务器,可以将文件放入wwwroot中取出 这里是我目前对处理二进制BLOB存储的基于客户端的“数据库”的分析 请参见底部的更新 AppCache (通过清单添加所有的PNG,然后按需更新) CON:对PNG数据库项目的任何更改都意味着完全下载清单中的所有项目(真是坏消息!) WebStorage CON:专为JSON存储而devise CON:只能通过base64编码存储blob(由于解码成本可能是致命的缺陷) CON:webStorage硬盘限制为5MB http://htmlui.com/blog/2011-08-23-5-obscure-facts-about-html5-localstorage.html PhoneGap&SQLLite CON:赞助商将拒绝作为需要authentication的本地应用程序 ZIP文件 服务器创build一个zip文件,将其放置在wwwroot中,并通知客户端 用户必须手动解压缩(至less这是我如何看到它)并保存到客户端文件系统 Web应用程序使用FileSystem API来引用文件 CON:ZIP可能太大(zip64?),需要很长时间才能创build CON:不知道FileSystem API总是可以读出沙盒(我想是这样) USB或SD卡 (回到石器时代….) 离线前,用户将在服务器本地 所以我们可以让他插入一个SD卡,让服务器填充PNG文件 然后用户将其插入笔记本电脑,平板电脑 Web应用程序将使用FileSystem API来读取文件 CON:不知道FileSystem API总是可以读出沙箱(我这么认为) 的WebSQL CON:w3c已经放弃了(很糟糕) 我可能会考虑一个使用IndexedDB和WebSQL作为后备的Javascript包装器 FileSystem API Chrome支持读/写blob CON:不清楚IE和FireFox(IE10,有非标准的msSave) caniuse.com报告IOS和Android的支持(但是,这又是,这只是JSON的R / W,还是它包括用于写作的完整的blob API? CON:FireFox的人不喜欢FileSystem API,不清楚他们是否支持保存blob: https : //hacks.mozilla.org/2012/07/why-no-filesystem-api-in-firefox/ […]
我有一个网页,显示从服务器的大量的数据。 通信是通过ajax完成的。 每次用户交互并更改此数据(说用户A重命名的东西)它告诉服务器执行操作,服务器返回新的更改的数据。 如果用户B同时访问页面并创build一个新的数据对象,它将再次通过ajax告诉服务器,服务器将返回给用户的新对象。 在A的页面上,我们有一个重命名的对象的数据。 而在B的页面上,我们有一个新的对象的数据。 在服务器上,数据同时具有重命名的对象和新的对象。 当多个用户同时使用它时,我有什么select让页面与服务器保持同步? 这样的选项,比如locking整个页面,或者把整个状态转储给用户,每次改变都是可以避免的。 如果有帮助,在这个特定的例子中,网页调用一个静态webmethod,在数据库上运行一个存储过程。 存储过程将返回所有已经更改的数据。 静态webmethod然后将存储过程的返回转发给客户端。 赏金编辑: 你如何devise一个多用户的Web应用程序,它使用Ajax与服务器通信,但避免了并发问题? 即并发访问function和数据库上的数据,而没有任何数据或状态损坏的风险
我们正计划用Spring 4.0.6版本做一个新的应用程序。 我们使用可以返回“XML”或“JSON”的控制器。 在之前的项目中,我们已经成功地使用JAX-RS API实现了Jersey与Spring的REST支持,但是在阅读了一些老年人的文章和build议之后,他们说Spring提供了相当不错的REST支持。 如果我在不使用JAX-RS和Jersey的情况下使用Spring REST支持,那么真的让我困惑的一些观点是: Spring MVC如何编组和解组? 是否需要封送或解组需要使用jax-rs。 如果封送处理和解组处理是由spring自动处理的,那么它是如何知道xmlRootElements的。 如果Springcertificate了REST的很好的支持,那么我仍然感到困惑,那么为什么人们仍然会使用Jersey来进行REST? 真的想知道更多的细节。 如果我说错了,请忽略它。 用例子解释真的很有帮助。 提前致谢!!
我的POST方法如下所示: @POST @Consumes({"application/json"}) @Path("create/") public void create(String param1, String param2){ System.out.println("param1 = " + param1); System.out.println("param2 = " + param2); } 当我在Netbeans中创build一个Jersey客户端时,调用post方法的方法如下所示: public void create(Object requestEntity){ webResource.path("create").type(MediaType.APPLICATION_JSON).post(requestEntity); } 运行此testing时: @Test public void hello(){ String json = "{param1=\"hello\",param2=\"hello2\"}"; this.client.create(json); } 它在服务器中提供以下输出: INFO: param1 = {param1="hello",param2="hello2"} INFO: param2 = 我需要改变什么,以便参数给出正确的值?
我正在寻找更优雅的方式来刷新网页在testing(我使用Selenium2)。 我只是发送F5键,但不知道驱动程序是否有刷新整个网页的方法这是我的代码 while(driver.findElements(By.xpath("//*[text() = 'READY']")).size() == 0 ) driver.findElement(By.xpath("//body")).sendKeys(Keys.F5); //element appear after text READY is presented driver.findElement(By.cssSelector("div.column a")).click(); 也许是在手动刷新页面上查找元素的一些更好的解决scheme
我一直想知道为什么如此多的Java开发人员使用“.do”作为其Web控制器(MVC)资源的扩展。 例如: http : //example.com/register.do 它甚至不像我在Spring MVC和Struts项目中看到的那样是框架特定的。 这个“.do”扩展练习是从哪里来的。 为什么这样做,而不是没有扩展? 我觉得我错过了这个Java世界的备忘录。 我个人更喜欢没有扩展。
我遇到了meteor ,虽然看起来令人兴奋,但我想知道它是如何工作的。 我的意思是传统的Web应用程序是这样工作的:服务器上的脚本从数据库获取数据并将其dynamic添加到Web页面,用户提交的数据通过其他脚本添加到数据库中。 但是这些东西在meteor中是如何工作的呢? meteor的不同部分如何相互关联?
所以我看完了道格拉斯· 克罗克福德 (Douglas Crockford)关于Javascript的优秀系列,并且在最后一集(到目前为止)中,他阐述了为什么Node.js是服务器端代码几乎完美的解决scheme。 他谈到保持状态,而不是在数据库中,但是在运行在Node.js中的闭包中,他还指出,对于更复杂的Web应用程序,模板系统(如JSP,PHP和ASP)是一个糟糕的抽象,并且node.js提供解决这个问题。 而且我准备买入,但是我找不到任何使用此模式的Web应用程序示例,或者找不到任何有关如何去做这件事的书籍或教程。 我不是在谈论一个简单的应用程序 ,而是使用Crockford在谈话中提到的模式。 任何人都知道在哪里可以find用Node.js编写的Web应用程序的一些教程/例子(是的,我知道Geddy和ExpressJs ,但他们似乎并不遵循Crockford所说的完全不同的模式,而更像是在Node.js上获得Railsy的经验)。 [未来3年的注意事项:看起来像Express , Geddy , Sails , Kraken等都是从Ruby / PHP / Java重新实现Rails / Symfony / Spring框架。 而像连帽衫和meteor这样的事物正在尝试一种全新的范式。 KOA看起来很有趣,但是却远离了可用,但是看起来像是以过去的MVC应用的历史为基础,构build了javascript的优势。 3年过去了,对于Nodejs来说,这仍然是一个激动人心的时代,即使它不再是新的热点。 至less现在有很多使用Node的真实世界的例子…
我想在Python中使用基于WSDL SOAP的Web服务。 我已经看了一下Dive Into Python代码,但是SOAPpy模块在Python 2.5下不工作。 我尝试过使用一部分工作的泡沫 ,但是破坏了某些types(suds.TypeNotFound:Type not found:'item')。 我也看过客户端,但这似乎并不支持WSDL。 我曾看过ZSI,但看起来非常复杂。 有没有人有任何示例代码? WSDL是https://ws.pingdom.com/soap/PingdomAPI.wsdl,并且与PHP 5 SOAP客户端一起工作良好。
我们目前使用多个Web服务器访问一个MySQL服务器和文件服务器。 看着转移到云,我可以使用这个相同的设置,并将EBS附加到多个机器实例或另一种解决scheme?