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

0 投票
1 回答
2627 浏览

spring - 弹簧 4 可选> @RequestParam

使用java.util.Optional作为 spring 控制器请求参数

对于简单值(int、String 等),它按预期工作,但对于类型为List<String>or的参数String[],我为其传递多个值:

它总是只选择一个传递的值。

0 投票
1 回答
1382 浏览

java - 如何修复找不到 Spring DispatcherServlet 类?

我开始学习 Spring,所以我尝试使用 Spring MVC 创建一些简单的应用程序。看了很多关于如何解决这个错误的建议,但还是没有解决。请如果有人知道一些事情,你能帮忙吗?因为我已经花了很多时间,但仍然不知道如何解决它。
所以在索引页面上我创建了下一个链接:

这必须将我引至注册页面。我有用于在 spring-context.xml 中配置 LocalSessionFactoryBean 的 hibernate.cfg.xml 文件。一般来说spring-context.xml看起来像:

web.xml像:

我的控制器看起来像:

所以我有下一个问题。当我点击链接时,它会将我引至 EasyWordWeb/sign/up 并给我下一个例外:

PSDispatcherServlet实际定位的jar文件(spring-webmvc-4.2.0.RELEASE.jar)存在WEB-INF/lib/目录下。

0 投票
1 回答
1530 浏览

spring - Spring生成下载链接

有什么方法可以使用 spring web、security-oauth 堆栈生成用于下载文件的临时链接?

例如domain.com/document/ed3dk4kfjw34k43kd4k3cc,仅适用于当前会话?

0 投票
0 回答
327 浏览

java - Spring Boot 在 java webstart 应用程序中使用 tomcat 为 spring web mvc 应用程序提供服务

我设法让它运行,但我面临很多问题,这些问题只有在应用程序使用 java web start 运行时才会出现。当我从我的 IDE 中运行它时,它运行良好。

  1. 在 jar 中找不到应该从名为“static”的文件夹中开箱即用的静态内容。我编写了一个映射方法来获取它getClass().getResourceAsStream()并将其写入响应。
  2. 在我的 Win 7 和 Java 8 机器上,关闭时未关闭使用的套接字。我看到jp2launcher.exe它一直在运行,并且可能会阻止 spring boot 调用关闭挂钩进行清理。
  3. 显然在类路径中有一些 jars 没有找到。

    /li>

有人知道是什么原因造成的吗?

0 投票
1 回答
1258 浏览

java - "Invalid property 'ssn' of bean class [java.lang.String]" when trying to validate request body with Spring

I have a springboot application with a rest controller sitting up top. The user access the controller through /test and passes in a json like so:

I want to validate the input by at least making sure there's not an empty ssn being passed in like so:

So here's my controller:

And here's my validator:

I tried testing this with postman and I keep getting this error:

What exactly is the problem here? I don't understand what it's talking about in relation to getters and setters.

Edit 1: The value of the payload as requested

0 投票
5 回答
20750 浏览

java - 原型 Bean 没有按预期自动装配

测试控制器.java

测试类.java

如您所见,我试图确定TestClass访问“xxx/test”时是否注入了新的。"new test class constructed."只打印了一次(我第一次触发“xxx/test”),而我期望它打印一样。那意味着@Autowired对象只能是@Singleton吗?那怎么@Scope工作呢?

编辑:

测试控制器.java

我尝试@Valerio Vaudi了解决方案,注册为Scope(scopeName = "request"). 这是我访问“xxx/test”时的三次结果

(第一次)

  • 构建了新的测试类。
  • 无效的

(第二)

  • 无效的

(第三)

  • 无效的

我不明白为什么结果为空,因为每次我使用它时它都不会重建一个新的。

然后我尝试了@Nikolay Rusev解决方案@Scope("prototype")

(第一的)

  • 新建的。
  • 新建的。
  • 无效的

(第二)

  • 新建的。
  • 新建的。
  • 无效的

(第三)

  • 新建的。
  • 新建的。
  • 无效的

这很容易理解,因为每次我使用它(TestClass)时,Spring 都会自动重新生成它的新实例。但是我仍然无法理解第一个场景,因为它似乎为每个请求只保留一个新实例。

真正的目的是:在每个请求生命周期中,需要一个新testClass的(如果需要),并且只需要一个。目前看来只有解决方案是可行的(我已经知道了)ApplicationContext,但我只想知道这是否可以通过使用@Component++自动完成。@Scope@Autowired

0 投票
0 回答
210 浏览

java - ResourceServer 中匿名用户的主要参数 null

我在这里有一个非常简单的示例应用程序:https ://github.com/timtebeek/anonymous-principal

相关位复制如下:

ResourceConfig.java

DemoApplication

在此设置中,两者都可以/authprincipal工作/authentication,但是/principal当用户未通过身份验证时会失败,因为主要参数是null. 我也想对Principal我的匿名用户使用普通的 rest 方法参数,因为这给了我最干净的代码。

我该怎么做才能使Principal我的休息方法中的参数对匿名用户有用?

0 投票
1 回答
1444 浏览

java - 如何使用 Spring 框架设置自定义响应短语?

我正在使用 Spring 框架在 Java 上开发 RESTful 服务。如果我的服务层发生异常,我会抛出一个绑定到 Http 状态代码的异常。例如,当用户身份验证失败时,我会发送带有 401 状态码的响应。

我想向 RESTful 服务消费者解释他的请求不仅发送代码而且发送文本解释有什么问题。我可以通过将自定义消息添加到响应正文或替换默认响应短语来做到这一点。例如用或替换Unauthorizedfor 。401User does not existIncorrect password

问题HttpStatus来自org.springframework.http枚举,错误代码绑定到文本响应短语。

我可以以某种方式覆盖那些响应短语还是我需要另一种方法?

替换默认响应短语是一种好习惯,还是将解释消息放在响应正文中会更好?

0 投票
0 回答
806 浏览

java - 在没有 init-param 的情况下设置 DispatcherServlet

嘿,我正在尝试在我的 Web 应用程序中连接多个调度程序 servlet(实际上是一个调度程序 servlet 和一个消息调度程序 servlet)。所有这些 servlet 都需要共享我的所有 bean,因此我将应用程序上下文连接为上下文参数。

由于没有仅用于一个调度程序 servlet 的 bean,因此我没有放置 init-param。

但是当我没有指定参数时,spring会寻找“/WEB-INF/servlet-name-servlet.xml”,所以我得到这个错误:

引起:org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/apf-inflow-servlet.xml];嵌套异常是 java.io.FileNotFoundException:无法打开 ServletContext 资源 [/WEB-INF/apf-inflow-servlet.xml]

有什么办法可以告诉调度员不要寻找配置(因为我已经连接了一个通用配置)?

编辑:

添加默认位置或显式将调度程序指向一个空的弹簧配置文件确实可以解决问题。

但我真的不想在里面放一个虚拟文件来抑制错误。我想首先要求spring停止寻找文件。

0 投票
1 回答
832 浏览

json - 为 2 个控制器配置 2 个不同的 MessageConverters

我想为两个单独的控制器配置两个HttpMessageConverters相同MediaType的不同控制器。原因是有一些外部服务使用不同的 JSON 格式。我们无法改变它们。

可能吗?我可以创建两个WebMvcConfigurerAdapters并以某种方式拆分流量吗?如果可能,这是一个好习惯吗?