问题标签 [servlet-3.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
servlets - Servlet 3.0 中 AsyncContext.start(...) 的目的是什么?
Servlet API 说“AsyncContext.start”:
无效开始(java.lang.Runnable 运行)
使容器调度线程(可能来自托管线程池)以运行指定的 Runnable。容器可以将适当的上下文信息传播到 Runnable。
从这个描述中,不清楚当作业需要等待时它与优化线程使用的任务有何关系。
在“Servlet & JSP”中,Budi Kurniawan 给出了 Servlet 3.0 异步特性的示例,在他使用的地方AsyncContext.start
,我将展示示例的简化版本:
在我遇到的大多数其他示例中,服务方法只是将 AsyncContext 存储在某处,并在其他地方进行处理(例如,由后台线程)。在此示例中,该作业看起来只是传递给另一个线程,该线程完成了请求。据我了解,现在它只是工作线程,浪费时间等待。
通过将工作(包括等待)从一个线程传递到另一个线程,您真的获得了一些东西吗?如果不是,那它的目的是AsyncContext.start(...)
什么?
jquery - 无法通过 jQuery POST 将参数传递给 Servlet
我正在使用 jQuery 发送 POST 请求:
我有一个简单的 servlet 来处理它:
但是 servlet 中的 requestMap 原来是空的。我究竟做错了什么?
编辑:忘了提到我从 JSF Facelet 页面调用这个脚本。不要问我为什么要手动发出 Ajax 请求,以及为什么要使用 servlet 来处理它们。说来话长。我知道这不是 JSF 的方式。
在@BalusC 回答之后,我尝试添加这样的 servlet 过滤器:
它奏效了!我不仅能够获得过滤器中的参数,而且还可以在 servlet 中访问它们!那么,有人能解释一下这是什么魔法吗?
servlets - HttpServletRequest.getCookies(): 数组,为什么 isHttpOnly() 函数总是返回 false?
嗨,到目前为止,我正在尝试使用 httponly cookie 这是我编写的代码
印刷
请注意,我使用的是 JBoss 7,并且在 web.xml 配置中我已添加但我认为缺少某些内容
servlet-3.0 - 如何检测 AsyncContext 是否超时?
是否可以从AsyncContext
中判断它是否已完成、超时或仍在等待完成?
我知道可以监听timeout
或complete
事件,但我不希望AsyncListener
仅仅为了记录这些信息而定义 4 个监听器方法。
grails - Grails - Servlet 3.0 异步请求处理
我今天发现了 Servlet 3.0 异步工具。我已经阅读了它,并认为我理解了这个概念。
我想知道:这会对“标准”控制器的操作产生任何影响,还是应该将其保存以供 Web 服务或广泛的计算过程使用?
换句话说,将它用于所有控制器的动作,而不事先考虑动作方法的计算时间是不是一个坏主意?如果是,你能给我解释一下为什么吗?
先感谢您。
java - 以编程方式添加 Servlet 或过滤器有哪些优点或用例?
这个问题让我想知道,因为我没有看到使用 contextListener (据我所知运行一次)以编程方式添加 servlet 优于 DD 或 Annotations。我想知道一个常见的用例,它有助于以编程方式添加它们。
如果有一种方法可以在运行时(在应用程序运行期间)以编程方式添加 servlet,我可能会想到一些情况,但似乎只能通过 contextListener 或
来自 ServletContainerInitializer 实现的 onStartup 方法。
正如 Servlet 3.0 所述。
java - 我需要 Web/JavaEE 容器中的一个线程来完成同一个 JVM 中的 AsyncContext objs
我需要 Web/JavaEE 容器中的线程来从外部源获取信息并在同一 JVM 中完成相应的 AsyncContext obj。
我希望有一个零延迟解决方案,因此排除了定期轮询或计时器。
我可以启动一个线程,但我相信它在 Web 容器中不受欢迎并且不可移植。Q1。是否可以在 Java EE 容器中可移植地运行线程?
Q2。如果我想在 Web 容器中运行一个线程,那么“最不邪恶”的方式是什么? 初始化上下文?执行服务?线程运行?
谢谢!
security - How to use HttpServletRequest#login() programmatic login with SHA-256 configured security realm
i have read there, i am using glassfish 3.1.1 security realm configured with sha-256 digest algorithm. is there any tutorial about this ? maybe i am blethering, i am trying to login with this code:
result variable returns 1, but request.login(userName, password); method in if condition always throws servletexception.
jakarta-ee - AsyncContext.start() 的预期用例是什么?
有人刚刚指出 AsyncContext.start() 是一种从 Web 容器中启动线程的方法。我想知道将此调用添加到 Java EE 的预期用例是什么?
java - Jetty 正确关闭异步 http 请求,并且不会留下可怕数量的睡眠线程
我的应用程序使用嵌入式 Jetty 作为 http 接口,它似乎在正常运行 2-3 周后挂起。经检查,有很多休眠线程,所以我用 jvisualvm 在本地运行它,然后用 pyplot 和一堆简单的 get 敲出来,发现线程的数量总是在增加,其中大部分都在休眠。
我的代码专门处理带有异步侦听器的异步上下文的异步请求,并且基本上间歇性地休眠,直到它找到由主应用程序填充的结果哈希结果。如果结果从未出现,则请求超时。
一位同事建议我可能没有正确关闭请求。是这样吗?我在下面附上了我的代码以供您批评(在 jvisualvm 情节之后)。谢谢!
码头服务器:
异步 HTTP 请求处理器: