问题标签 [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.
jsf-2 - 在 JSF 2.0 preRenderView 监听器中使用 HttpServletRequest authenticate() 时出现问题
我正在尝试在 preRenderView 侦听器方法中使用 authenticate(),以便有条件地触发身份验证,具体取决于页面中的视图参数。我尝试添加一个简单的方法:
}
authenticate 方法本身不会抛出异常,它会按预期触发到 Login.xhtml 的重定向。但是,我进入我的服务器日志,我得到了这个异常:
所以我的请求没有重定向到 Login.xhtml。
我的问题是 - 这是应该在 JSF 托管 bean 中工作的东西,还是只在 JSF 请求生命周期之外合法?我尝试从 WebFilter 调用 authenticate(),它按预期工作。
谢谢,艾伦
authentication - 是否可以在没有领域的情况下使用 JSF 2.0 和 Glassfish 进行身份验证?
我有一个例程检查几个用户/密码是否正确(它只是询问另一台服务器并返回真或假)。我想使用它而不是实现领域文件或 jdbc 领域。这背后的原因是因为我不想管理密码。有没有办法实现这样的授权?我知道 servlet 3.0 中的编程安全性指定了像 HttpServletRequest.login 这样的方法。我可以改用自己的登录功能吗?谁能建议我怎么做?
我的应用程序只需要一个简单的授权模型:如果用户未通过身份验证,他将只能访问登录页面;如果用户通过身份验证,他将有权访问所有页面。
我正在使用 JSF 2.0 和 Glassfish 3.1。
java - 如何正确检测 servlet 规范 3 中的客户端断开连接?
我已尝试写入响应,因为没有适当的断开回调:
但这似乎不是诀窍。当客户端断开连接时,写入和刷新缓冲区没有抛出异常。
奇怪的是,第二次尝试写入输出流时(断开连接后),写入确实会引发异常。看起来你第一次写/刷新它时,一些内部状态被设置为错误,没有通知。
我在 Jetty 8 和 Tomcat 7 上都试过了,我看到了同样的行为。
有没有办法查明客户端是否收到了消息?我错过了什么吗?
security - 在 JSF 生命周期中使用 HttpServletRequest authenticate() 时出现问题
我正在尝试在 JSF 托管 bean 中使用 HttpServletRequest 身份验证来实现细粒度身份验证,具体取决于请求的特定对象。
当我在 preRenderView 事件侦听器中调用身份验证时,如果身份验证导致重定向到登录页面,则会引发异常。我无法在调用进行身份验证后调用 responseComplete,因为 FacesContext.getCurrentInstance 返回 null。是否可以在 JSF 中调用 authenticate(),还是必须使用 ServletFilter?HttpServletRequest 登录和注销在 JSF 中工作,所以我认为假设身份验证应该工作是合理的。这是 Mojarra JSF 中的错误吗?
这是我的代码:
注册事件监听的页面:
包含监听器的 bean:
对 authenticate() 的调用不会引发异常,但是如果它返回 false,那么 FacesContext.getCurrentInstance() 也会返回 null,并且在方法退出后我会收到此错误:
谢谢,艾伦
java - Servlet 3.0:@WebServletContextListener 在哪里?
我正在尝试遵循 Servlet 3.0教程,该教程指的是@WebServletContextListener
. 但是,我在我的依赖项中找不到这样的注释javaee-web-api-6.0.jar
(我使用的是 maven)。
那么,在哪里@WebServletContextListener
?
java - 无法导入 javax.servlet.annotation.WebServlet
我已经开始编写可以在 Google App Engine 上运行的应用程序。
但是当我想使用从 Netbeans 到 Eclipse 的代码时,我遇到了以下错误:
和
错误是:
我尝试将其导入servlet-api.jar
Eclipse 但仍然相同,还尝试构建和清理项目。我不在我的 Eclipse 上使用 Tomcat,只在我的 Netbeans 上使用它。我该如何解决这个问题?
jquery - 我无法使用 getJson 读取 JSON
我知道我的问题已经被回答了很多次,但我仍然无法弄清楚如何为我工作。我现在正在尝试 2 天来通过阅读论坛来解决我的问题,但我可能在基本知识方面有问题,我无法找到并且我需要你的帮助。
我有一个创建 JSON 的 servlet(至少我是这么认为的),这是代码
如果我运行 servlet,我会得到以下信息:
我的jQuery如下:
也许这不是正确的阅读方式,但它永远不会进入第二个警报“something3”。所以我认为它从不读取 JSON。我尝试了很多方法来阅读它,但似乎问题在于从不读取 JSON。
我在 tomcat 7.0.22 上运行 servlet @WebServlet("/RandomNumGen")
,我认为这意味着我不需要 web xml 但没有运行,所以我决定也创建一个 web.xml。奇怪的是,当我尝试使用 MIME“text/html”返回某些内容并通过正常 get 获取$.get
它时,它确实得到了它并[Object object]
在浏览器上打印。
显然我以前没有使用过 JSON,我可能会错过基础知识,因为我在教程中运行得非常快。
java - IllegalStateException:在 AsyncContext.startAsync(req, res) 上不支持
我创建了一个 servlet 3.0 来探索异步请求处理:
但我得到了一个IllegalStateException
何时.startAsync(...)
被调用。我知道 Javadoc 提到了该异常,但我确实明确启用了异步(cfWebServlet
注释)。我正在使用随 NetBeans 提供的 Tomcat 7.0.11.0。
我可以确认req.isAsyncSupported()
返回错误。我究竟做错了什么?我还需要做什么才能启用异步处理?
编辑:
我尝试实现以下示例并遇到相同的问题。
java - 将 Jersey 资源部署到 Servlet 3.0 API 感知容器中失败了
(我不小心删除了我在这个问题中提到的要点;很抱歉给您带来不便。)
问题
我正在尝试按照Jersey's user guide使用Servlet 3.0 API来部署 Jersey 根资源(那些带有@Path
注释的资源)。
我在 GitHub 上创建了一个包含两个类的要点:Foo.java
这是通过其方法Application
公开Bar.java
(资源类)的子类。getClasses()
(也有一个pom.xml
,所以任何人都可以轻松地为自己/他自己尝试一下。)
但是,当我尝试将打包的战争部署到 Jetty 8.0.x 实例时,我在 pastebin 处获得了可用的输出。
Foo.java
被调用,它的getClasses()
方法也被调用,而Bar.java
从未被调用。
我可以在 到达 Jetty 的欢迎页面http://localhost:8080/
,但是我无法到达http://localhost:8080/foo
或http://localhost:8080/foo/bar
。后两者导致以下错误:
未找到错误
自定义 404 页面
可能是什么问题呢?我在这里做错了吗?
答案
鉴于我使用的 WAR ( test-0.0.1-SNAPSHOT.war
),我的应用程序路径变成http://localhost:8080/test-0.0.1-SNAPSHOT/foo/bar
了http://localhost:8080/foo/bar
. 看看我在那里做了什么?好的。把它铭刻在你的脑海中,否则会失去你生命中 3 到 5 个宝贵的时间!
jakarta-ee - 如何下载适用于 tomcat 7 的 servlet 3 依赖项
我正在使用 servlet 2.5,如下所示:
我想使用 servlet 3,因为我正在迁移到tomcat 7,所以我可以使用EL 2.2,当我添加以下依赖项时,找不到它:
更新:
我正在使用Spring 3、JSF 2、Tomcat 7
那么你们有什么建议呢?