问题标签 [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.

0 投票
1 回答
1818 浏览

jsf-2 - 在 JSF 2.0 preRenderView 监听器中使用 HttpServletRequest authenticate() 时出现问题

我正在尝试在 preRenderView 侦听器方法中使用 authenticate(),以便有条件地触发身份验证,具体取决于页面中的视图参数。我尝试添加一个简单的方法:

}

authenticate 方法本身不会抛出异常,它会按预期触发到 Login.xhtml 的重定向。但是,我进入我的服务器日志,我得到了这个异常:

所以我的请求没有重定向到 Login.xhtml。

我的问题是 - 这是应该在 JSF 托管 bean 中工作的东西,还是只在 JSF 请求生命周期之外合法?我尝试从 WebFilter 调用 authenticate(),它按预期工作。

谢谢,艾伦

0 投票
1 回答
425 浏览

authentication - 是否可以在没有领域的情况下使用 JSF 2.0 和 Glassfish 进行身份验证?

我有一个例程检查几个用户/密码是否正确(它只是询问另一台服务器并返回真或假)。我想使用它而不是实现领域文件或 jdbc 领域。这背后的原因是因为我不想管理密码。有没有办法实现这样的授权?我知道 servlet 3.0 中的编程安全性指定了像 HttpServletRequest.login 这样的方法。我可以改用自己的登录功能吗?谁能建议我怎么做?

我的应用程序只需要一个简单的授权模型:如果用户未通过身份验证,他将只能访问登录页面;如果用户通过身份验证,他将有权访问所有页面。

我正在使用 JSF 2.0 和 Glassfish 3.1。

0 投票
2 回答
4018 浏览

java - 如何正确检测 servlet 规范 3 中的客户端断开连接?

我已尝试写入响应,因为没有适当的断开回调:

但这似乎不是诀窍。当客户端断开连接时,写入和刷新缓冲区没有抛出异常

奇怪的是,第二次尝试写入输出流时(断开连接后),写入确实会引发异常。看起来你第一次写/刷新它时,一些内部状态被设置为错误,没有通知。

我在 Jetty 8 和 Tomcat 7 上都试过了,我看到了同样的行为。

有没有办法查明客户端是否收到了消息?我错过了什么吗?

0 投票
1 回答
3978 浏览

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,并且在方法退出后我会收到此错误:

谢谢,艾伦

0 投票
1 回答
8187 浏览

java - Servlet 3.0:@WebServletContextListener 在哪里?

我正在尝试遵循 Servlet 3.0教程,该教程指的是@WebServletContextListener. 但是,我在我的依赖项中找不到这样的注释javaee-web-api-6.0.jar(我使用的是 maven)。

那么,在哪里@WebServletContextListener

0 投票
12 回答
120872 浏览

java - 无法导入 javax.servlet.annotation.WebServlet

我已经开始编写可以在 Google App Engine 上运行的应用程序。
但是当我想使用从 Netbeans 到 Eclipse 的代码时,我遇到了以下错误:

错误是:

我尝试将其导入servlet-api.jarEclipse 但仍然相同,还尝试构建和清理项目。我不在我的 Eclipse 上使用 Tomcat,只在我的 Netbeans 上使用它。我该如何解决这个问题?

0 投票
1 回答
480 浏览

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,我可能会错过基础知识,因为我在教程中运行得非常快。

0 投票
2 回答
8948 浏览

java - IllegalStateException:在 AsyncContext.startAsync(req, res) 上不支持

我创建了一个 servlet 3.0 来探索异步请求处理:

但我得到了一个IllegalStateException何时.startAsync(...)被调用。我知道 Javadoc 提到了该异常,但我确实明确启用了异步(cfWebServlet注释)。我正在使用随 NetBeans 提供的 Tomcat 7.0.11.0。

我可以确认req.isAsyncSupported()返回错误。我究竟做错了什么?我还需要做什么才能启用异步处理?

编辑:

我尝试实现以下示例并遇到相同的问题。

0 投票
3 回答
2061 浏览

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/foohttp://localhost:8080/foo/bar。后两者导致以下错误:

未找到错误

自定义 404 页面

可能是什么问题呢?我在这里做错了吗?

答案

鉴于我使用的 WAR ( test-0.0.1-SNAPSHOT.war),我的应用程序路径变成http://localhost:8080/test-0.0.1-SNAPSHOT/foo/barhttp://localhost:8080/foo/bar. 看看我在那里做了什么?好的。把它铭刻在你的脑海中,否则会失去你生命中 3 到 5 个宝贵的时间!

0 投票
2 回答
15854 浏览

jakarta-ee - 如何下载适用于 tomcat 7 的 servlet 3 依赖项

我正在使用 servlet 2.5,如下所示:

我想使用 servlet 3,因为我正在迁移到tomcat 7,所以我可以使用EL 2.2,当我添加以下依赖项时,找不到它:

更新:

我正在使用Spring 3JSF 2Tomcat 7

那么你们有什么建议呢?