创建数据库
reate table admin(AdminID int(11) primary key not null, AdminName varchar(32) not null, AdminPwd varchar(64)not null, AdminType SMALLINT(6) DEFAULT 0, LastLoginTime varchar(50) DEFAULT "暂无登录" ); create table news(NewsID int(11) primary key not null auto_increment, NewsTile varchar(60) , NewsContent LONGTEXT, NewsTime varchar(50) not null, AdminName varchar(32) not null ) create table notice(NoticeID int(11) primary key not null auto_increment, NoticeTile varchar(60) , NoticeContent LONGTEXT, NoticeTime varchar(50) not null, AdminName varchar(32) not null )
创建数据库连接对象
-
首创建DBConnection.java 封装的jdbc连接
package com.example.codeskywebsite; import java.sql.*; public class DBConnection { private static final String MysqlURL="jdbc:mysql://localhost:3306/db"; private static final String Username="root"; private static final String Password="123"; { // 静态代码块 当访问改类的时候会自动执行静态代码块里的东西 try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } // 访问getConn 返回 Connection 连接对象 public static Connection getConn(){ Connection conn = null; try { conn = DriverManager.getConnection(MysqlURL, Username, Password); } catch (SQLException e) { e.printStackTrace(); } return conn; } // 关闭 结果集ResultSet statement connection public static void close(ResultSet resultSet, Statement statement, Connection conn){ try { // 遵循先开后关的规则 resultSet.close(); statement.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } // update /* */ public static void close( Statement statement, Connection conn){ try { statement.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }
创建登录页面
-
在webapp 下 常见如下目录
-
admin 文件夹(后台页面)
-
css 文件夹 (放样式)
-
fonts文件夹 (放样字体或者icon字体图标 可以去www.iconfont.com 下载)
-
img文件夹 (放图片)
-
js文件夹(放js脚本)
-
-
-
front 文件夹(前台页面)
-
css 文件夹 (放样式)
-
img文件夹 (放图片)
-
js文件夹(放js脚本)
-
在admin 目录下创建 login.jsp
<%@ page import="com.example.codeskywebsite.Login" %><%-- Created by IntelliJ IDEA. User: zwb Date: 2024/10/29 Time: 8:02 PM To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>天马行空学习建站</title> <link rel="stylesheet" href="./css/login.css"/> </head> <body style="background:url('./img/1.jpg') no-repeat;"> <div class="title"> 天 码 行 空 学 习 建 站 </div> <div class="warp"> <div class="sbox"> <form style="align-content: center" action="checklogin.jsp" method="post"> <label>账号:</label> <input type="text" placeholder="请输入用户名" name="user"><br> <label >密码:</label> <input type="password" placeholder="请输入密码" name="pwd"><br> <div class="btn"> <input type="submit" value="提交"> </div> </form> </div> </div> </body> </html>
在 创建checklogin.jsp
<%@ page import="com.example.codeskywebsite.Login" %><%-- Created by IntelliJ IDEA. User: zwb Date: 2024/11/1 Time: 10:41 AM 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> <% /* 接受参数设置为中文*/ request.setCharacterEncoding("utf-8"); // 判断是否点击登录 Login login = new Login(); String user = request.getParameter("user"); String pwd = request.getParameter("pwd"); boolean isok = login.LoginCheck(user, pwd); if(isok){ System.out.println("1111"); // 返回true 已经在数据库查询到 // response.sendRedirect("news.jsp"); out.println("<script>alert('登录成功');location.hre f='news.jsp'</script>"); }else{ out.println("<script>alert('登录失败');location.href='login.jsp'</script>"); } %> </body> </html>
再创建news.jsp
<%-- Created by IntelliJ IDEA. User: zwb Date: 2024/11/1 Time: 10:48 AM 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> 登录成功 </body> </html>
创建登录检测 的方法类
-
首先需要连接数据库做 用户名和 密码的检测
创建一个Function.java
package com.example.codeskywebsite; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Function { DBConnection DBConnection = new DBConnection(); /* 数据库查询*/ public Boolean CheckLogin(Connection conn, String user, String pwd) throws SQLException { boolean OK = true; // 1.创建Statement Statement statement = conn.createStatement(); // 2. sql String sql = "select * from admin where AdminName='"+user+"'" +"and AdminPwd='"+pwd+"'"; // 3. executeQuery ResultSet resultSet = statement.executeQuery(sql); if(!resultSet.next()){ OK = false; }else{ OK = true; } return OK; } }
-
再创建Login.java 调用检测数据库的方法 进行检测
package com.example.codeskywebsite; import java.sql.Connection; import java.sql.SQLException; public class Login { DBConnection DBconn = new DBConnection(); Function Fun = new Function(); public boolean LoginCheck(String s1 ,String s2) throws SQLException { Connection conn = DBconn.getConn(); /* 设置默认值*/ boolean OK= true; Boolean isboolean = Fun.CheckLogin(conn, s1, s2); return isboolean; } }