Ajax POST请求无法在Spring MVC中运行

时间:2016-11-15 17:20:17

标签: java ajax spring spring-mvc

我正在尝试使用AJAX POST Request发布XML数据。

这是Ajax请求:

$("#btnSubmitEdit").click(
    function(event) {
        $(document.body).css({"pointer-events": "none", "cursor": "wait"});
        var reqMsgId = $("#msgID").val();
        var reqMsg = $("#xmlMessage").val();
        $.ajax({
            url : "update/" + reqMsgId,
            data:{reqMsg: encodeURIComponent(reqMsg)},
            type : "POST",
            success : function(data) {                                               
                $(document.body).css({"pointer-events": "", "cursor": "default"});
            },
            error : function(e) {                                                
                $(document.body).css({"pointer-events": "", "cursor": "default"});
                alert("Error" + e.responseText);
            }
        });
    }
);

Spring控制器:

@RequestMapping(value = "/update/{reqMsgId}", method = RequestMethod.POST)
public @ResponseBody String updatePage(@PathVariable("reqMsgId") String reqMsgId, @RequestParam("reqMsg") String reqMsg) {
    System.out.println(reqMsg);
    esbresubmitmessageservice.updateMessage(reqMsg, Integer.parseInt(reqMsgId));
    return "success";
}

错误:

  

2016年11月15日下午8:41:37 org.springframework.web.servlet.PageNotFound   noHandlerFound警告:没有找到带URI的HTTP请求的映射   DispatcherServlet中的[/ Appname / 403],名称为“mvc-dispatcher”

的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">

<display-name>Appname</display-name>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/spring-security.xml,
        /WEB-INF/applicationContext.xml,
    </param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

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

<!-- Spring Security -->
<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

的ApplicationContext

<context:annotation-config />
<context:component-scan base-package="com.appname" />
<tx:annotation-driven />
<bean
    class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />

<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">

    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
    <property name="url" value="jdbc:oracle:thin:@*****" />
    <property name="username" value="*****" />
    <property name="password" value="*****" />
</bean>

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
    p:dataSource-ref="dataSource" p:persistenceUnitName="MonitorJpaPersistenceUnit" />

<bean
    class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"
    p:entityManagerFactory-ref="entityManagerFactory" />

<tx:annotation-driven transaction-manager="transactionManager" />

0 个答案:

没有答案