2017-01-05 112 views
1

我知道这里已经提出了这个问题。但似乎有什么地方出了问题。我只是张贴表单数据到我的控制器我有杰克逊依赖关系。但它抛出我错误HTTP状态405请求方法不支持。HTTP状态405 - 所请求的资源不允许指定的HTTP方法

这里是我的控制器

@RequestMapping(value="/addCompany",method=RequestMethod.POST) 
    [email protected] String userLogin(HttpServletRequest req,@RequestBody CompanyRegVO user){ 
    logger.debug("signUp user:"+user); 
    // get reCAPTCHA request param 
    String gRecaptchaResponse = req.getParameter("g-recaptcha-response"); 
    boolean isVerified= Verify.verifyGcaptchResponse(gRecaptchaResponse); 
    ObjectMapper mapper=new ObjectMapper(); 
    String jsonString=""; 
} 

这是我的jQuery我用

home='<%=request.getContextPath()%>'; 
$('#userReg').submit(function(event){ 
    var add = {} 
    add["type"] = $("#type").val(); 
    add["name"] = $("#companyName").val(); 
    add["regNumber"] = $("#regNumber").val(); 
    add["dob"] = $("#dob").val(); 
    add["email"] = $("#email").val(); 
    add["password"] = $("#password").val(); 
    add["confirmPassword"] = $("#cpassword").val(); 
    add["line1"] = $("#line1").val(); 
    add["line2"] = $("#line2").val(); 
    add["state"] = $("#state").val(); 
    add["country"] = $("#country").val(); 
    add["zipCode"] = $("#zipCode").val(); 
    console.log("search: ", add); 
    event.preventDefault(); 
    $.ajax({ 
     type : "POST", 
      headers: { 
       'Accept': 'application/json', 
       'Content-Type': 'application/json' 
      }, 

     url : home+"/addCompany", 
     data : JSON.stringify(add), 
     dataType : 'json', 
     timeout : 100000, 
     success : function(data) { 
      console.log("SUCCESS: ", data); 
      alert(data) 

     }, 
     error : function(e) { 
      console.log("ERROR: ", e); 
      alert(e); 

     },done : function(e) { 
      console.log("DONE"); 
     } 
}); 

这是我CompnayRegVO

public class CompanyRegVO { 
private String companyName; 
private Integer regNumber; 
private String password; 
private String confirmPassword; 
private String type; 
private String email; 
private String dob; 
private Boolean enabled; 
private AddressVO address; 
//getters and setter 
} 

编辑1; 这里是我的POM

<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>task</groupId> 
    <artifactId>basicPages</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>basicPages Maven Webapp</name> 
    <url>http://maven.apache.org</url> 
    <properties> 
     <spring.version>4.2.5.RELEASE</spring.version> 
     <jcl.slf4j.version>1.7.12</jcl.slf4j.version> 
     <logback.version>1.1.3</logback.version> 

    </properties> 

    <repositories> 
     <repository> 
      <id>Java.Net</id> 
      <url>http://download.java.net/maven/2/</url> 
     </repository> 
    </repositories> 
    <dependencies> 

     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>4.3.6.Final</version> 
     </dependency> 
     <!-- JSON lib --> 
     <dependency> 
      <groupId>org.glassfish</groupId> 
      <artifactId>javax.json</artifactId> 
      <version>1.0.4</version> 
     </dependency> 
     <!--to send email --> 
     <dependency> 
      <groupId>javax.mail</groupId> 
      <artifactId>mail</artifactId> 
      <version>1.4.3</version> 
     </dependency> 


     <!-- google recaptcha --> 
     <!-- https://mvnrepository.com/artifact/net.tanesha.recaptcha4j/recaptcha4j --> 
     <dependency> 
      <groupId>net.tanesha.recaptcha4j</groupId> 
      <artifactId>recaptcha4j</artifactId> 
      <version>0.0.7</version> 
     </dependency> 

     <!-- Spring framework START --> 
     <!-- http://mvnrepository.com/artifact/org.springframework/spring-core --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <!-- http://mvnrepository.com/artifact/org.springframework/spring-web --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <!-- http://mvnrepository.com/artifact/org.springframework/spring-webmvc --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <!-- Spring framework END --> 
     <!-- Spring Security Artifacts - START --> 
     <!-- http://mvnrepository.com/artifact/org.springframework.security/spring-security-web --> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-web</artifactId> 
      <version>4.0.4.RELEASE</version> 
     </dependency> 

     <!-- http://mvnrepository.com/artifact/org.springframework.security/spring-security-config --> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-config</artifactId> 
      <version>4.0.4.RELEASE</version> 
     </dependency> 
     <!-- Spring Security Artifacts - END --> 

     <!-- Jstl for jsp page --> 
     <!-- http://mvnrepository.com/artifact/javax.servlet/jstl --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.2</version> 
     </dependency> 

     <!-- Servlet API --> 
     <!-- http://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.1.0</version> 
      <scope>provided</scope> 
     </dependency> 

     <!-- JSP API --> 
     <!-- http://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api --> 
     <dependency> 
      <groupId>javax.servlet.jsp</groupId> 
      <artifactId>jsp-api</artifactId> 
      <version>2.2</version> 
      <scope>provided</scope> 
     </dependency> 

     <!-- MySQL JDBC driver --> 
     <!-- http://mvnrepository.com/artifact/mysql/mysql-connector-java --> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>5.1.34</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>jcl-over-slf4j</artifactId> 
      <version>${jcl.slf4j.version}</version> 
     </dependency> 

     <!-- 3. logback --> 
     <dependency> 
      <groupId>ch.qos.logback</groupId> 
      <artifactId>logback-classic</artifactId> 
      <version>${logback.version}</version> 
     </dependency> 


     <!-- SQLServer JDBC driver (JTDS) --> 
     <!-- http://mvnrepository.com/artifact/net.sourceforge.jtds/jtds --> 
     <dependency> 
      <groupId>net.sourceforge.jtds</groupId> 
      <artifactId>jtds</artifactId> 
      <version>1.3.1</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-databind</artifactId> 
      <version>1.9.10</version> 
     </dependency> 
      <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-core</artifactId> 
      <version>2.5.4</version> 
     </dependency> 
       <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-databind</artifactId> 
      <version>2.5.4</version> 
     </dependency> 

    </dependencies> 

    <build> 
     <finalName>basicPages</finalName> 
    </build> 
</project> 

这个错误是因为我有AddressVO对象在我compnayRegVO但我的JSON没有地址对象?如果是,请如何纠正它。

+0

然后发送一个空白。 – Jai

+0

对不起,我没有找到你 –

+0

尝试发送一个自制的JSON到带有休息客户端/卷曲的服务器上......并检查服务器是否工作,如果它确实是客户端。之后,尝试调试控制台(网络),并比较两个请求之间的差异(body + header)。发送一个空的JSON对象是测试请求是否被正确的控制器方法处理的简单方法。 –

回答

0

对不起所有, 我有一个愚蠢,我已经在我的表单中添加method =“POST”。所以它采取的形式发布,所以我的服务没有暴露使用jquery.Now我有一个疑问,如果有人告诉我春天mvc绑定页面与URL使用internalResourceViewResolver。但有没有什么办法可以用jquery做同样的事情?

相关问题