SpringMVC为什么不通过视图解析器生成目标页面呢?
做了一个登录验证的功能,登录成功能
jsp页面代码如下:
<form action="springmvc/login" method="post">
<table>
<tr>
<td>Username</td>
<td><input type="text" name="username" style="width:160px;" id="username" value="${user.username }"/></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password" style="width:160px;" id="password"/></td>
</tr>
<tr>
<td><input type="submit" value="Login"/></td>
<td><input type="reset" value="Reset"/></td>
</tr>
<tr>
<td colspan="2"><a href="springmvc/regist">请注册用户</a></td>
</tr>
</table>
<font style="font-size: 12px;color: red;">${logInfo }</font>
</form>
controller代码如下:
@Controller
@RequestMapping("/springmvc")
@SessionAttributes("logUser")
public class LoginHandler {
private static final String SUCCESS = "success";
@Autowired
private UserService userService;
@RequestMapping(value="/login" ,method=RequestMethod.POST)
public String login(User user, Map<String, Object> map){
User logUser = userService.login(user);
if(logUser == null){
map.put("logInfo", "您输入的用户名不正确");
map.put("user",user);
return "login";
}else{
if(!logUser.getPassword().equals(user.getPassword().trim())){
map.put("logInfo", "您输入的密码不正确");
map.put("user", user);
return "login";
}else{
map.put("logUser", logUser);
return SUCCESS;
}
}
}
}
配置文件中视图解析器相关代码如下:
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
在类上也使用的requestMapping注解,登录的时候用户名和密码正确的话跳转到成功页面没有问题,但是如果错误的话,url中显示的地址为:http://localhost/Project-SSM/springmvc/login,能返回登录界面,如果再次输入错误的话,地址栏中显示的url为:http://localhost/Project-SSM/springmvc/springmvc/login,这样就会提示404错误啦!
视图解析器中配置的前缀为:/WEB-INF/views/,后缀为.jsp,为啥第二次及以后再输入错误的话,不返回到登录界面,而是返回404的页面,地址栏的url地址每次都会增加 springmvc。这是怎么回事啊?求解
ps:所有的jsp页面都在/WEB-INF/views目录下。