<!--案例----登录错误时显示错误界面-->
<!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>
javaweb练习请 求转发,转发页面一直是第一个if语句内容,无法执行到其他if语句内容?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
404警告 2021-07-21 12:19关注错误点 使用变量不需要对变量添加双引号,添加双引号就成了字符串 而不是你使用request.getParameter获取出来的值

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无用