问题描述:
小白博主在入门SpringMVC的时候,遇到了主页可以跳转到其他页面,可是其他页面无法进入controller的问题。
即:index.jsp->controller->select.jsp->404
以下是代码:
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="user/login" method="post">
账号:<input type="text" name="account"><br/>
密码:<input type="text" name="key"><br/>
<input type="submit" value="提交">
</form>
</body>
</html>
controller.class
@Controller
@RequestMapping("/user")
public class controller {
@Autowired
private UserLoginImpl userLogin;
@RequestMapping("login")
public String login(Login login){
if (userLogin.login(login.getAccount(),login.getKey())==true){
return "select";
}else {
return "redirect:/index.jsp";
}
@RequestMapping(value = "select")
public String select(String ss){
System.out.println(ss);
return "success";
}
}
select.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>选择</title>
</head>
<body>
<form action="user/select" method="get">
<input type="text" name="ss"><input type="submit">
</form>
</body>
</html>
问题分析:
经过分析发现,进入select.jsp时,url是http://localhost:8080/ssm_demo_war/user/login
点击进入success.jsp时,报错404,发现url是http://localhost:8080/ssm_demo_war/user/login/select
不对阿,此时的url应该是http://localhost:8080/ssm_demo_war/user/select
解决方法:
去掉controller.class上面的@RequestMapping("/user"),只保留方法上面的@RequestMapping()就解决问题了!
小白在入门的时候,看到报错404一定要先检查各种与所写代码相关的路径,去分析找到问题的所在。