用户通过正确输入账户和密码,进入个人主页界面,否则跳转到登陆失败
使用login.jsp在网页中运行
<%--
Created by IntelliJ IDEA.
User: 发
Date: 2020/10/9
Time: 8:23
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录页面</title>
<%--引入css文件和js文件--%>
<link rel="stylesheet" href="css/bootstrap.css">
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.js"></script>
<script src="js/bootstrap.bundle.js"></script>
<style>
.container{
width: 20%;
height: 20%;
margin-top: 10%;
}
</style>
</head>
<body>
<div class="container">
<div class="row clearfix">
<div class="col-md-12 column">
<form role="form" method="post" action="index1.jsp">
<h3 style="text-align: center">登录</h3>
<div class="form-group">
<label for="exampleInputEmail1">用户名</label><input name="username" class="form-control" id="exampleInputEmail1" type="email" />
</div>
<div class="form-group">
<label for="exampleInputPassword1">密码</label><input name="password" class="form-control" id="exampleInputPassword1" type="password" />
</div>
<div class="checkbox">
<label><input type="checkbox" />Check me out</label>
</div>
<button class="btn btn-default" type="submit">登录</button>
</form>
</div>
</div>
</div>
</body>
</html>
用户提交数据后,跳转到index.jsp,账号、密码不正确,将跳出登陆失败
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%--
Created by IntelliJ IDEA.
User: 113主机
Date: 2020/10/2
Time: 11:36
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
//修改request中的数据编码
request.setCharacterEncoding("utf-8");
String username = request.getParameter("username");
String password = request.getParameter("password");
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//建立数据库连接
String url = "jdbc:mysql://10.3.22.1/book";
Connection connection = DriverManager.getConnection(url,"root","root");
//sql 模板
String sql = "select * from user where username = ? and password = ?";
//使用PreparedStatement对象执行sql语句
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1,username);
ps.setString(2,password);
ResultSet rs = ps.executeQuery();
if(rs.next()){
//表示登录成功
session.setAttribute("username",username);
response.sendRedirect("home.jsp");
}else{
//表示登录未成功
out.print("登录失败,3秒之后跳转登录页面...");
response.setHeader("refresh","3;url=login.jsp");
}
%>
登陆成功,则跳转到home.jsp——个人主页
<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>个人中心</title>
<%--引入css文件和js文件--%>
<link rel="stylesheet" href="css/bootstrap.css">
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.js"></script>
<script src="js/bootstrap.bundle.js"></script>
<style>
.container{
margin-top:20px;
}
</style>
</head>
<body>
<div class="container">
<div class="row clearfix">
<div class="col-md-12 column">
<h3 style='text-align:center'>欢迎来到个人主页!</h3>
<a href="#modal-container-addUser" role="button" class="btn" data-toggle="modal">添加用户</a>
<table class="table table-striped">
<thead>
<th>ID</th>
<th>用户名</th>
<th>性别</th>
<th>年龄</th>
<th>操作</th>
</thead>
<tbody>
<%
if(session.getAttribute("username") == null){
//表示尚未登录
out.print("你尚未登录,3秒之后跳转登录页面");
response.setHeader("refresh","3;url=login.jsp");
}else{
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//建立数据库连接
String url = "jdbc:mysql://localhost:3306/book"; //数据库连接地址
Connection connection = DriverManager.getConnection(url,"root","root"); //第一个root为数据库的用户名 第二个root为数据库的密码
String sql = "select * from user"; //在PreparedStatement 中使用问好代替实际参数
PreparedStatement ps = connection.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()){
out.print("<tr>");
out.print(
"<td>"+rs.getInt("id")+"</td>"
+"<td>"+rs.getString("username")+"</td>"
+"<td>"+rs.getString("gender")+"</td>"
+"<td>"+rs.getString("age")+"</td>"
+"<td><a href='delete.jsp?id="+rs.getInt("id")+"'>删除</a>"
+" <a href='edit.jsp?id="+rs.getInt("id")+"'>编辑</a></td>");
out.print("</tr>");
}
}
%>
</tbody>
</table>
<div class="modal fade" id="modal-container-addUser" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel">添加用户</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<form role="form" method="post" action="add.jsp">
<div class="modal-body">
<div class="form-group">
<label>用户名:</label><input type="text" name="username" class="form-control" />
</div>
<div class="form-group">
<label>密码:</label><input type="password" name="password" class="form-control"/>
</div>
<div class="form-group">
<label>性别:</label><input type="text" name="gender" class="form-control"/>
</div>
<div class="form-group">
<label>年龄:</label><input type="text" name="age" class="form-control"/>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="submit" class="btn btn-primary">添加</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
二、添加
点击添加用户后,跳出添加界面
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.SQLException" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="user" class="com.media.bean.UserBean"></jsp:useBean>
<jsp:setProperty name="user" property="*"></jsp:setProperty>
<%
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//建立数据库连接
String url = "jdbc:mysql://10.3.22.1/book"; //数据库连接地址
Connection connection = DriverManager.getConnection(url,"root","root"); //第一个root为数据库的用户名 第二个root为数据库的密码
connection.setAutoCommit(false); //关闭自动提交
String sql = "insert into user (username,password,gender,age,id) values (?,?,?,?,?)"; //在PreparedStatement 中使用问好代替实际参数
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1,user.getUsername());
ps.setString(2,user.getPassword());
ps.setInt(3,user.getGender());
ps.setInt(4,user.getAge());
ps.setInt(5,0);
ps.addBatch();//添加到批处理
ps.setString(1,user.getUsername()+"111");
ps.setString(2,user.getPassword()+"111");
ps.setInt(3,user.getGender());
ps.setInt(4,user.getAge());
ps.setInt(5,0);
ps.addBatch();//添加到批处理 insert update delete
int[] count = {0};
try{
count = ps.executeBatch();
connection.commit();//手动提交
}catch (SQLException e){
connection.rollback();//回滚操作
e.printStackTrace();
}
if(count[0] > 0){
out.print("添加成功");
}else{
out.print("添加失败");
}
response.setHeader("refresh","3;url=home.jsp");
%>
三、修改
在个人主页中,点击修改命令,运行edit.jsp
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>编辑页面</title>
<%--引入css文件和js文件--%>
<link rel="stylesheet" href="css/bootstrap.css">
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.js"></script>
<script src="js/bootstrap.bundle.js"></script>
<style>
.container{
width: 50%;
margin-top:20px;
}
</style>
</head>
<body>
<div class="container">
<div class="row clearfix">
<div class="col-md-12 column">
<h3 style="text-align: center">编辑页面</h3>
<form method="post" action="update.jsp">
<%
int id = Integer.parseInt(request.getParameter("id"));
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//建立数据库连接
String url = "jdbc:mysql://10.3.22.1/book"; //数据库连接地址
Connection connection = DriverManager.getConnection(url,"root","root"); //第一个root为数据库的用户名 第二个root为数据库的密码
String sql = "select * from user where id = ?"; //在PreparedStatement 中使用问好代替实际参数
PreparedStatement ps = connection.prepareStatement(sql);
ps.setInt(1,id);
ResultSet rs = ps.executeQuery();
while (rs.next()){
out.print("<input type='hidden' name='id' value="+rs.getString("id")+">");
out.print("用户名:<input type='text' class='form-control' name='username' value="+rs.getString("username")+"><br>");
out.print("密码:<input type='text' class='form-control' name='password' value="+rs.getString("password")+"><br>");
out.print("性别:<input type='text' class='form-control' name='gender' value="+rs.getString("gender")+"><br>");
out.print("年龄:<input type='text' class='form-control' name='age' value="+rs.getString("age")+"><br>");
}
%>
<button type="submit" style="width: 100%" class="btn btn-info">提交</button>
</form>
</div>
</div>
</div>
</body>
</html>
四、更新
在进行数据操作后,运行update.jsp,更新数据
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="user" class="com.media.bean.UserBean"></jsp:useBean>
<jsp:setProperty name="user" property="*"></jsp:setProperty>
<%
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//建立数据库连接
String url = "jdbc:mysql://10.3.22.1/book"; //数据库连接地址
Connection connection = DriverManager.getConnection(url,"root","root"); //第一个root为数据库的用户名 第二个root为数据库的密码
String sql = "update user set username = ?, password = ?,gender = ?,age = ? where id = ?"; //在PreparedStatement 中使用问好代替实际参数
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1,user.getUsername());
ps.setString(2,user.getPassword());
ps.setInt(3,user.getGender());
ps.setInt(4,user.getAge());
ps.setInt(5,user.getId());
int count = ps.executeUpdate();
if(count > 0){
out.print("修改成功");
}else{
out.print("修改失败");
}
response.setHeader("refresh","3;url=home.jsp");
%>
五、删除
在个人主页界面,点击删除命令后,运行delete.jsp, 执行删除命令
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//建立数据库连接
String url = "jdbc:mysql://10.3.22.1/book"; //数据库连接地址
Connection connection = DriverManager.getConnection(url,"root","root"); //第一个root为数据库的用户名 第二个root为数据库的密码
String sql = "delete from user where id = ?"; //在PreparedStatement 中使用问好代替实际参数
PreparedStatement ps = connection.prepareStatement(sql);
int id = Integer.parseInt(request.getParameter("id"));
ps.setInt(1,id);
int count = ps.executeUpdate();
if(count > 0){
out.print("删除成功");
}else{
out.print("删除失败");
}
%>