问题标签 [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.
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:
好吧,看来是没有读取web.xml。有趣的是,没有任何控制台错误。
有什么问题?感谢关注。
java - 在 tomcat 8 上使用 Servlets 3.1 的非阻塞 I/O 功能
有没有人在 tomcat 上尝试过 Servlets 3.1 非阻塞技术?
来自浏览器的请求似乎永远在等待,但是当我在调试模式下运行服务器时,调用返回但我仍然没有在日志中看到“ Data read..
”和“ ”。Data written..
小服务程序:
听众:
系统输出日志:
Sysout 日志(当我在调试模式下运行服务器时):
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 文件中包含的行 -
在我的 pom.xml 中添加了以下依赖项(删除 XML 字符以更好地格式化)
这会将 jstl-1.2.jar 放在我的 WEB-INF/lib 目录中,并且当我部署到 Tomcat 时我已经确认它在那里 - 这不起作用
根据此处的建议删除了上述依赖项并添加了这些依赖项(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 时我已经确认它们在那里 - 这不起作用
我还尝试将每个依赖项的范围更改为“提供”,同时将相应的 JAR 放在 Tomcat 的 lib 目录中并重新启动 Tomcat,但仍然无法正常工作。
这是我的 web.xml 标头
无论如何,非常感谢任何帮助!
java - 关于 Servlet 3.1 非阻塞 IO 示例的问题
下面的代码是 servlet 3.1 Non Blocking IO demo:
上传Servlet:
RealListenerImpl:
WriteListenerImpl:
上面的代码工作正常,我想知道阻塞 IO servlet 有什么区别?我想知道上面的代码是如何工作的。
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 可以让我轻松掌握这些信息?
我是否走上了解决问题的正确轨道?
shiro - shiro集成spring和servlet3.1,tomcat无法启动
shiro 配置
servlet 容器初始
春天mvc配置
启动tomcat spring容器时初始错误。
如果WebAppInitializer
没有覆盖onStartup
添加shiroFilter
tomcat服务器可以正常启动,不知道我的代码有什么问题。
使用 web.xml 的过滤器也有同样的问题。(spring 和 shiro 使用 java config)
io - 如何使用异步 servlet + 非阻塞 IO 进行文件下载?
我的图像文件存储在数据库中(我知道它们不应该,但无能为力)。为了能够在客户端上呈现它们,我实现了一个异步 servlet,它有助于从数据库列中读取二进制流并写入 Servlet 响应的输出流。传统的 IO 在这里工作得很好。
当我考虑使用异步 servlet 尝试非阻塞 IO(以测试性能)时,响应中返回的二进制数据不断损坏。
从Oracle Blog开始,我看到了使用异步 NIO servlet 上传文件的各种示例,但对我的问题没有帮助。
这是servlet代码:
这是写监听器的实现
响应数据如下所示:
我究竟做错了什么?
eclipse - Maven、eclipse、servlet api 3.1.0。Eclipse 抱怨“无法将项目方面动态 Web 模块的版本更改为 3.1”
我使用 maven simple webapp 原型创建了一个 webapp,然后添加了以下依赖项:
我还将web.xml
文件更改为使用 3.1 版:
我将java编译器版本更改为1.8。Eclipse 现在抱怨:
知道如何消除此错误吗?
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 试图解决的确切问题。
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()
似乎返回未实现ServletInputStream
的isFinished()
,因此错误。
有什么解决办法吗?我必须在这里遗漏一些东西,因为如果solr 代码库HttpServletRequest.getInputStream().isFinished()
没有预期到正确实例化的 ServletInputStream,我认为它不会调用。