如果对你有帮助,能不能留个赞呀啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
文件结构如图
涉及到数据库和java需要导入一下两个包,下文代码不在赘述,因为页面布局代码太多,我打包放在文件里了,这里只解释功能代码(特殊易错的点我会特别说明,毕竟是我踩过的坑)
这里强调一下环境信息,JDK1.8 (只能用1.8及以下的版本,不然你会踩坑),jdbc的文件也是必装的,还有就是tomcat的这个版本好像影响不大,我这里用的是tomcat9,编译器是ecplise
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>

入口代码,运行跳入登录界面index.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
response.sendRedirect(path+"/user/login.jsp");
%>
。
。
。
。
数据库内容
。
。
。
。
登录界面代码login
数据库名字为dbproject
<%
String con1=request.getParameter("username");
String con2=request.getParameter("password");
try{Class.forName("com.mysql.cj.jdbc.Driver");//**这里需要特别注意,需要在mysql后面加cj**
}
catch(Exception e){}
String uri = "jdbc:mysql://localhost:3306/dbproject?serverTimezone=GMT";
String user="root";
String password="010822";
Connection conn=DriverManager.getConnection(uri,user,password); //连接数据库
Statement sql=conn.createStatement();
ResultSet rs=sql.executeQuery("SELECT username,password FROM db_user");
if(rs.next()) //验证账号密码是否正确
{
out.println(rs.getString(1));
//如果能进到这里y面,说明用户名存在
if(rs.getString(1).equals(con1)&&rs.getString(2).equals(con2))
{
//一定合法
response.sendRedirect("login_success.jsp");
}
else
{
//密码错误
out.println("输入错误");
}
}
else
{
//用户名不存在
response.sendRedirect("login.jsp");
}
rs.close();
conn.close();
%>
如图
。
。
。
。
登录成功跳转至login_success.jsp
主要是页面布局代码,我直接放文件里了,布局我是参考的网上的,今天先讲一下学生管理功能代码,不说布局
该界面主要由三个jsp页面构成
。
。
。
。
然后进入Student_query_success.jsp
<%
try{Class.forName("com.mysql.cj.jdbc.Driver");
}
catch(Exception e){}
String uri = "jdbc:mysql://localhost:3306/dbproject?serverTimezone=GMT";
String user="root";
String password="010822";
Connection conn=DriverManager.getConnection(uri,user,password);
Statement sql=conn.createStatement();
ResultSet rs=sql.executeQuery("SELECT * FROM student");
%>
<h2 align="center">学生信息</h2><hr/>
<table border="1" width="600">
<tr>
<tr bgcolor="#dddddd">
<td align="center">学号</td>
<td align="center">姓名</td>
<td align="center">性别</td>
<td align="center">地址</td>
<td align="center">班级号</td>
</tr>
<%
int gid;
String sname,sex,address,sid;
while(rs.next()){
sid=rs.getString(1);
sname=rs.getString(2);
sex=rs.getString(3);
address=rs.getString(4);
gid=rs.getInt(5);
%>
<tr>
<td><%=sid%></td>
<td><%=sname%></td>
<td><%=sex%></td>
<td><%=address%></td>
<td><%=gid%></td>
<td><a href="Students_modify.jsp?sid=<%=sid%>&sname=<%=sname%>&sex=<%=sex%>&address=<%=address%>&gid=<%=gid%>">修改</a></td>
<td><a href="delete.jsp?sid=<%=sid%>&sname=<%=sname%>&sex=<%=sex%>&address=<%=address%>&gid=<%=gid%>">删除</a></td>
</tr>
<%} %>
</table><br/>
<%
rs.close();
sql.close();
conn.close();
%>
页面效果
在本页面里面可以实现学生信息的增删改查
。
。
。
。
如果点击修改,则进入Student_modify.jsp
把修改内容提交到Student_modify_success.jsp页面
在Student_query_success.jsp页面我写两个超链接,分别对应对应修改和删除按键
为了方便修改,我必然要先获取这个学生已有的信息
<strong>修改学生资料</strong>
<br>
<br>
<%
try{Class.forName("com.mysql.cj.jdbc.Driver");
}
catch(Exception e){}
String uri = "jdbc:mysql://localhost:3306/dbproject?serverTimezone=GMT";
String user="root";
String password="010822";
Connection conn=DriverManager.getConnection(uri,user,password);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("SELECT * FROM student WHERE sid='"+ sid+"'");
rs.next();
%>
<form action="Students_modify_success.jsp" method="post">
<table width="400" >
<tr>
<td width="30%">学号:</td>
<td><input type="text" value=<%=rs.getString(1) %> name="sid"></td>
</tr>
<tr>
<td width="30%">姓名:</td>
<td><input type="text" value=<%=rs.getString(2) %> name="sname"></td>
</tr>
<tr>
<td width="30%">性别:</td>
<td><input type="text" value=<%=rs.getString(3) %> name="sex"></td>
</tr>
<tr>
<td width="30%">地址:</td>
<td><input type="text" value=<%=address %> name="address"></td>
</tr>
<tr>
<td width="30%">班级号:</td>
<td><input type="text" value=<%=gid %> name="gid"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="修改"></td>
</tr>
</table>
</form>
</div>
<%
rs.close();
stmt.close();
conn.close();
%>
效果图如下
直接在表格里修改,提交到成功页面
。
。
。
。
修改成功页面
Student_modify_success.jsp
<% String sid=request.getParameter("sid");%>
<% String sname=request.getParameter("sname");%>
<% String sex=request.getParameter("sex");%>
<% String address=request.getParameter("address");%>
<% String gid=request.getParameter("gid");%>
<%
try{Class.forName("com.mysql.cj.jdbc.Driver");
}
catch(Exception e){}
String uri = "jdbc:mysql://localhost:3306/dbproject?serverTimezone=GMT";
String user="root";
String password="010822";
Connection conn=DriverManager.getConnection(uri,user,password);
String sql="UPDATE student SET sname='"+sname+"',gender='"+sex+"',address='"+address+"',gid='"+gid+"' where sid='"+sid+"'";
Statement stmt=conn.createStatement();
try{
stmt.executeUpdate(sql);
}catch(SQLException e){
out.print("垃圾");
}
%>
<div id="navi">
<!-- 导航空白 -->
<div id='naviDiv'>
<span><img src="../images/arror.gif" width="7" height="11" border="0" alt=""></span> 学生管理<span>
<span><img src="../images/arror.gif" width="7" height="11" border="0" alt=""></span> <a href="<%=path%>/students/Students_query_success.jsp">学生列表</a><span>
</div>
</div>
<div id="tips">
<!-- 导航空白 -->
</div>
<div id="mainContainer">
<strong>修改成功,<a href="<%=path%>/students/Students_query_success.jsp">返回学生列表</a></strong>
<!--数据表格空白 -->
</div>
<%
conn.close();
stmt.close();
%>
。
。
。
。
添加学生信息
Student_add.jsp
该页面主要就是获取表单信息然后提交至Student_add_ssuccess.jsp
<strong>添加学生资料</strong>
<br>
<br>
<form name="addForm" action="<%=path%>/students/Students_add_success.jsp" method="post">
<table width="400" >
<tr>
<td width="30%">学号:</td>
<td><input type="text" name="sid" /></td>
</tr>
<tr>
<td>姓名:</td>
<td><input type="text" name="sname" /></td>
</tr>
<tr>
<td>性别:</td>
<td><input type="radio" name="gender" value="男" checked="checked"/>男<input type="radio" name="gender" value="女"/>女</td>
</tr>
<tr>
<td>地址:</td>
<td><input type="text" name="address" /></td>
</tr>
<tr>
<td>班级号:</td>
<td><input type="text" name="gid" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="添加"></td>
</tr>
</table>
上效果图
。
。
。
。
添加成功页面
注意一下sql语句不要写错了
<body>
<% String sid=request.getParameter("sid");%>
<% String sname=request.getParameter("sname");%>
<% String sex=request.getParameter("gender");%>
<% String address=request.getParameter("address");%>
<% String gid=request.getParameter("gid");%>
<%
try{Class.forName("com.mysql.cj.jdbc.Driver");
}
catch(Exception e){}
String uri = "jdbc:mysql://localhost:3306/dbproject?serverTimezone=GMT";
String user="root";
String password="010822";
Connection conn=DriverManager.getConnection(uri,user,password);
String sql="INSERT INTO student VALUES('"+sid+"','"+sname+"','"+sex+"','"+address+"','"+gid+"')";
Statement stmt=conn.createStatement();
try{
stmt.executeUpdate(sql);
}catch(SQLException e){
out.print("垃圾");
}
%>
<div id="navi">
<!-- 导航空白 -->
<div id='naviDiv'>
<span><img src="../images/arror.gif" width="7" height="11" border="0" alt=""></span> 学生管理<span>
<span><img src="../images/arror.gif" width="7" height="11" border="0" alt=""></span> <a href="<%=path%>/students/Students_query_success.jsp">学生列表</a><span>
</div>
</div>
<div id="tips">
<!-- 导航空白 -->
</div>
<div id="mainContainer">
<strong>添加成功,<a href="<%=path%>/students/Students_add.jsp">继续添加?</a></strong>
<!--数据表格空白 -->
</div>
<%
conn.close();
stmt.close();
%>
</body>
查询学生信息
将信息提交给find_ok.jsp
按照学号查询
<strong>查询学生资料</strong>
<br>
<br>
<form action="<%=path%>/students/find_ok.jsp" method="post">
<table width="400" >
<tr>
<td width="30%">学号:</td>
<td><input type="text" name="sid" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="查询"></td>
</tr>
</table>
</form>
效果图
。
。
。
。
查询成功页面
<body>
<% String sid=request.getParameter("sid");%>
<%
try{Class.forName("com.mysql.cj.jdbc.Driver");
}
catch(Exception e){}
String uri = "jdbc:mysql://localhost:3306/dbproject?serverTimezone=GMT";
String user="root";
String password="010822";
Connection conn=DriverManager.getConnection(uri,user,password);
Statement sql=conn.createStatement();
ResultSet rs=sql.executeQuery("SELECT * FROM student WHERE sid='"+sid+"'");
%>
<h2 align="center">学生信息</h2><hr/>
<table border="1" width="600">
<tr>
<tr bgcolor="#dddddd">
<td align="center">学号</td>
<td align="center">姓名</td>
<td align="center">性别</td>
<td align="center">地址</td>
<td align="center">班级号</td>
</tr>
<%
int gid;
String sname,sex,address;
if(rs.next()){
sid=rs.getString(1);
sname=rs.getString(2);
sex=rs.getString(3);
address=rs.getString(4);
gid=rs.getInt(5);
%>
<tr>
<td><%=sid%></td>
<td><%=sname%></td>
<td><%=sex%></td>
<td><%=address%></td>
<td><%=gid%></td>
<%}else{
out.print("输入有问题");
} %>
<%
rs.close();
sql.close();
conn.close();
%>
效果图
。
。
。
。
删除学生信息
在Student_query_success.jsp页面我写两个超链接,分别对应修改和删除按键
<body>
<% String sid=request.getParameter("sid");%>
<%
try{Class.forName("com.mysql.cj.jdbc.Driver");
}
catch(Exception e){}
String uri = "jdbc:mysql://localhost:3306/dbproject?serverTimezone=GMT";
String user="root";
String password="010822";
Connection conn=DriverManager.getConnection(uri,user,password);
String sql="DELETE FROM student where sid='"+sid+"'";
Statement stmt=conn.createStatement();
try{
stmt.executeUpdate(sql);
}catch(SQLException e){
out.print("垃圾");
}
%>
<div id="navi">
<!-- 导航空白 -->
<div id='naviDiv'>
<span><img src="../images/arror.gif" width="7" height="11" border="0" alt=""></span> 学生管理<span>
<span><img src="../images/arror.gif" width="7" height="11" border="0" alt=""></span> <a href="<%=path%>/students/Students_query_success.jsp">学生列表</a><span>
</div>
</div>
<div id="tips">
<!-- 导航空白 -->
</div>
<div id="mainContainer">
<strong>删除成功,<a href="<%=path%>/students/Students_query_success.jsp">返回学生列表</a></strong>
<!--数据表格空白 -->
</div>
<%
conn.close();
stmt.close();
效果如图

划重点啦!!!
如果对你有帮助,还请留个赞,鼓励鼓励咱呀好不好!!!