问题标签 [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 - Spring MVC:(如果可能)提交事件上的搜索表单生成 URI 而不是 URL 模式格式
我有一个@Controller
带有以下@RequestMapping
注释的
观察它使用@PathVariable
,基于 URI,它可以在 周围工作/persons/{id}
,例如:
- /人/100
- /人/200
它检索一个预期的人。
该@RequestMapping
方法在以下情况下可以正常工作:
- 我将 URL/URI 放在同一个 Web 浏览器地址栏中 (.../persons/200)
- 当我生成项目报告时,包括每个项目的链接以查看详细信息(.../persons/200)。
我正在尝试创建一个搜索表单,如下所示:
我的问题是,当我按下提交时,表单总是生成/创建 URL 以进行格式搜索/persons?id=100
。我知道这是正常的,也是意料之中的。
但只是好奇,当然如果可能的话:
问题:
生成 URI 模式的新配置是什么,/persons/100
而不是/persons?id=100
当我按下提交按钮时?
我想避免创建一个使用(it for )的新@RequestMapping
方法。它补充了使用(it for ) 版本的方法。@RequestParam
?id=100
@RequesMapping
@PathVariable
/100
谢谢
spring - 我应该在哪一层检查(某物)是否存在?
假设我有用户实体。我想检查数据库中是否存在用户 ID。我知道如何检查,但在哪一层?什么是最好的和更容易理解的层?
在我看来,应该是Controller层。但我不认为它会一帆风顺。我从未见过在示例项目中签入用户控制器类的额外方法。也许我错过了一些东西,你怎么看?
java - 服务器无法识别 HTTP 标头“SOAPAction”的值
当我向服务器发送 SOAP 请求时,它会返回以下错误,尽管我使用 SoapUI 发送了类似的请求并且可以正常工作。看来我需要将我的 SOAP 请求更改为使用 SoapUI 发送的请求。WSDL在这里。
我正在使用 Java发送以下请求
我可以使用 SoapUI发送以下请求并且它可以工作
我不确定如何使我使用 Java 创建的请求与使用 SoapUI 发送的请求相同。
代码
搜索航班
肥皂消息
要求
包信息.java
jaxb.index
发送请求的代码
更新
我删除package-info.java
并设法使用了建议的代码,但它仍然发送相同的标头。
spring - Spring获取当前请求正文的HttpMessageConverter
我知道如何获取所有已注册的消息转换器,但是有没有办法获取HttpMessageConverter
当前请求的请求正文,无论是在HandlerMethodArgumentResolver
中RequestBodyAdviceAdapter
还是在控制器本身中?
RequestBodyAdviceAdapter
您可以获取转换器的类型,但不能获取实例本身。
spring-mvc - 弹簧靴不工作
我是弹簧靴的新手。
我有一个样本。
pom.xml
java类:
包 bootSample;
当我运行它时,会引发以下异常
属性文件:
java - 如何重命名 Spring MVC Web App 上下文根?
我正在尝试重命名我的 Spring MVC Web 应用程序。当我运行它时,URL 中有一个旧名称: http://localhost:8080/oldName/
在项目属性>资源中,我设置了路径:/newName,还在 Web 项目设置中,上下文根:newName
但是没用,我还有http://localhost:8080/oldName/ 怎么重命名呢?
spring - Spring RestController 端点自动发现
有没有办法获取在带@RestController
注释的类中声明的所有端点的列表?有一些耐心可以通过反射来实现,但是有没有 Spring 内置的方法呢?想法是在服务登录页面上显示此列表。
spring - 将 Spring 组件注入 Jersey 2.22.1 时出现 UnsatisfiedDependencyException
使用的技术:Spring Boot 4.2.4-RELEASE Jersey 2.x(spring boot starter version)部署在Weblogic 12.1.3上
我在尝试注入 Spring 托管资源时遇到 org.glassfish.hk2.api.UnsatisfiedDependencyException:Injectee 错误时没有可用于注入的对象。
pom.xml
weblogic.xml
这是我的 SpringBootApplication 类
泽西岛的配置类
Spring的配置类
最后是发生错误的类
我一直在将这个项目部署到 tomcat 上,但我们的工作环境需要使用 weblogic。该项目适用于tomcat,但在weblogic上我什至没有在部署时显示spring横幅。我检查了所有我能找到的日志,没有发现其他错误情况。我确实拥有的堆栈跟踪是:
原因:org.glassfish.hk2.api.UnsatisfiedDependencyException:Injectee 处没有可用于注入的对象(requiredType=LocatesRequestService,parent=LocatesRestEndPoint,qualifiers={}),position=-1,optional=false,self=false, unqualified=null,1669020655) at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:74) at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:231) at org.jvnet.hk2 .internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:254) 在 org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:413) 在 org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:456 ) 在 org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2488) 在 org.jvnet.hk2 的 org.glassfish.jersey.process.internal.RequestScope.findOrCreate(RequestScope.java:158)。internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:629) at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:614) at org.glassfish.jersey.internal.inject.Injections.getOrCreate(Injections.java: 173) 在 org.glassfish.jersey.server.model.MethodHandler$ClassBasedMethodHandler.getInstance(MethodHandler.java:185) 在 org.glassfish.jersey.server.internal.routing.PushMethodHandlerRouter.apply(PushMethodHandlerRouter.java:103) 在 org .glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:128) 在 org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:131) 在 org.glassfish.jersey .server.internal.routing.RoutingStage._apply(RoutingStage.java:131) 在 org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:131) 在 org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:131) 在 org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:110) 在 org .glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:65) 在 org.glassfish.jersey.process.internal.Stages.process(Stages.java:197) 在 org.glassfish.jersey.server .ServerRuntime$1.run(ServerRuntime.java:250) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) at org.glassfish.jersey.internal.Errors$1.call(Errors.java: 267) 在 org.glassfish.jersey.internal.Errors.process(Errors.java:297) 在 org.glassfish.jersey.internal.Errors org.glassfish.jersey.process.internal.RequestScope 中的 .process(Errors.java:267)。runInScope(RequestScope.java:318) 在 org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:236) 在 org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1010) 在 org.glassfish .jersey.servlet.WebComponent.service(WebComponent.java:373) 在 org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:382) 在 org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java :345) 在 org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:220) 在 weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280) 在 weblogic.servlet.internal.StubSecurityHelper$ ServletServiceAction.run(StubSecurityHelper.java:254) 在 weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136) 在 weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346) 在 weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:243) 在 weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext .java:3432) 在 weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402) 在 weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 在 weblogic.security.service。 SecurityManager.runAs(SecurityManager.java:120) 在 weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) 在 weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285) 在 weblogic.servlet.internal .WebAppServletContext.securedExecute(WebAppServletContext.java:2201) 在 weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179) 在 weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572) 在 weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl .java:255) 在 weblogic.work.ExecuteThread.execute(ExecuteThread.java:311) 在 weblogic.work.ExecuteThread.run(ExecuteThread.java:263)运行(ExecuteThread.java:263)运行(ExecuteThread.java:263)
spring-boot - 组合的 Spring Boot 集成和 Web 应用程序将无法启动
我创建了两个 Spring Boot 应用程序。一种使用 Spring Integration 从多个提要中读取内容,另一种则将提要中检索到的数据组合到一个简单的网页上。
目前这两个作为单独的应用程序存在,但我想将两者结合在一个应用程序中。集成“应用程序”只不过是一个 integration.xml,另一个是几个 RestController。
在我的 Application 类中,集成应用程序在 main 方法中具有以下内容:
该网络应用程序有
我试图将两者结合起来,结果是:
但这只会启动 Web 应用程序。提要未初始化。如何确保两个组件都启动并继续运行?
spring - Spring Boot 使用自动配置创建多个(正常运行的)webmvc 应用程序
更新
我的问题是如何在 spring boot 中初始化一个隔离的 spring webmvc web-app。隔离的 Web 应用程序应该:
- 不应在应用程序类中初始化自身。我们想通过自动配置在 starter pom 中执行这些操作。我们有多个这样的网络应用程序,我们需要自动配置的灵活性。
- 能够使用以下接口自定义自身:(
WebSecurityConfigurer
我们有多个 Web 应用程序,每个应用程序都以自己的方式实现安全性)和EmbeddedServletContainerCustomizer
(设置 servlet 的上下文路径)。 - 我们需要隔离特定于某些 web 应用程序的 bean,并且不希望它们进入父上下文。
进步
下面的配置类在我的 META-INF/spring.factories 中列出。
以下策略不会导致正常运行的 web-mvc servlet。未设置上下文路径,也未自定义安全性。我的预感是我需要包含某些 webmvc bean,它们处理上下文并根据存在的 bean 自动配置——类似于我通过包含PropertySourcesPlaceholderConfigurer.class
.