问题标签 [servlet-3.1]

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 投票
2 回答
7457 浏览

maven - 在 Java EE7 项目中找不到 web.xml

我正在使用 JSF 2.2 和 Servlet 3.1 (Java EE7) 在 eclipse 中做一个项目。我遇到的第一个问题是 pom.xml 中的错误:

错误:web.xml 丢失并设置为 true。

我在互联网上进行了研究,并在我的 pom.xml 中添加了以下几行

之后错误消失了,但是在运行项目时出现错误:

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config

我又上网搜索了一下,在 pom.xml 中放了以下几行

问题解决了,只有当访问例如:

http://localhost:8080/MeuSistema/Login.jsf

(我把映射为 jsf 到 inves xhtml)

他通过 jsp 更改了 jsf,说明如下:

HTTP 状态 404 - /MeuSistema/Login.jsp

出于好奇,将 .jsf 更改为 .xhtml 以查看是否至少打开了该文件,它返回以下内容:

HTTP 状态 404 - 在 ExternalContext 中未找到 /Login.xhtml 作为资源

我还找到了强制阅读 web.xml 的替代方法

但问题仍然存在。

关注我的 pom.xml 和 web.xml:

http://pastebin.com/43nqctAn

http://pastebin.com/GbqR9j9v

好吧,看来是没有读取web.xml。有趣的是,没有任何控制台错误。

有什么问题?感谢关注。

0 投票
1 回答
1741 浏览

java - 在 tomcat 8 上使用 Servlets 3.1 的非阻塞 I/O 功能

有没有人在 tomcat 上尝试过 Servlets 3.1 非阻塞技术?

来自浏览器的请求似乎永远在等待,但是当我在调试模式下运行服务器时,调用返回但我仍然没有在日志中看到“ Data read..”和“ ”。Data written..

小服务程序:

听众:

系统输出日志:

Sysout 日志(当我在调试模式下运行服务器时):

0 投票
3 回答
3146 浏览

jsp - 无法让 Tomcat 8.0 与 Servlet 3.1 一起使用 JSTL 1.2

我已经阅读了关于 SO 上这个问题的几乎所有答案,并尝试了十几种不同的“解决方案”,但我无法让 JSTL 在使用 Tomcat 8.0 中的 servlet 3.1 的 Spring Boot Web 应用程序中工作。我继续收到此错误:

我使用 Maven 来构建项目,但也手动复制了 JAR,希望能有所帮助,但可惜没有!我希望我只是忽略了一些愚蠢的事情。有人可以告诉我我做错了什么吗?

我尝试过的事情(对于所有这些,这是一个简单的 index.jsp 文件中包含的行 -

  1. 在我的 pom.xml 中添加了以下依赖项(删除 XML 字符以更好地格式化)

    这会将 jstl-1.2.jar 放在我的 WEB-INF/lib 目录中,并且当我部署到 Tomcat 时我已经确认它在那里 - 这不起作用

  2. 根据此处的建议删除了上述依赖项并添加了这些依赖项(http://www.murraywilliams.com/2011/11/running-jstl-1-2-on-tomcat-7-using-maven/

    这会在我的 WEB-INF/lib 目录中添加两个额外的 JAR 文件,一个 jstl-api-1.2.jar 和 jstl-impl-1.2.jar,当我部署到 Tomcat 时我已经确认它们在那里 - 这不起作用

  3. 我还尝试将每个依赖项的范围更改为“提供”,同时将相应的 JAR 放在 Tomcat 的 lib 目录中并重新启动 Tomcat,但仍然无法正常工作。

这是我的 web.xml 标头

无论如何,非常感谢任何帮助!

0 投票
1 回答
1194 浏览

java - 关于 Servlet 3.1 非阻塞 IO 示例的问题

下面的代码是 servlet 3.1 Non Blocking IO demo:

上传Servlet:

RealListenerImpl:

WriteListenerImpl:

上面的代码工作正常,我想知道阻塞 IO servlet 有什么区别?我想知道上面的代码是如何工作的。

0 投票
1 回答
230 浏览

spring - AuthenticationEntryPoint 依赖于所需的角色

备用标题

  • 如何Method从中获取映射HttpServletRequest
  • 如何WebSecurityConfig基于@Secured注释而不是路径应用?

问题

我有一个 Spring MVC 服务器,它使用@Secured注释来指定每个控制器方法所需的角色——它们不容易映射到路径模式。

某些角色是通过特定的身份验证方法授予的(例如 x509、基本领域 A、基本领域 B、承载令牌)。

当调用者未通过身份验证时,WWW-Authenticate 标头不应建议未授予该方法所需角色的内容。

我在哪里

我认为最简单的方法是为 HttpSecurity 配置所有可能的身份验证方法,并将permitAll()所有检查委托给方法安全性。AuthenticationEntryPoint但是,当失败时,我只能为链定义一个。

因此,我需要实现AuthenticationEntryPoint其行为取决于所需角色的行为,但我一直无法找到在方法中获取该信息的commence方法 - 似乎没有详细说明映射的方法或属性Method(我可以从中检查注释) 或所需的角色(在request对象或 中InsufficientAuthenticationException)。

出于同样的原因, aDelegatingAuthenticationEntryPoint也行不通,因为我也无法解决这些问题RequestMatcher

是否有一个 bean 可以让我轻松掌握这些信息?

我是否走上了解决问题的正确轨道?

0 投票
0 回答
349 浏览

shiro - shiro集成spring和servlet3.1,tomcat无法启动

shiro 配置

servlet 容器初始

春天mvc配置

启动tomcat spring容器时初始错误。

如果WebAppInitializer没有覆盖onStartup添加shiroFilter tomcat服务器可以正常启动,不知道我的代码有什么问题。

使用 web.xml 的过滤器也有同样的问题。(spring 和 shiro 使用 java config)

0 投票
1 回答
1312 浏览

io - 如何使用异步 servlet + 非阻塞 IO 进行文件下载?

我的图像文件存储在数据库中(我知道它们不应该,但无能为力)。为了能够在客户端上呈现它们,我实现了一个异步 servlet,它有助于从数据库列中读取二进制流并写入 Servlet 响应的输出流。传统的 IO 在这里工作得很好。

当我考虑使用异步 servlet 尝试非阻塞 IO(以测试性能)时,响应中返回的二进制数据不断损坏。

Oracle Blog开始,我看到了使用异步 NIO servlet 上传文件的各种示例,但对我的问题没有帮助。

这是servlet代码:

这是写监听器的实现

响应数据如下所示:

响应数据

我究竟做错了什么?

0 投票
1 回答
671 浏览

eclipse - Maven、eclipse、servlet api 3.1.0。Eclipse 抱怨“无法将项目方面动态 Web 模块的版本更改为 3.1”

我使用 maven simple webapp 原型创建了一个 webapp,然后添加了以下依赖项:

我还将web.xml文件更改为使用 3.1 版:

我将java编译器版本更改为1.8。Eclipse 现在抱怨:

知道如何消除此错误吗?

0 投票
1 回答
10277 浏览

java - Java - Servlet 3.0 中的异步与 Servlet 3.1 中的 NIO

直到现在,因为它适用于服务 http 请求,我认为这些术语 -asynchronous并且non-blocking i/o意味着同样的事情。但显然,它们已分别在 servlet 3.0 和 3.1 中分别实现。我很难理解这里的区别......

请问有人可以对这个话题有更多的了解吗?具体来说,我正在寻找一个示例,说明服务器的 servlet 3.0 实现如何异步,但在线程上阻塞?我认为如果我理解这一点,可能更容易理解 servlet 3.1 中的非阻塞 i/o 试图解决的确切问题。

0 投票
1 回答
1052 浏览

solr - javax ServletInputStream.isFinished() - abstractMethodError

试图在 jetty 8 中托管 solr 5.0。由于我使用的是 servlet API 3.0 ,所以solr 代码库isFinished()方法)中的这一行抛出了 a 。NoSuchMethodException

AbstractMethodException当我升级到 javax-servlet-api 3.1 时,该错误已被替换。问题似乎isFinished()是确实是一个抽象方法,如此处所示

javax ServletRequest 类确实返回(抽象)ServletInputStream 的实例,如此处所示- 至少在我的情况下,码头中的 InputStreamServletRequest.getInputStream()似乎返回未实现ServletInputStreamisFinished(),因此错误。

有什么解决办法吗?我必须在这里遗漏一些东西,因为如果solr 代码库HttpServletRequest.getInputStream().isFinished()没有预期到正确实例化的 ServletInputStream,我认为它不会调用。