问题标签 [spring-web]
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.
spring - 高级Restclient socket实现无法连接Spring Websocket
我使用 Spring Stomp 和 socketjs 开发了一个聊天应用程序。我已通过客户端成功连接到 websocket,但无法使用 Advanced Restclient -> socket implementation 连接到 websocket。
为什么?
谢谢
java - Spring RestTemplate + 将 XML 结果映射到域对象
使用 Spring RestTemplate,如何将以下 XML 结果映射到某个域对象?作为一种解决方案,我设计了以下域类,但我想知道如何将这些包含值(例如:100、200、300)映射到域对象属性。谢谢。
XML 结果
领域类
spring - Arquillian、Spring WebApplicationInitializer、嵌入式 Tomcat
我想为我的 Web 应用程序的 REST 资源编写一个单元(组件)测试。此测试应针对暴露的 REST 接口,并通过发出请求和检查响应来测试其行为。
Web 应用程序的配置不使用 Springweb.xml
的. 当我只是在我的(Tomcat)服务器上运行应用程序时,这很好用。applicationContext.xml
WebApplicationInitializer
在开始我的 Arquillian 测试时,ShrinkWrap 存档部署在嵌入式 Tomcat 服务器上。当嵌入式服务器使用我的 Web 应用程序的类路径运行时,它也会找到我的WebApplicationInitializer
类。这是有问题的,因为它加载了许多依赖项,并且应该为测试而激活。
如何WebApplicationInitializer
在测试中停用我的(并提供替代实现)?
当使用 XML 配置文件时,这对应于隐藏真实的配置文件并使用测试中使用的特定(空?)配置。
spring - 带有 Spring-Boot / 安全性的 Null @AuthenticationPrincipal
我根据参考文档设置了我的 Spring Security 应用程序,经过数小时的故障排除后,我继续将一个 null @AuthenticationPrincipal传递到我的控制器中。
身份验证机制对我的数据库中的用户运行良好,但仍然是空的@AuthenticationPrincipal。我查阅了包括this和this在内的几篇互联网帖子,但我仍然为空。
我正在使用 Spring-Boot 1.2.2 和 Spring Security 3.2.6。
相关POM:
应用:
WebSecurityConfigurerAdapter:
用户详情服务:
控制器:
相关的 Maven 依赖树:
spring - Spring 仅返回查询字符串中的第一个参数
Spring 仅返回查询字符串中的第一个参数,缺少后续参数。
使用 curl 调用以下 URL 时:
只有title
参数有非空值,request.getQueryString()
只包含“title=JSON”
调用这个时:
仅包含“ request.getQueryString()
page=0”
控制器代码:
这可能是什么原因?我希望以下所有参数在 request.getQueryString() 和单个 @RequestParam 变量中都有一个值:
编辑春季版本:3.2.2
java - RestTemplate 无法填充对象
我有以下代码来发送请求和接收响应,似乎一切都已配置,但代码正在返回NullPointerException
。
我不确定缺少什么。我打印出具有正确 URL 地址的 readyURL 变量。stackTrace 提供的不多。
代码
例外
样本结果
更新
我在 restTemplate.getForObject 行之后添加了这段代码,但控制台上不会显示任何内容。
java - 高负载期间的 ConcurrentModificationException - Spring Web REST
在 rest 服务上运行负载测试时,每个请求都有随机的 xml 内容,偶尔会发生以下异常。似乎负载越高,它发生的可能性就越大。
Spring 中将 xml 解组为 java 对象的当前实现似乎不是线程安全的?
13:23:38,314 错误 [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/fault-code-translation].[SpringApplication]] (http-/0.0.0.0: 14080-36) JBWEB000236:Servlet SpringApplication 的 Servlet.service() 抛出异常:java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901) [rt.jar:1.8.0_31] 在 java.util.ConcurrentModificationException .util.ArrayList$Itr.next(ArrayList.java:851) [rt.jar:1.8.0_31] at com.sun.xml.bind.v2.runtime.reflect.Lister$CollectionLister$1.next(Lister.java: 288)在 com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:139) 在 com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java: 159) 在 com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:358) 在 com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:593) 在 com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:340) 在 com.sun.xml。 bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494) 在 com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:323) 在 com.sun.xml.bind.v2。 runtime.MarshallerImpl.marshal(MarshallerImpl.java:251) 在 org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter.writeToResult(Jaxb2RootElementHttpMessageConverter.java:181) [spring-web-4.1.7.RELEASE.jar:4.1.7.发布] 在 org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter.writeInternal(AbstractXmlHttpMessageConverter.java:66) [spring-web-4.1.7.RELEASE.jar:4.1.7.RELEASE] 在 org.springframework.http.converter .AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:208) [spring-web-4.1.7.RELEASE.jar:4.1.7.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor. java:161) [spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE] 在 org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:101) [spring -webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE]161) [spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE] 在 org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:101) [spring-webmvc -4.1.7.RELEASE.jar:4.1.7.RELEASE]161) [spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE] 在 org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:101) [spring-webmvc -4.1.7.RELEASE.jar:4.1.7.RELEASE]
执行
异常发生在实现代码执行之前,它发生在spring代码内部。
spring-security - 为什么 REST 控制器正确使用配置的 servlet 路径,但在 Spring Security 功能中被忽略?
我是 Spring 新手,我尝试使用 Spring Boot 和 Spring Security 创建一个安全的休息应用程序。我现在正在寻找几周的解决方案......
我在我的 pom.xml 中使用 Spring Boots 嵌入式 Web 容器(Tomcat)和 spring-boot-starter-parent 1.2.6.RELEASE。
我的端点:
/login
(验证)/application/{id}
(我想确保的一些服务)
我在 application.properties 中配置了我的 servlet 路径,如下所示:
所以我期待我的服务,例如//localhost/embedded/login
好的,现在问题是:如果我在没有安全性的情况下运行应用程序一切都很好,我可以调用 http//localhost/embedded/application 并获得答案。如果我现在像这样添加我的安全配置:
当运行应用程序时 //localhost/application/{id} 是安全的,而不是我所期望的 //localhost/embedded/application/{id} 。由于某种原因,此处忽略了 servlet 路径。我坚持“好的,所以我只需手动添加 servlet 路径”并使其看起来像这样:
这适用于我的应用程序。但是,我也使用 MockMvc 来测试我的服务,并且由于某种原因,servlet 路径已正确添加到匹配器中。因此,如果我开始测试,安全过滤器被映射到//localhost/embedded/embedded/application/{id}
,而控制器本身仍然被映射到//localhost/embedded/application/{id}
这非常烦人......我在这里查看了http://spring.io/blog/2013/07/03/spring -security-java-config-preview-web-security/并认为我可以通过使用AbstractSecurityWebApplicationInitializer
而不是解决问题,SpringBootServletInitializer
但它没有任何改变。顺便说一句,这是我的应用程序类:
我认为它application.properties
不包含任何更有趣的信息。要完成这是我的 MockMvc 测试类:
也许我误解了什么。我希望你能告诉我。
java - 如何将 ServletContextListener 添加到现有的@Service?
我有一个想要添加ServletContextListener
接口的现有类:
这运行良好。但是一旦我添加public class MyService implements ServletContextListener
,我就会收到以下错误MyController
:
org.springframework.beans.factory.BeanCreationException: Could not autowire field: private service. No qualifying bean of type [MyService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}.
该应用程序在Tomcat
. 我的目标是@Override public void contextDestroyed()
在tomcat关闭时清理这个特定服务中的一些资源。
这里有什么问题?
java - 使用错误消息下载或重定向到 Spring Web MVC 中的另一个控制器操作
想法:我有一个 Spring Web MVC 动作,应该完成以下一项或两项任务:
- 从远程服务器下载文件并将输入流写入响应输出流
- 或者捕获下载异常,设置多个错误消息之一并重定向到 /addresses 页面。地址页面会显示错误
问题:Spring 无法下载文件并在出现问题时重定向 - 不知何故 flash 属性不起作用,因为在重定向中迷路了:
/地址的JSP页面:
问题:如何在 /addresses 站点中显示错误消息(例如简单字符串)?使用不同的 URL 参数 (error=errora, error=errorb ...) 是一个巨大的痛苦,如果有多种错误类型并将错误消息作为 GET 参数传递看起来不专业并且是编码问题的根源。