Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找不到返回404的控制器@RequestMapping URL_Java_Spring - Fatal编程技术网

Java 找不到返回404的控制器@RequestMapping URL

Java 找不到返回404的控制器@RequestMapping URL,java,spring,Java,Spring,我正在尝试使用Tomcat服务器构建一个简单的基于Spring的Web应用程序。当我试图通过创建URL端点来测试我的控制器是否正常工作时,在向该端点发送get请求时,我会收到HTTP 404错误 基本URL为“” 我正在尝试在“/trafficameras”上设置端点 控制器类中的requestMapping方法定义为 @ResponseBody @RequestMapping(value = "/trafficcameras", params = {"ip_comm_statu

我正在尝试使用Tomcat服务器构建一个简单的基于Spring的Web应用程序。当我试图通过创建URL端点来测试我的控制器是否正常工作时,在向该端点发送get请求时,我会收到HTTP 404错误

基本URL为“”

我正在尝试在“/trafficameras”上设置端点

控制器类中的requestMapping方法定义为

    @ResponseBody
    @RequestMapping(value = "/trafficcameras", params = {"ip_comm_status", "camera_status"}, method=RequestMethod.GET)
    public String parse(@RequestParam(value="ip_comm_status", required=false) String ip_comm_status_val, @RequestParam(value="camera_status", required=false) String camera_status_val)
    {

        return "Result is:";
    }
<?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">

    <display-name>Spring Application</display-name>

    <servlet>
        <servlet-name>springDispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/servletContext.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springDispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>
当我尝试向“”发送GET请求时,不输出“结果是:”, 我得到:

我的web.xml文件定义为

    @ResponseBody
    @RequestMapping(value = "/trafficcameras", params = {"ip_comm_status", "camera_status"}, method=RequestMethod.GET)
    public String parse(@RequestParam(value="ip_comm_status", required=false) String ip_comm_status_val, @RequestParam(value="camera_status", required=false) String camera_status_val)
    {

        return "Result is:";
    }
<?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">

    <display-name>Spring Application</display-name>

    <servlet>
        <servlet-name>springDispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/servletContext.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springDispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

弹簧应用
springDispatcher
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/servletContext.xml
1.
springDispatcher
/
这些bean在servletContext.xml中定义如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

    <mvc:annotation-driven />

    <bean name="cameraController" class="TrafficCamerasController">
        <constructor-arg ref="trafficCamerasServiceImpl"></constructor-arg>
    </bean>

    <bean name="trafficCamerasServiceImpl" class="TrafficCamerasServiceImpl" />


</beans>


你知道为什么会这样吗?我已经搔头好几个小时了。

你需要这样做

@ResponseBody
@RequestMapping(value = "/trafficcameras", method=RequestMethod.GET)
public String parse(@RequestParam(value="ip_comm_status", required=false) String ip_comm_status_val, @RequestParam(value="camera_status", required=false) String camera_status_val)
{
    return "Result is:";
}

或者对GET请求使用@PathVariable