返回顶部

一缕半夏微光

温柔半两,从容一生

导航

简单的利用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包均可在网上下载

posted on 2021-04-12 20:46  一缕半夏微光  阅读(4701)  评论(0编辑  收藏  举报