首页 新闻 搜索 专区 学院

POST导致客户端跳转失败,GET却可以。

1
[待解决问题]

代码如下,使用post提交表单时,和java代码中注释的地方(客户端跳转)相矛盾,而使用get方式提交时却可以,但是会暴漏用户信息。为什么post会失败?
JAVA代码

  @RequestMapping("/login")
    public String login(HttpServletRequest req, HttpServletResponse res){
        String password = req.getParameter("password");
        String name = req.getParameter("name");
        List<User> users = userDAO.findAll();
        for(User user1 : users){
            if(user1.getPhoneNumber().equals(name) || user1.getPetName().equals(name)){
                if(user1.getPassword().equals(password)){
                    //设置Cookie,保存用户名
                    Cookie cookie = new Cookie("username",name);
                    res.addCookie(cookie);
//                    try {
//                        req.getRequestDispatcher("setHeadImg.html").forward(req, res);
//                    } catch (ServletException e) {
//                        e.printStackTrace();
//                    } catch (IOException e) {
//                        e.printStackTrace();
//                    }
                    return "登录成功";
                }else{
                    return "密码错误";
                }
            }
        }
        
        //执行到这一步,说明用户提交的信息不在user表中,提示用户注册
        try {
            res.sendRedirect("register.html");
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "账号未注册";
    }

HTML

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>登录页面</title>
</head>
<body>
<form action="login" method="post">
    昵称或手机号:<input type="text" name="name"/>
    <br/>
    密码:<input type="text" name="password"/>
    <br/>
    <input type="submit" value="登录">
</form>
</body>
</html>
up-bear的主页 up-bear | 菜鸟二级 | 园豆:202
提问于:2021-09-23 16:59
< >
分享
所有回答(4)
0

网上有个post 也是这样,说是路径的问题
https://blog.csdn.net/cherry_chenrui/article/details/77709577

人间春风意 | 园豆:984 (小虾三级) | 2021-09-24 08:18

改成重定向确实可以解决问题。但是post为什么不行的具体原因还是不清楚。可能要深入了解post和get。

支持(0) 反对(0) up-bear | 园豆:202 (菜鸟二级) | 2021-09-25 10:54
0

应该是 有隐藏的字段没有提交

田麦成 | 园豆:2004 (老鸟四级) | 2021-09-24 08:56

是指表单的隐藏字段?

支持(0) 反对(0) up-bear | 园豆:202 (菜鸟二级) | 2021-09-25 10:56
0

可以试试改成PostMapping,(虽然requestmapping应该也是可以的)

哒布溜 | 园豆:202 (菜鸟二级) | 2021-09-24 15:23

PostMapping不行

支持(0) 反对(0) up-bear | 园豆:202 (菜鸟二级) | 2021-09-25 11:01
0

检查下请求的content-type

万盏灯火 | 园豆:202 (菜鸟二级) | 2021-09-26 11:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册