Java Spring 3.2重定向不起作用:获取错误405

Java Spring 3.2重定向不起作用:获取错误405,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我有一个welcome.jsp,当它被点击时,它有一个注册链接。javascript函数showSignUp被调用,它调用控制器,控制器应该将它重定向到注册表单(signUp.jsp)。但是重定向没有发生,我得到的错误是找不到405方法。(控制器调用正在发生,我能够在showSignUp方法中打印sysout) Welcome.jsp <body> <a href="javascript:signupObj.showSignup ();" >SignUP</a>

我有一个welcome.jsp,当它被点击时,它有一个注册链接。javascript函数showSignUp被调用,它调用控制器,控制器应该将它重定向到注册表单(signUp.jsp)。但是重定向没有发生,我得到的错误是找不到405方法。(控制器调用正在发生,我能够在showSignUp方法中打印sysout)

Welcome.jsp

<body>
<a href="javascript:signupObj.showSignup ();" >SignUP</a>
</body>
<form method="POST" onsubmit="javascript:signupObj.signup()">
<table>
<tr>
<td>Username : </td>
<td><input  id="username"/></td>
</tr>
<tr>
<td>Password :</td>
<td><input id="password"/></td>

</tr>


<tr>
<td>
<button type="submit">Submit</button>
</td>
</tr>
</table>



</form>
控制器类

   @RequestMapping(value="/showSignup")
    public String showSignup(HttpServletRequest httprequest,HttpServletResponse httpResponse) {
        System.out.println("In ShowSignUp method");
        return "redirect:signup";
    }
Signup.jsp

<body>
<a href="javascript:signupObj.showSignup ();" >SignUP</a>
</body>
<form method="POST" onsubmit="javascript:signupObj.signup()">
<table>
<tr>
<td>Username : </td>
<td><input  id="username"/></td>
</tr>
<tr>
<td>Password :</td>
<td><input id="password"/></td>

</tr>


<tr>
<td>
<button type="submit">Submit</button>
</td>
</tr>
</table>



</form>

用户名:
密码:
提交
Web.xml

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

     <bean id="viewResolver"
        class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass"
            value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean> 

您可以只返回视图名称而不重定向,如下所示:

return "Signup";
但重定向并没有发生,我得到的错误是405方法并没有发生 发现

您正在应用程序中使用
ajax
调用,我不明白您为什么需要将其重定向到另一个页面。ajax的目的是更新页面的一部分

    return "redirect:signup";
当您将其重定向到
注册时
您是否用另一个请求映射url处理过它,如下所示

   @RequestMapping(value="/signup",,method=RequestMethod.GET)
    public String showSignup(HttpServletRequest httprequest,HttpServletResponse httpResponse) {
        System.out.println("In ShowSignUp method");
        return "View Name Here";
    }

请记住,重定向后您应该遵循p-R-G模式

控制器类是否有一个
@RequestMapping
方法设置为POST?否我尚未指定要在控制器中发布的方法可以显示完整的控制器,并映射到
注册
?我有一个signup.jsp没有注册/显示注册页面应该重定向到signup.jsp页面是的,我知道,但我的问题是为什么不重定向working@user3745727您是否正在使用ajax处理
submit