Java 在Spring上部署服务器时出现错误406

Java 在Spring上部署服务器时出现错误406,java,maven,spring-mvc,spring-rest,http-status-code-406,Java,Maven,Spring Mvc,Spring Rest,Http Status Code 406,我试图启动我的简单REST服务器,但最后出现了错误406。 我试图更改web.xml和DispatcherServlet中的设置,但这对我没有帮助 控制器 @Controller public class RestController { @RequestMapping("/") public ModelAndView checkUser() { ModelAndView modelAndView = new ModelAndView(); modelAndView.setVi

我试图启动我的简单REST服务器,但最后出现了错误406。 我试图更改web.xml和DispatcherServlet中的设置,但这对我没有帮助

控制器

@Controller

public class RestController {
@RequestMapping("/")
public ModelAndView checkUser() {
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.setViewName("main");
    return modelAndView;
}

@RequestMapping(value = "/get-simpleuser", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public User getUser(){
    User user = new User();
    return user;
}

@RequestMapping(value = "/get-user/{name}", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public User getUser(@PathVariable("name") String name){
    User user = new User();
    user.setName(name);
    return user;
}
}

用户对象

@JsonAutoDetect
public class User {
String name;

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     version="3.1">

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

上下文配置位置
/WEB-INF/dispatcher-servlet.xml
org.springframework.web.context.ContextLoaderListener
调度员
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/dispatcher-servlet.xml
1.
调度员
/

调度器servlet

<?xml version="1.0" encoding="UTF-8"?>

xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc=”http://www.springframework.org/schema/mvc"
xmlns:context=”http://www.springframework.org/schema/context"
xsi:schemaLocation=”
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>groupId</groupId>
<artifactId>MyRest</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.3.9.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.3.9.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.3.9.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>4.3.9.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>au.com.dius</groupId>
        <artifactId>pact-jvm-provider_2.11</artifactId>
        <version>3.3.3</version>
    </dependency>

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.12</version>
    </dependency>

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>1.9.12</version>
    </dependency>
    <!-- для валидации введенных данных -->
    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.1.0.Final</version>
    </dependency>

    <!-- маппер JSON и Java объектов (новая версия библиотеки) -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.8.6</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.2.3</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.2.3</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.2.3</version>
    </dependency>

    <!-- Servlet -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

</dependencies>

4.0.0
groupId
MyRest
1.0-快照
org.springframework
SpringWebMVC
4.3.9.1发布
org.springframework
弹簧网
4.3.9.1发布
org.springframework
spring上下文
4.3.9.1发布
org.springframework
弹簧芯
4.3.9.1发布
au.com.dius
pact-jvm-provider_2.11
3.3.3
org.codehaus.jackson
杰克逊地图绘制者
1.9.12
org.codehaus.jackson
jackson core asl
1.9.12
javax.validation
验证api
1.1.0.1最终版本
com.fasterxml.jackson.core
杰克逊数据绑定
2.8.6
com.fasterxml.jackson.core
杰克逊核心
2.2.3
com.fasterxml.jackson.core
杰克逊数据绑定
2.2.3
com.fasterxml.jackson.core
杰克逊注释
2.2.3
javax.servlet
servlet api
2.5
假如
javax.servlet.jsp
jsp api
2.1
假如
javax.servlet
jstl
1.2

我在地址(“/”)上下载了页面,但在其他地址上我有错误

你能告诉我哪里错了吗


谢谢大家!

我将做一个测试,从您的请求中删除属性“products=json”,并从用户中删除JsonAutoDetect。我做了一些类似的事情,只是使用ResponseBody jackson知道需要将对象转换为json,所以不需要添加额外的属性。如果有用的话试试,让我知道谢谢,但没用。我得到:错误500“请求处理失败;嵌套异常为java.lang.IllegalArgumentException:找不到类型为class user.user的返回值的转换器”为什么对根和调度程序应用程序上下文使用相同的配置?
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>groupId</groupId>
<artifactId>MyRest</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.3.9.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.3.9.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.3.9.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>4.3.9.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>au.com.dius</groupId>
        <artifactId>pact-jvm-provider_2.11</artifactId>
        <version>3.3.3</version>
    </dependency>

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.12</version>
    </dependency>

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>1.9.12</version>
    </dependency>
    <!-- для валидации введенных данных -->
    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.1.0.Final</version>
    </dependency>

    <!-- маппер JSON и Java объектов (новая версия библиотеки) -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.8.6</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.2.3</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.2.3</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.2.3</version>
    </dependency>

    <!-- Servlet -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

</dependencies>