jsp内置对象课后作业(3)

简单的用户登入
用户通过输入用户名和密码(假设用户名和密码都是admin)进入用户或者管理员页面,拒绝绕过登入页面直接进入用户或者管理员页面。要求创建4个文件,第一个是用户登录页面,此页面输入用户名和密码以及登录类型,第二个文件对提交信息进行检查,如果输入正确,则根据登录类型分别进入到管理员或者普通用户页面,用重定向的方法实现跳转到这两个页面。如果输入有误,则弹出警示对话框,让用户重新输入信息
login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

  </head>
  
  <body>
      <form action="test.jsp" method="post">
          name:&nbsp;&nbsp;&nbsp;&nbsp;<input name="name" type="text"><br><br>
          password:<input name="password" type="password"><br><br>
                 登入类型:<input type="checkbox" name="AAA" value="admin">管理员
                   <input type="checkbox" name="AAA" value="user">普通用户<br><br>
                   <input type="submit" name="submit" value="login">
      
      </form>

  </body>
</html>

test.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

  </head>
  
  <body>
      <%
         //获得登录类型
         String[] A = request.getParameterValues("AAA");
          
          //获取name
          String name = (String)request.getParameter("name");
          //获取password
          String password = (String)request.getParameter("password");
          //建立session变量
          session.setAttribute("name", name);
          session.setAttribute("password", password);
         
       %>
       <%
           //进行判断管理员或者用户是否已被选择
           if(A != null){
               for(int i=0;i<A.length;i++){
                   if(A[i].equals("admin")){                  
                       //管理员登入验证
                       if(name.equals("admin") && password.equals("admin")){
                           response.sendRedirect("admin.jsp");
                       }
                       else{%>
                              <script type="text/javascript">
                              alert("账号或密码错误,请重新输入");
                              window.history.back(-1);                             
                              </script>
                           <%}                       
                   }
                   //用户登入验证
                   if(A[i].equals("user")){
                       if((name.equals("user")) && (password.equals("user"))){
                             response.sendRedirect("user.jsp");
                       }
                       else{%>
                              <script type="text/javascript">
                              alert("账号或密码错误,请重新输入");
                              window.history.back(-1);                             
                              </script>
                           <%}
                   }
               }
           }
           else{%>
                    <script type="text/javascript">
                    alert("输入不得为空,请重新输入");
                    window.history.back(-1);                             
                    </script>
                <%}
        %>

  </body>
</html>

admin.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

  </head>
  
  <body>
  
   <% String name = request.getParameter("name");
      Object name1 = session.getAttribute("name");
     //利用if判断name1是否有值,如果没有值,则说明直接登入网页,则只需要将其跳转回登入页面即可
     if(name1 != null){
     %>
       <P>尊敬的管理员<%=name1 %><br>登入成功!</P>
        <%
    //结束会话
    //session.invalidate();  
    //如果设置结束会话会使得admin界面再次刷新的时候会跳转回登入页面   
     }
     else{
        response.sendRedirect("login.jsp");
     }
     
  %>
  </body>
</html>

user.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

  </head>
  
  <body>
  <%String name = request.getParameter("name");
     Object name1 = session.getAttribute("name");
     //利用if判断name1是否有值,如果没有值,则说明直接登入网页,则只需要将其跳转回登入页面即可
     if(name1 != null){
     %>
       <P>尊敬的用户<%=name1 %><br>登入成功!</P>
        <%
    //结束会话
    //session.invalidate();     
     }
     else{
        response.sendRedirect("login.jsp");
     }
     
  %>
  </body>
</html>

运行结果展示
不输入任何内容,弹出提示框
不输入任何内容的话
管理员登入成功
在这里插入图片描述
用户登入成功
在这里插入图片描述
直接跳转到admin页面的话,会直接跳转到登录页面
在这里插入图片描述
密码或账号输入错误
在这里插入图片描述

发布了21 篇原创文章 · 获赞 43 · 访问量 5005

猜你喜欢

转载自blog.csdn.net/weixin_42878211/article/details/104862664