JSP加mysql实现学生系统登录以及学生信息的增删改查

如果对你有帮助,能不能留个赞呀啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
文件结构如图
涉及到数据库和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>&nbsp;学生管理<span>&nbsp;
		<span><img src="../images/arror.gif" width="7" height="11" border="0" alt=""></span>&nbsp;<a href="<%=path%>/students/Students_query_success.jsp">学生列表</a><span>&nbsp;
	</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>&nbsp;学生管理<span>&nbsp;
		<span><img src="../images/arror.gif" width="7" height="11" border="0" alt=""></span>&nbsp;<a href="<%=path%>/students/Students_query_success.jsp">学生列表</a><span>&nbsp;
	</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>&nbsp;学生管理<span>&nbsp;
		<span><img src="../images/arror.gif" width="7" height="11" border="0" alt=""></span>&nbsp;<a href="<%=path%>/students/Students_query_success.jsp">学生列表</a><span>&nbsp;
	</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();

效果如图

在这里插入图片描述

划重点啦!!!

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


版权声明:本文为free_hard原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。