Questions tagged «spring-mvc»

基于模型-视图-控制器(MVC)模式构建Java Web应用程序的框架。它促进了与基础视图技术的灵活解耦的代码。

10
无法在休眠中提取ResultSet
我对Hibernate有问题。我尝试解析为List,但抛出异常:HTTP Status 500 - could not extract ResultSet。当我调试时,它在线路上query.list()出错... 我的示例代码在这里 @Entity @Table(name = "catalog") public class Catalog implements Serializable { @Id @Column(name="ID_CATALOG") @GeneratedValue private Integer idCatalog; @Column(name="Catalog_Name") private String catalogName; @OneToMany(mappedBy="catalog", fetch = FetchType.LAZY) private Set<Product> products = new HashSet<Product>(0); //getter & setter & constructor //... } @Entity @Table(name = "product") …

5
验证错误:“找不到类型为java.lang.Integer的验证器”
我正在与Spring合作开发一个项目,为什么我总是收到以下错误? javax.validation.UnexpectedTypeException: 找不到以下类型的验证器:java.lang.Integer 这是我的代码: package com.s2rsolutions.model; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import javax.validation.constraints.Size; import org.hibernate.validator.constraints.NotEmpty; @Entity @Table(name = "sales") public class Sales { @NotEmpty(message = "The above field must not be blank.") @Column(name = "ttl_d_sls_lst_mth", nullable = false) private Integer ttl_d_sls_lst_mth; @NotEmpty(message = "The above …

5
如何测试JSON路径是否不包含特定元素,或者是否存在该元素为null?
我一直在为简单的Spring Web应用程序编写一些简单的单元测试例程。当我在资源的getter方法上添加@JsonIgnore批注时,所得的json对象不包含相应的json元素。因此,当我的单元测试例程尝试测试它是否为空(这是我的情况的预期行为,我不希望密码在json对象中可用)时,测试例程会遇到异常: java.lang.AssertionError:JSON路径:$ .password没有值,异常:路径:$ ['password']没有结果 这是我编写的单元测试方法,使用is(nullValue())方法测试“密码”字段: @Test public void getUserThatExists() throws Exception { User user = new User(); user.setId(1L); user.setUsername("zobayer"); user.setPassword("123456"); when(userService.getUserById(1L)).thenReturn(user); mockMvc.perform(get("/users/1")) .andExpect(jsonPath("$.username", is(user.getUsername()))) .andExpect(jsonPath("$.password", is(nullValue()))) .andExpect(jsonPath("$.links[*].href", hasItem(endsWith("/users/1")))) .andExpect(status().isOk()) .andDo(print()); } 我还尝试了jsonPath()。exists(),它得到了类似的异常,指出该路径不存在。我将分享更多的代码片段,以便使整个情况更具可读性。 我正在测试的控制器方法看起来像这样: @RequestMapping(value="/users/{userId}", method= RequestMethod.GET) public ResponseEntity<UserResource> getUser(@PathVariable Long userId) { logger.info("Request arrived for getUser() with params {}", …

10
如何在Spring中使用LocalDateTime RequestParam?我得到“无法将字符串转换为LocalDateTime”
我使用Spring Boot并包含jackson-datatype-jsr310在Maven中: <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>2.7.3</version> </dependency> 当我尝试使用Java 8日期/时间类型的RequestParam时, @GetMapping("/test") public Page<User> get( @RequestParam(value = "start", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime start) { //... } 并使用以下网址进行测试: /test?start=2016-10-8T00:00 我收到以下错误: { "timestamp": 1477528408379, "status": 400, "error": "Bad Request", "exception": "org.springframework.web.method.annotation.MethodArgumentTypeMismatchException", "message": "Failed to convert value of type [java.lang.String] to required …

16
Spring MVC视图层的JSP替代品
我正在寻找从头开始创建新的应用程序,并且可能会使用Spring MVC和Spring Web Flow。Spring Roo创建的项目使用Spring MVC和Web Flow(可选)。对于视图技术,有哪些好的替代方案?或者采用Spring的JSP和JSTL标签库以及jQuery是可行的选择?
77 java  jsp  spring-mvc 

3
模拟MVC-添加请求参数进行测试
我正在使用Spring 3.2模拟MVC测试我的控制器。我的代码是 @Autowired private Client client; @RequestMapping(value = "/user", method = RequestMethod.GET) public String initUserSearchForm(ModelMap modelMap) { User user = new User(); modelMap.addAttribute("User", user); return "user"; } @RequestMapping(value = "/byName", method = RequestMethod.GET) @ResponseStatus(HttpStatus.OK) public @ResponseBody String getUserByName( @RequestParam("firstName") String firstName, @RequestParam("lastName") String lastName, @ModelAttribute("userClientObject") UserClient userClient) { return client.getUserByName(userClient, …

7
在Spring MVC中,使用@ResponseBody时如何设置mime类型标头
我有一个Spring MVC Controller,它返回一个JSON字符串,我想将mimetype设置为application / json。我怎样才能做到这一点? @RequestMapping(method=RequestMethod.GET, value="foo/bar") @ResponseBody public String fooBar(){ return myService.getJson(); } 业务对象已经可以作为JSON字符串使用,因此使用MappingJacksonJsonView不是我的解决方案。@ResponseBody是完美的,但如何设置模仿类型?


6
@RequestBody和@RequestParam有什么区别?
我遍历了Spring文档以了解@RequestBody,他们给出了以下解释: 所述@RequestBody方法参数注释指示方法参数应绑定到HTTP请求正文的值。例如: @RequestMapping(value = "/something", method = RequestMethod.PUT) public void handle(@RequestBody String body, Writer writer) throws IOException { writer.write(body); } 您可以通过使用将请求主体转换为方法参数HttpMessageConverter。HttpMessageConverter负责从HTTP请求消息转换为对象,并从对象转换为HTTP响应主体。 DispatcherServlet支持使用DefaultAnnotationHandlerMapping和进行基于注释的处理AnnotationMethodHandlerAdapter。在Spring 3.0中,AnnotationMethodHandlerAdapter扩展为支持,@RequestBody并且HttpMessageConverter默认情况下注册了以下: ... 但我的困惑是他们在文档中写的句子是 @RequestBody方法参数注释指示方法参数应绑定到HTTP请求正文的值。 那是什么意思?谁能给我一个例子吗? @RequestParamspring doc中的定义是 指示方法参数应绑定到Web请求参数的注释。在Servlet和Portlet环境中支持带注释的处理程序方法。 我对他们感到困惑。请帮我举个例子,说明它们之间的区别。

6
使用restTemplate发送带有身份验证标头的GET请求
我需要通过使用RestTemplate发送带有一些Authorization标头的GET请求来从服务器中检索资源。 浏览文档后,我注意到没有GET方法将标头作为参数接受,并且发送标头(例如accept和Authorization)的唯一方法是使用交换方法。 由于这是一个非常基本的动作,所以我想知道我是否缺少某些东西,还有另外一种更简单的方法吗?

10
绑定Spring MVC命令对象时如何自定义参数名称?
我有一个命令对象: public class Job { private String jobType; private String location; } 这受spring-mvc约束: @RequestMapping("/foo") public Strnig doSomethingWithJob(Job job) { ... } 哪个适用于http://example.com/foo?jobType=permanent&location=Stockholm。但是现在我需要使它适用于以下URL: http://example.com/foo?jt=permanent&loc=Stockholm 显然,我不想更改命令对象,因为字段名称必须保持较长(因为它们在代码中使用了)。我该如何自定义呢?是否可以选择执行以下操作: public class Job { @RequestParam("jt") private String jobType; @RequestParam("loc") private String location; } 这是行不通的(@RequestParam无法应用于字段)。 我正在考虑的事情是类似于FormHttpMessageConverter目标对象并读取目标对象上的自定义注释的自定义消息转换器



5
尝试使用Spring Boot REST从POST读取JSON字符串
我正在使用最新版本的Spring Boot通过Restful Web Service读取示例JSON ... 这是我的pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <groupId>org.springframework</groupId> <artifactId>myservice</artifactId> <version>0.1.0</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.2.RELEASE</version> </parent> <properties> <java.version>1.7</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-rest-webmvc</artifactId> </dependency> <dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> …

7
在Spring Boot和Spring Security应用程序中提供静态Web资源
我正在尝试开发Spring Boot Web应用程序并使用Spring Security Java配置对其进行保护。 按照Spring博客中的建议,将我的静态Web资源放置在“ src / main / resources / public ”中后,便可以获取静态资源。即https://localhost/test.html在浏览器中点击确实提供html内容。 问题 在启用Spring Security之后,访问静态资源URL需要身份验证。 我的相关事件Spring Security Java配置看起来像这样:- @Override protected void configure(HttpSecurity http) throws Exception { // @formatter:off http. authorizeRequests() .antMatchers("/","/public/**", "/resources/**","/resources/public/**") .permitAll() .antMatchers("/google_oauth2_login").anonymous() .anyRequest().authenticated() .and() .formLogin() .loginPage("/") .loginProcessingUrl("/login") .defaultSuccessUrl("/home") .and() .csrf().disable() .logout() .logoutSuccessUrl("/") .logoutUrl("/logout") // POST only …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.