鱼C论坛

 找回密码
 立即注册
查看: 4686|回复: 7

[已解决]Servlet无法重定向至想要的页面

[复制链接]
发表于 2021-9-2 08:51:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这是CookieLoginServlet,想要重定向至welcome.jsp;出来的结果却是404;报错消息说{文.件[/cookie_login.jsp] 未找到}
package com.example.demo1;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/demo1/cookielogin.jsp")
public class CookieLoginServlet extends HelloServlet{

    private String myusername = "admin";
    private String mypassword = "123456";

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String username = req.getParameter("username");
        String password = req.getParameter("password");

        if (username.equals(myusername) && password.equals(mypassword)){
            System.out.println("equal");
            Cookie cookie = new Cookie("name",username);
            System.out.println(username + " " + password);
            resp.addCookie(cookie);
            resp.sendRedirect("/demo1/cookiewelcome.jsp");
        }else {
            resp.sendRedirect("/demo1/cookielogin.jsp");
        }
    }
}

下面是cookielogin.jsp代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <form action="/demo1/cookie_login.jsp" method="post">
        用户名:<input type="text" name="username"/><br/>
        密码:<input type="text" name="password"/><br/>
        <input type="submit" value="登录"/>
        <input type="reset" value="重置"/>
    </form>
</body>
</html>

还有cookiewelcome.jsp的代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Cookie_welcome</title>
</head>
<body>
    <%
        Cookie[] cookies = request.getCookies();
        for (Cookie cookie:cookies){
            out.write(cookie.getName() + " : " + cookie.getValue());
        }
    %>
</body>
</html>
最佳答案
2021-9-2 11:14:38
<form action="/demo1/cookie_login.jsp" method="post">
提交表单的路径改为为demo1/cookielogin.jsp
0.前面没有/,
1.你确实没有cookie_login这个文件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-2 11:14:38 | 显示全部楼层    本楼为最佳答案   
<form action="/demo1/cookie_login.jsp" method="post">
提交表单的路径改为为demo1/cookielogin.jsp
0.前面没有/,
1.你确实没有cookie_login这个文件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-2 19:51:31 | 显示全部楼层
巴巴鲁 发表于 2021-9-2 11:14
提交表单的路径改为为demo1/cookielogin.jsp
0.前面没有/,
1.你确实没有cookie_login这个文件

那改了之后为什么按登录没有跳转至 cookiewelcome.jsp ?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-2 20:01:53 | 显示全部楼层
张图南 发表于 2021-9-2 19:51
那改了之后为什么按登录没有跳转至 cookiewelcome.jsp ?

重新尝试了一下,页面跳转了,但是Cookie 没有新增的内容
Cookie cookie = new Cookie("name",username);
            resp.addCookie(cookie);
这段代码没有执行,请问为什么会出现这种情况;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-2 20:43:13 | 显示全部楼层
张图南 发表于 2021-9-2 20:01
重新尝试了一下,页面跳转了,但是Cookie 没有新增的内容

这段代码没有执行,请问为什么会出现这种情 ...

按说不应该啊,请求头参数username和passowrd传给服务器了吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-2 20:51:55 | 显示全部楼层
巴巴鲁 发表于 2021-9-2 20:43
按说不应该啊,请求头参数username和passowrd传给服务器了吗

username 和 password 都没有传给服务器,按F12看不到这两个参数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-2 20:56:00 | 显示全部楼层
巴巴鲁 发表于 2021-9-2 20:43
按说不应该啊,请求头参数username和passowrd传给服务器了吗

在末尾行打了断点后发现 username 和 password 都是有值的;但是Cookie还是没有新增内容;
String username = req.getParameter("username");
        String password = req.getParameter("password");
        int a = 1;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-2 21:31:57 | 显示全部楼层
张图南 发表于 2021-9-2 20:56
在末尾行打了断点后发现 username 和 password 都是有值的;但是Cookie还是没有新增内容;

方便把工程给我看看吗,真神奇
qq:3194244910
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-7-8 15:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表