gpt4 book ai didi

Spring MVC 3.0 映射扩展

转载 作者:行者123 更新时间:2023-12-04 21:50:25 25 4
gpt4 key购买 nike

我想让我的 Spring MVC 应用程序映射到以下扩展名 *html 用于 jsp 和 *.action Controller 。

这是登录页面:

@RequestMapping(value="/login.html", method=RequestMethod.GET)
public ModelAndView login(){
ModelAndView mv = new ModelAndView("login/login");
//omitted
return mv;
}

这是为了行动:
@RequestMapping(value="/login.action", method=RequestMethod.POST)
public ModelAndView actionSignUp(@Valid User user){

//omitted
return mv;
}

而jsp很简单:
<form:form  method="POST" action="/login.action" commandName="user" >
<form:input path="userName" id="userName" /><br />
<form:input path="password" id="password"/><br />
<input id ="login" type="submit" value="Login"></input>
</form:form>

我的 web.xml 如下:
 <display-name>SpringMVC</display-name>
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>

我获取/login.html 没有问题,但是我在/login.action 上的POST 请求有问题

我越来越

HTTP 状态 404 -/login.action

为什么我的 *.action 映射不起作用?

我可以映射两个不同的扩展名 *html 和 *.action 吗?

最佳答案

您表单中的操作方法定义为 action="/login.action" ./使 url 相对于您的域。您应该注意到该表单发布到类似于 http://localhost:8080/login.action 的 url。这应该是 http://localhost:8080/[context root]/[sub dir if defined]/login.action

我认为删除“/”将修复它。

关于Spring MVC 3.0 映射扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5814757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com