SpringMVC from表单无法访问Controller的原因

问题描述:

小白博主在入门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一定要先检查各种与所写代码相关的路径,去分析找到问题的所在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值