鱼C论坛

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

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

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

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

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

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

  1. package com.example.demo1;

  2. import javax.servlet.ServletException;
  3. import javax.servlet.annotation.WebServlet;
  4. import javax.servlet.http.Cookie;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.servlet.http.HttpServletResponse;
  7. import java.io.IOException;

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

  10.     private String myusername = "admin";
  11.     private String mypassword = "123456";

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

  16.         if (username.equals(myusername) && password.equals(mypassword)){
  17.             System.out.println("equal");
  18.             Cookie cookie = new Cookie("name",username);
  19.             System.out.println(username + " " + password);
  20.             resp.addCookie(cookie);
  21.             resp.sendRedirect("/demo1/cookiewelcome.jsp");
  22.         }else {
  23.             resp.sendRedirect("/demo1/cookielogin.jsp");
  24.         }
  25.     }
  26. }
复制代码


下面是cookielogin.jsp代码
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4.     <title>Title</title>
  5. </head>
  6. <body>
  7.     <form action="/demo1/cookie_login.jsp" method="post">
  8.         用户名:<input type="text" name="username"/><br/>
  9.         密码:<input type="text" name="password"/><br/>
  10.         <input type="submit" value="登录"/>
  11.         <input type="reset" value="重置"/>
  12.     </form>
  13. </body>
  14. </html>
复制代码


还有cookiewelcome.jsp的代码
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4.     <title>Cookie_welcome</title>
  5. </head>
  6. <body>
  7.     <%
  8.         Cookie[] cookies = request.getCookies();
  9.         for (Cookie cookie:cookies){
  10.             out.write(cookie.getName() + " : " + cookie.getValue());
  11.         }
  12.     %>
  13. </body>
  14. </html>
复制代码
最佳答案
2021-9-2 11:14:38
<form action="/demo1/cookie_login.jsp" method="post">
提交表单的路径改为为demo1/cookielogin.jsp
0.前面没有/,
1.你确实没有cookie_login这个文件
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

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

那改了之后为什么按登录没有跳转至 cookiewelcome.jsp ?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

重新尝试了一下,页面跳转了,但是Cookie 没有新增的内容
  1. Cookie cookie = new Cookie("name",username);
  2.             resp.addCookie(cookie);
复制代码

这段代码没有执行,请问为什么会出现这种情况;
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

按说不应该啊,请求头参数username和passowrd传给服务器了吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

username 和 password 都没有传给服务器,按F12看不到这两个参数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

在末尾行打了断点后发现 username 和 password 都是有值的;但是Cookie还是没有新增内容;
  1. String username = req.getParameter("username");
  2.         String password = req.getParameter("password");
  3.         int a = 1;
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

方便把工程给我看看吗,真神奇
qq:3194244910
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-19 22:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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