当前位置: 首页 > news >正文

淘宝式网站建设品牌策划方案ppt模板

淘宝式网站建设,品牌策划方案ppt模板,建设手机版网站,网站建设团队拍照上周#xff0c;我与某人谈论了Grails 2中对Servlet 3.0异步功能的新支持#xff0c;并意识到我对可用功能并不了解。 所以我想我会尝试一下并分享一些例子。 该文档对这个主题有些了解#xff0c;因此首先介绍一些背景信息。 在3.0规范中进行异步工作的主要方式是javax.ser… 上周我与某人谈论了Grails 2中对Servlet 3.0异步功能的新支持并意识到我对可用功能并不了解。 所以我想我会尝试一下并分享一些例子。 该文档对这个主题有些了解因此首先介绍一些背景信息。 在3.0规范中进行异步工作的主要方式是javax.servlet.ServletRequest类中的新startAsync方法。 这将返回javax.servlet.AsyncContext接口的实例该实例具有生命周期方法例如dispatch和complete 为您提供了对请求和响应的挂钩并允许您注册javax.servlet.AsyncListener 。 您调用传入Runnable的start方法来执行异步工作。 使用这种方法可以释放服务器资源而不是进行阻塞这可以提高可伸缩性因为您可以处理更多的并发请求。 为了使用此功能处理请求的servlet必须支持异步并且过滤器链中所有应用的过滤器也必须支持。 主Grails Servlet GrailsDispatcherServlet 在web.xml模板的3.0版本中注册并且async-supported属性设置为true。 Servlet3AsyncWebXmlProcessor生成后将async-supportedtrue/async-supported到web.xml中的所有过滤器声明中。 这样就为您覆盖了 您没有必需的web.xml配置。 您还必须配置为使用Servlet API 3.0。 这很容易做到 只需将grails.servlet.version的值grails.servlet.version为“ 3.0 默认值“ 2.5”。 请注意application.properties中有一个旧设置名称为app.servlet.version ; 您应该从application.properties文件中删除此行因为它的值在运行时会被BuildConfig.groovy中的值忽略并覆盖。 但是您不会在控制器的请求上调用startAsync 直接在控制器上调用startAsync 。 此方法是作为控制器方法添加的作为Controller的AST转换的一部分从ControllersAsyncApi连接 如果您感到好奇可以通过ControllerAsyncTransformer连接 。 调用控制器的startAsync方法非常重要因为它可以执行所有标准工作而且还可以添加Grails集成。 这包括添加逻辑以集成所有已注册的PersistenceContextInterceptor实例例如将Hibernate Session绑定到线程完成后刷新等并与Sitemesh集成。 这是通过返回的实例来实现的 GrailsAsyncContext为其余部分添加额外的行为并委托给容器提供的实际实例例如Tomcat中的org.apache.catalina.core.AsyncContextImpl 。 请求中还有其他一些与异步相关的新方法。 它们包括boolean isAsyncStarted()和AsyncContext getAsyncContext() 。 我已经附加了一个示例应用程序请参阅下面的链接以演示这些功能。 有两个部分 一个异步查询股票价格的简单控制器以及一个聊天应用程序。 StockController非常简单。 它只有一个动作因此会暂停以查询所请求的股票报价器的当前股价。 它异步执行此操作但通常速度非常快因此您可能看不到与串行方法的真正区别。 但是这种模式可以推广到执行更多耗时的任务。 调用http// localhost8080 / asynctest / stock / GOOGhttp// localhost8080 / asynctest / stock / AAPLhttp// localhost8080 / asynctest / stock / VMW等进行测试。 第二个示例涉及更多并基于Java EE 6 SDK中的“ async-request-war”示例。 这实现了一个聊天应用程序它以前是通过Comet实现的。 SDK的示例是一个大servlet。 我将其拆分为一个控制器以执行标准请求工作并将其ChatManager为ChatManager类在resources.groovy中注册为Spring Bean来处理客户端注册消息排队和调度以及相关的错误处理。 该实现使用隐藏的iframe来启动长时间运行的请求。 它永远不会完成并且用于将消息发送回每个注册的客户端。 当您“登录”或发送消息时控制器将处理请求并将响应消息排队。 然后 ChatManager循环遍历每个已注册的AsyncContext 并将JSONP发送到iframe该iframe使用传入消息更新主页中的文本区域。 使我困扰了很长时间的一件事是该示例在SDK示例中运行良好但在我的示例中却无法运行。 一切看起来不错但iframe并未收到消息。 事实证明这是由于进行了适当的优化以使响应呈现尽可能快。 不幸的是这导致响应编写器上的flush()调用被忽略。 由于我们需要响应式更新并且不会呈现较大的html页面因此我添加了代码来查找由Grails代码包装的真实响应并直接发送给它。 在两个浏览器中打开http// localhost8080 / asynctest /尝试一下。 一旦您“登录”到两者发送的消息将在两个浏览器中显示。 有关测试应用程序的一些注意事项 所有客户端逻辑都在web-app / js / chat.js中 grails-app / views / chat / index.gsp是主页 它创建了文本区域来显示消息而隐藏的iframe保持连接状态并收听消息 这需要实现3.0规范的Servlet容器。 由tomcat插件提供并由run-app使用的Tomcat版本而所有7.x版本的Tomcat都有。 我运行install-templates并编辑了web.xml以添加metadata-completetrue以防止Tomcat扫描所有jar文件中的带注释的类–由于版本7.0.26中已修复的错误当前未发布 因此这可能导致OOME 由于聊天部分基于旧代码因此它使用Prototype但可以轻松使用jQuery。 您可以在此处下载示例应用程序代码。 参考 An Solipsists博客上的JCG合作伙伴 Burt Beckwith 提供的在Grails 2.0中使用Servlet 3.0异步功能 。 翻译自: https://www.javacodegeeks.com/2012/06/using-servlet-30-async-features-in.html
http://www.huolong8.cn/news/235896/

相关文章:

  • html做的好看的网站一句话介绍网站开发
  • 苏中建设集团网站官网wordpress 根据权限获取用户信息
  • 网站建设制作费绵阳最有实力的公司网站建设
  • 山东安康建设项目管理有限公司网站石家庄网站建设q.479185700棒
  • 怎么制作网站视频汕头网站建设网站推广
  • 无障碍网站建设的摘要怎么定义自豪地采用WordPress
  • 购物网站技术实施方案友情链接怎么设置
  • 小说网站制作开源泾县网站seo优化排名
  • 贵阳网站维护培训2018十大网络营销案例
  • 企业网站设计论文摘要怎么写python网站和js做网站
  • 网站建设 推广 公司局域网 wordpress
  • 企业网站网页设计的步骤网站经常做封面的那些番号
  • 做网站 前途北京高端网站建设工作
  • 淘宝的网站建设方案网页设计实训报告题目来源
  • 公司内部 网站开发wordpress 局域网
  • 成都公司网页制作服务电话seo网址
  • 网站建设厘金手指排名二二长沙建设工程信息网
  • 网页图成都网站排名 生客seo怎么样
  • 广州网站改版腾讯企业邮箱注册申请
  • 上海p2p网站建设自建团队网站开发要多少钱
  • 用vs做购物网站代码wordpress google字体本地
  • 一个空间可以放两个网站吗网站制作优化推广
  • 学校的网站建设费如何入账管理网站开发教程
  • 爱站网站长seo综合查询工具设置网站语言
  • 南京网站设计是什么在浴室里做的网站
  • 网站开发网页前置开发市桥做网站
  • 以营销为导向的网站建设免费商标图案logo
  • 如何做网站推广自己的产品哪个网站可以做竖屏
  • 北京网站建设的价格天人人车网站建设
  • 淮安设计网站网站首页模块如何做链接