• 简单的利用Layui来实现登录功能


    “管理子系统”效果如下:

    主页:

     管理员功能页:

    注册界面(此界面仅是一个界面,暂无功能的实现)

    今天只写了这些效果,具体代码情况如下:

    前端目录结构如下:

    代码如下:

     1 <%@ page language="java" contentType="text/html; charset=utf-8"
     2     pageEncoding="utf-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6   <meta charset="utf-8">
     7   <title>登录界面</title>
     8   <script src=".//layui/layui.js"></script>
     9   <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    10   <meta name="renderer" content="webkit">
    11   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    12   <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    13   <link rel="stylesheet" href=".//layui/css/layui.css" media="all">
    14   <link rel="stylesheet" href=".//style/admin.css" media="all">
    15   <link rel="stylesheet" href=".//style/login.css" media="all">
    16 </head>
    17 <body>
    18 <form action="LoginServlet" method="post">
    19   <div class="layadmin-user-login layadmin-user-display-show" id="LAY-user-login" style="display: none;">
    20 
    21     <div class="layadmin-user-login-main">
    22       <div class="layadmin-user-login-box layadmin-user-login-header">
    23         <h2>管理子系统</h2>
    24       </div>
    25       <div class="layadmin-user-login-box layadmin-user-login-body layui-form">
    26         <div class="layui-form-item">
    27           <label class="layadmin-user-login-icon layui-icon layui-icon-username" for="LAY-user-login-username"></label>
    28           <input type="text" name="username" id="username" lay-verify="required" placeholder="用户名" class="layui-input">
    29         </div>
    30         <div class="layui-form-item">
    31           <label class="layadmin-user-login-icon layui-icon layui-icon-password" for="LAY-user-login-password"></label>
    32           <input type="password" name="password" id="password" lay-verify="required" placeholder="密码" class="layui-input">
    33         </div>
    34         <form action="" class="layui-form">
    35             <div class="layui-input-item">
    36                 <lable class="layui-form-label">身份:</lable>
    37                 <input type="radio" name="entity" value="管理员" title="管理员" checked="">
    38                   <input type="radio" name="entity" value="学生" title="学生">
    39                   <input type="radio" name="entity" value="教师" title="教师">
    40             </div>
    41         </form>
    42         <div class="layui-form-item" style="margin-bottom: 20px;">
    43           <input type="checkbox" name="remember" lay-skin="primary" title="记住密码">
    44           <a href="forget.html" class="layadmin-user-jump-change layadmin-link" style="margin-top: 7px;">忘记密码?</a>
    45         </div>
    46         <div class="layui-form-item">
    47           <input class="layui-btn layui-btn-fluid" type="submit" value="登录">
    48         </div>
    49         <div class="layui-trans layui-form-item layadmin-user-login-other">
    50           <a href="Zhuce.jsp" class="layadmin-user-jump-change layadmin-link">注册帐号</a>
    51         </div>
    52       </div>
    53     </div> 
    54   </div>
    55 </form>
    56 <script>
    57 layui.use('form',function(){
    58     var form = layui.form;
    59     form.render();
    60 });
    61 </script>
    62 </body>
    63 </html>

    Zhuce.jsp

     1 <%@ page language="java" contentType="text/html; charset=utf-8"
     2     pageEncoding="utf-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6   <meta charset="utf-8">
     7   <title>注册界面</title>
     8   <script src=".//layui/layui.js"></script>
     9   <meta name="renderer" content="webkit">
    10   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    11   <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">  
    12   <link rel="stylesheet" href=".//layui/css/layui.css" media="all">
    13   <link rel="stylesheet" href=".//style/admin.css" media="all">
    14   <link rel="stylesheet" href=".//style/login.css" media="all">
    15 </head>
    16 <body>
    17 
    18 
    19   <div class="layadmin-user-login layadmin-user-display-show" id="LAY-user-login" style="display: none;">
    20     <div class="layadmin-user-login-main">
    21       <div class="layadmin-user-login-box layadmin-user-login-header">
    22         <h2>新用户注册界面</h2>
    23       </div>
    24       <div class="layadmin-user-login-box layadmin-user-login-body layui-form">
    25           <div class="layui-form-item">
    26           <label class="layadmin-user-login-icon layui-icon layui-icon-username" for="LAY-user-login-nickname"></label>
    27           <input type="text" name="nickname" id="LAY-user-login-nickname" lay-verify="nickname" placeholder="用户名" class="layui-input">
    28         </div>
    29         <div class="layui-form-item">
    30           <label class="layadmin-user-login-icon layui-icon layui-icon-password" for="LAY-user-login-password"></label>
    31           <input type="password" name="password" id="LAY-user-login-password" lay-verify="pass" placeholder="密码" class="layui-input">
    32         </div>
    33         <div class="layui-form-item">
    34           <label class="layadmin-user-login-icon layui-icon layui-icon-password" for="LAY-user-login-repass"></label>
    35           <input type="password" name="repass" id="LAY-user-login-repass" lay-verify="required" placeholder="确认密码" class="layui-input">
    36         </div>
    37         <div class="layui-form-item">
    38           <input type="checkbox" name="agreement" lay-skin="primary" title="同意用户协议" checked>
    39         </div>
    40         <div class="layui-form-item">
    41           <button class="layui-btn layui-btn-fluid" lay-submit lay-filter="LAY-user-reg-submit">注 册</button>
    42         </div>
    43         <div class="layui-trans layui-form-item layadmin-user-login-other">
    44           <a href="Login.jsp" class="layadmin-user-jump-change layadmin-link layui-hide-xs">用已有帐号登入</a>
    45           <a href="Login.jsp" class="layadmin-user-jump-change layadmin-link layui-hide-sm layui-show-xs-inline-block">登入</a>
    46         </div>
    47       </div>
    48     </div>
    49 
    50   </div>
    51 </body>
    52 </html>

    Admin.jsp

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="UTF-8">
     7 <title>管理员功能页</title>
     8 <link rel="stylesheet" href=".//layui/css/layui.css" media="all">
     9 <script src=".//layui/layui.all.js"></script>
    10 <script src=".//layui/layui.js"></script>
    11 <script type="text/javascript">
    12     
    13     //JavaScript代码区域
    14     layui.use('element', function(){
    15       var element = layui.element; 
    16     });
    17     
    18 </script>
    19 </head>
    20 <body class="layui-layout-body">
    21 
    22     <div class="layui-layout layui-layout-admin">
    23         <div class="layui-header">
    24             <div class="layui-logo">
    25             <%
    26                 String username=(String)session.getAttribute("username");
    27                 out.print(username);
    28             %> 
    29             </div>
    30         </div>
    31 
    32         <div class="layui-side layui-bg-black">
    33             <div class="layui-side-scroll">
    34                 <!-- 左侧导航 -->
    35                 <ul class="layui-nav layui-nav-tree" >
    36                     <li class="layui-nav-item"><a href="HTALC.html" target="frame">增加</a></li>
    37                     <li class="layui-nav-item"><a href="Visual.html" target="frame">删除</a></li>
    38                 </ul>
    39             </div>
    40         </div>
    41         <div class="layui-body">
    42             <!-- 内容主体区域 -->
    43             <iframe name="frame" width="100%" height="100%"
    44                 style="border: 1px solid #CCC;"></iframe>
    45         </div>
    46         <div>
    47         <div>
    48         <input type="text" id="date" />
    49         </div>
    50         </div>
    51     </div>
    52     
    53 </body>
    54 </html>

    后端目录结构:

    代码如下:

    Admin.java

     1 public class Admin {
     2     
     3     private String name;
     4     private String password;
     5     public String getName() {
     6         return name;
     7     }
     8     public void setName(String name) {
     9         this.name = name;
    10     }
    11     public String getPassword() {
    12         return password;
    13     }
    14     public void setPassword(String password) {
    15         this.password = password;
    16     }
    17     
    18 }

    DBUtil.java

     1 import java.sql.Connection;
     2 import java.sql.DriverManager;
     3 import java.sql.PreparedStatement;
     4 import java.sql.ResultSet;
     5 import java.sql.SQLException;
     6 
     7 public class DBUtil {
     8     public static final String url="jdbc:mysql://localhost:3306/manager";//URL,manager为新建的数据库名
     9     public static final String user="用户名";//用户名
    10     public static final String password="密码";//密码
    11     
    12     /**
    13      * 连接数据库
    14      * @return
    15      */
    16     public static Connection getConnection(){
    17         Connection conn=null;
    18         try {
    19             Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动
    20             conn=DriverManager.getConnection(url, user, password);
    21             System.out.println("数据库连接成功!");
    22         }catch(Exception e) {
    23             e.printStackTrace();
    24         }
    25         return conn;
    26     }
    27     
    28     /**
    29      * 关闭数据库
    30      */
    31     public static void close(Connection conn,PreparedStatement pstm) {
    32         
    33         System.out.println("关闭SQL(conn,pstm)");
    34         if(pstm!=null) {
    35             try {
    36                 pstm.close();
    37             }catch(SQLException e) {
    38                 e.printStackTrace();
    39             }
    40         }
    41         
    42         if(conn!=null) {
    43             try {
    44                 conn.close();
    45             }catch(SQLException e) {
    46                 e.printStackTrace();
    47             }
    48         }
    49         
    50     }
    51     
    52     public static void close(Connection conn,PreparedStatement pstm,ResultSet rs) {
    53         
    54         System.out.println("关闭SQL(conn,pstm,rs)");
    55         if(pstm!=null) {
    56             try {
    57                 pstm.close();
    58             }catch(SQLException e) {
    59                 e.printStackTrace();
    60             }
    61         }
    62         
    63         if(conn!=null) {
    64             try {
    65                 conn.close();
    66             }catch(SQLException e) {
    67                 e.printStackTrace();
    68             }
    69         }
    70         
    71         if(rs!=null) {
    72             try {
    73                 rs.close();
    74             }catch(SQLException e) {
    75                 e.printStackTrace();
    76             }
    77         }
    78         
    79     }
    80     
    81     public static void main(String[] args) {
    82         getConnection();
    83     }
    84 }

    LoginServlet.java

     1 import java.io.IOException;
     2 import javax.servlet.ServletException;
     3 import javax.servlet.annotation.WebServlet;
     4 import javax.servlet.http.HttpServlet;
     5 import javax.servlet.http.HttpServletRequest;
     6 import javax.servlet.http.HttpServletResponse;
     7 import javax.servlet.http.HttpSession;
     8 
     9 import dao.LoginDao;
    10 import util.Admin;
    11 import util.Student;
    12 import util.Teacher;
    13 
    14 
    15 /**
    16  * Servlet implementation class LoginServlet
    17  */
    18 @WebServlet("/LoginServlet")
    19 public class LoginServlet extends HttpServlet {
    20     private static final long serialVersionUID = 1L;
    21        
    22     /**
    23      * @see HttpServlet#HttpServlet()
    24      */
    25     public LoginServlet() {
    26         super();
    27         // TODO Auto-generated constructor stub
    28     }
    29     
    30     LoginDao loginDao = new LoginDao();
    31 
    32     /**
    33      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    34      */
    35     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    36         // TODO Auto-generated method stub
    37         //response.getWriter().append("Served at: ").append(request.getContextPath());
    38         doPost(request,response);
    39     }
    40 
    41     /**
    42      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    43      */
    44     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    45         // TODO Auto-generated method stub
    46         //doGet(request, response);
    47         request.setCharacterEncoding("utf-8");
    48         response.setCharacterEncoding("utf-8");
    49         System.out.println("进入LoginServlet");
    50         String username=request.getParameter("username");
    51         String password=request.getParameter("password");
    52         String entity=request.getParameter("entity");
    53         System.out.println(username+"的密码是:"+password+",身份是:"+entity);
    54         
    55         //使用request对象的getSession()获取session,如果session不存在则创建一个
    56         HttpSession session = request.getSession();
    57         //将数据存储到session中
    58         session.setAttribute("username", username);
    59         //将数据取出
    60         String name=(String)session.getAttribute("username");
    61         //输出数据
    62         System.out.println("session name;"+name);
    63         
    64         if(entity.equals("管理员")) {
    65             Admin admin=new Admin();
    66             admin=loginDao.LoginAdmin(username, password);
    67             System.out.println("验证成功");
    68             System.out.println(admin.getName()+":"+admin.getPassword());
    69             request.getRequestDispatcher("Admin.jsp").forward(request,response);
    70         }else {
    71             System.out.println("entity Error!");
    72             request.getRequestDispatcher("Login.jsp").forward(request,response);
    73         }
    74     }
    75 }

    LoginDao.java

     1 import java.sql.Connection;
     2 import java.sql.PreparedStatement;
     3 import java.sql.ResultSet;
     4 
     5 import db.DBUtil;
     6 import util.Admin;
     7 import util.Student;
     8 import util.Teacher;
     9 
    10 public class LoginDao {
    11     public Admin LoginAdmin(String name,String password) {
    12         Connection conn=null;
    13         PreparedStatement pstm=null;
    14         ResultSet rs=null;
    15         try {
    16             conn=DBUtil.getConnection();
    17             String sql="select * from s_admin where name=? and password=?";//其中s_admin为数据库的表名
    18             System.out.println(sql);
    19             pstm=conn.prepareStatement(sql);
    20             pstm.setString(1, name);
    21             pstm.setString(2, password);
    22             rs=pstm.executeQuery();
    23             Admin admin=new Admin();
    24             while(rs.next()) {
    25                 admin.setName(rs.getString("name"));
    26                 admin.setPassword(rs.getString("password"));
    27                 System.out.println("Admin-Name:"+admin.getName());
    28                 System.out.println("Admin-Password:"+admin.getPassword());
    29                 return admin;
    30             }
    31         }catch(Exception e) {
    32             e.printStackTrace();
    33         }finally {
    34             //SQL执行完成后释放相关资源
    35             DBUtil.close(conn,pstm,rs);
    36         }
    37         return null;
    38     }
    39 }

    其中所需要的Layui包、style包及mysql包均可在网上下载

  • 相关阅读:
    Oracle中的substr()函数和INSTR()函数和mysql中substring_index函数字符截取函数用法:计算BOM系数用量拼接字符串*计算值方法
    (转载)SDRAM驱动笔记
    【转】Verilog阻塞与非阻塞赋值使用要点
    【转转】(筆記) always block內省略else所代表的電路 (SOC) (Verilog)
    (原創) 如何處理signed integer的加法運算與overflow? (SOC) (Verilog)
    [转载]亚稳态
    Dev Exprss 发布部署
    Dev splliter 去除中间的分割显示
    DevTreeList中的新增、修改的设计
    Oracle 常用网址
  • 原文地址:https://www.cnblogs.com/miao-com/p/14651722.html
Copyright © 2020-2023  润新知