Java Spring MVC映射-为什么路径在变化?
我有一段代码:Java Spring MVC映射-为什么路径在变化?,java,spring,spring-mvc,path,navigation,Java,Spring,Spring Mvc,Path,Navigation,我有一段代码: @RequestMapping(value="login/authUser", method=RequestMethod.POST) public String authUser(@RequestParam("login") String login, @RequestParam("password") String password, ModelMap model) (...) 哪个应该捕获用户的身份验证: <di
@RequestMapping(value="login/authUser", method=RequestMethod.POST)
public String authUser(@RequestParam("login") String login,
@RequestParam("password") String password, ModelMap model)
(...)
哪个应该捕获用户的身份验证:
<div id ="loginBar">
<form id="loginForm" action="login/authUser" method="post">
<label>Login:</label>
<input id="login" type="text" title="podaj login" name="login"/><br><br>
<label>Hasło:</label>
<input id ="password" type="password" title="podaj haslo, minimum 8 znaków" name="password"><br>
<input id ="loginAuthorisationFailed" type="text"/><br>
<input id="loginButton" type="submit" value="Zaloguj"><br>
</form>
</div>
信息转到h1 HTML标记:
<h1>${info}</h1>
但我再次尝试登录,浏览器中的路径不同:
http://localhost:8084/pracainz/login/login/authUser
Tomcat向我显示了错误:
The requested resource () is not available.
它增加了额外的“/登录”,我不知道为什么。我能做些什么来阻止表单以这种方式运行,当我每次尝试将表单发送到Spring时,我能做些什么来强制、重置路径
不幸的是,这不起作用:
action="${pageContext.servletContext.contextPath}/login/authUser"
如果有人愿意帮助我,我将非常高兴
提前谢谢你
已解决:
解决方案:
我应该使用:
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
(...)
<form:form id="loginForm" action="${pageContext.servletContext.contextPath}/login/authUser" method="post">
(...)
</form:form>
(...)
(...)
改为使用简单的HTML标记使用Spring标记库,更具体地说是使用
Spring:url
来创建正确的操作url。查看SO问题以了解详细信息谢谢,我也找到了不同的解决方案;我应该使用Spring标记代替简单的HMTL
action="${pageContext.servletContext.contextPath}/login/authUser"
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
(...)
<form:form id="loginForm" action="${pageContext.servletContext.contextPath}/login/authUser" method="post">
(...)
</form:form>