从Angular $ http调用Spring控制器方法时出现404错误

时间:2017-03-19 13:47:11

标签: angularjs spring

这个问题之前也有人问过,但我没有得到答案。发布吧。请帮忙。

的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>Angular</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>

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

    <servlet-mapping>
        <servlet-name>Spring</servlet-name>
        <url-pattern>rest/*</url-pattern>
    </servlet-mapping> 


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

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

    <session-config>
  <session-timeout>30</session-timeout>
  </session-config>
</web-app>

XmlViewResolver.xml

<context:annotation-config />
            <context:component-scan base-package="main.java.com.controller" use-default-filters="false">
            <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
        </context:component-scan>
        <mvc:annotation-driven />
<bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/views" />
    <property name="suffix" value=".html" />
    <property name="order" value="1" />
  </bean>

弹簧servlet.xml中

    <context:annotation-config />
        <context:component-scan base-package="main.java.com.controller" use-default-filters="false">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
    </context:component-scan>
        <mvc:annotation-driven />
        <tx:annotation-driven transaction-manager="transactionManager"/>


inside Indexcontroller.js


     $scope.login = function()
            {
                 $http.post('rest/login', $scope.loginDto).success(function(data)
                            {
                     alert('success');
                            }).error(function() 
                            {
                                alert('error while delete file.');
                            });
            };

Indexcontroller.java

    @Controller
    public class IndexController {
    @RequestMapping(value = "/login", method = RequestMethod.POST, consumes="application/json", produces="application/json")
        public  @ResponseBody LoginDto login(@RequestBody  LoginDto loginDto, HttpServletRequest req)  
        {
            System.out.println(loginDto.getUserName()+" :::: "+loginDto.getPassword());
            return loginDto;
        }
    }

0 个答案:

没有答案