Laughing girl2021 2021-07-21 11:17 采纳率: 100%
浏览 18
已采纳

javaweb练习请 求转发,转发页面一直是第一个if语句内容,无法执行到其他if语句内容?


<!--案例&#45;&#45;&#45;&#45;登录错误时显示错误界面-->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<center>
     <h2>用户登录</h2>
     <form action="login" method="get">
       <p>账号:<input type="text" name="name"></p>
       <p>密码:<input type="text" name="passWord"></p>
       <input type="submit" value="登录">
     </form>
</center>

</body>
</html>

package com.pojo.test1;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet(name = "loginServlet", urlPatterns = "/login")
public class loginServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        String userName="daiping";
        String userPwd="123456";

        String name=request.getParameter("name");
        String passWord=request.getParameter("passWord");

        if (!userName.equals("name")){
            request.setAttribute("errorMessage","账户错误");
            request.getRequestDispatcher("/loginError.jsp").forward(request,response);
        }else if (!userPwd.equals("passWord")){
            request.setAttribute("errorMessage","密码错误");
            request.getRequestDispatcher("/loginError.jsp").forward(request,response);
        }else{
            response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
            response.setHeader("Location","/test1/Home.html");

//            response.sendRedirect("/test1/Home.html");
        }
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

<%--
  Created by IntelliJ IDEA.
  User: pan
  Date: 2021/7/19
  Time: 17:15
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<center>
<h2>用户登录界面错误</h2>
    <div>
        <%=request.getAttribute("errorMessage")%>
    </div>

</center>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h2>来到我的网站!············</h2>
</body>
</html>

  • 写回答

2条回答 默认 最新

  • 404警告 2021-07-21 12:19
    关注

    错误点 使用变量不需要对变量添加双引号,添加双引号就成了字符串 而不是你使用request.getParameter获取出来的值

    img
    if位置更换如下代码 去掉双引号

    if (!userName.equals(name)){
                request.setAttribute("errorMessage","账户错误");
                request.getRequestDispatcher("/loginError.jsp").forward(request,response);
            }else if (!userPwd.equals(passWord)){
                request.setAttribute("errorMessage","密码错误");
                request.getRequestDispatcher("/loginError.jsp").forward(request,response);
            }else{
                response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
                response.setHeader("Location","/test1/Home.html");
     
    //            response.sendRedirect("/test1/Home.html");
            }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 7月21日
  • 创建了问题 7月21日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装