由于Jboss 支持Servlet 3.0,servlets 可以以异步方式提供服务。但是,我该如何配置 jboss 或应用程序,以便可以异步方式提供静态资源(如 javascript 文件、css 文件和图像)?
以下链接也无济于事 https://docs.jboss.org/jbossweb/7.0.x/aio.html
有人做过吗?
最佳答案
据我所知以及我所阅读的所有内容,Servlet 3 中的异步支持不提供网络资源。用于异步处理HttpServlet
Requests
和 Responses
这样您的 AJAX 就不会因为等待数据库连接池等而挂起。
如何异步提供 JavaScript 和 CSS
重要的是放置您所有的
<script>
<body>
的末尾 标记/调用, 就在</body>
之前.这可确保在获取或运行脚本之前加载您的 HTML。异步提供 JavaScript 服务的最简单方法是使用 HTML5 并添加“async”属性。 注意:这只能用于将 JavaScript 代码与
src
链接起来属性,它不适用于<script>
中的 JavaScript标签。<script async src="../js/your-javascript-code.js"></script>
如果您不能使用 HTML5 或
async
不支持属性,您可以执行以下摘自 Thinking Async 的操作:(function(d, t) { var g = d.createElement(t), s = d.getElementsByTagName(t)[0]; g.src = '//third-party.com/resource.js'; s.parentNode.insertBefore(g, s); }(document, 'script'));
Dynamically loading css file using javascript with callback without jQuery
如果您有兴趣,这里正在工作example如何使用 Servlet 3 异步功能,演示它的预期用途,在 JBoss 上运行。
关于asynchronous - Jboss 7 异步提供静态资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23083929/