javaweb简易学生管理系统,对学生信息的增删查改

用eclipse做的课后实验项目,功能还挺多的,包括注册、登录(有验证码)、对学生信息的增删查改以及文件的上传和下载等。具体效果如下:
注册界面:
在这里插入图片描述
登录界面:
在这里插入图片描述
登录成功后跳转到如下界面:
在这里插入图片描述
选择第一个操作,进到下一个页面(查询学生信息):
在这里插入图片描述
点击修改和删除可以对学生信息进行修改和删除,文件上传和下载功能网上都可以搜,这里就不做演示了。
首先是数据库中有个学生表,其中包含学生的基本信息。
项目大概结构如下:
在这里插入图片描述
分包大概如下吧(自身习惯):
在这里插入图片描述
做项目前先准备好下面工具:
导入需要的jar包以及创建连接数据库的配置文件
在这里插入图片描述
连接数据库的配置文件:(可以搜索c3p0的用法,那个比较简洁。当时做实验的时候还不会用那个,后来回了之后前面的代码也不想改了,就先用着以前的吧)
student是我的数据库,后面的对编码格式和时差的设置(版本问题,有些可以不用设置)

url=jdbc:mysql://localhost/student?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
username=root
password=123456

然后就是连接数据的工具类JDBCUtil,会用jdbc的自动跳过这些

package com.util;

import java.io.FileInputStream;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;


public class JDBCUtil {
   
	static String url=null;
	static String username=null;
	static String password=null;
	
	static {
   
		try {
   
			Properties pro=new Properties();
			//FileInputStream in=new FileInputStream("jdbc.properties");
			InputStream in=JDBCUtil.class.getClassLoader().getResourceAsStream("../../config/jdbc.properties");
			Class.forName("com.mysql.cj.jdbc.Driver");
			pro.load(in);
			url=pro.getProperty("url");
			username=pro.getProperty("username");
			password=pro.getProperty("password");
		} catch (FileNotFoundException e) {
   
			e.printStackTrace();
			} catch (IOException e) {
   
			e.printStackTrace();
			} catch (ClassNotFoundException e) {
   
				e.printStackTrace();
			}
		}
		
	public static Connection getConn() {
   
		Connection conn=null;
		try {
   
			conn=DriverManager.getConnection(url,username,password);
			} catch (SQLException e) {
   
				e.printStackTrace();
				}
		return conn;
		}
		
	public static void close(Connection conn,Statement sta,ResultSet rs) {
   
		closeConn(conn);
		closeSta(sta);
		closeRs(rs);
		}
	
	public static void close(Connection conn,Statement sta) {
   
		closeConn(conn);
		closeSta(sta);
		}
		
	private static void closeConn(Connection conn) {
   
		try {
   
			if (conn!=null) {
   
				conn.close();
				}
			} catch (SQLException e) {
   
				e.printStackTrace();
			}
		}
		
	private static void closeSta(Statement sta) {
   
		try {
   
			if (sta!=null) {
   
				sta.close();
				}	
			} catch (SQLException e) {
   
				e.printStackTrace();
			}
		}
		
	private static void closeRs(ResultSet rs) {
   
		try {
   
			if (rs!=null) {
   
				rs.close();
				}	
			} catch (SQLException e) {
   
				e.printStackTrace();
			}
		}
}

好了,现在就是代码演示了。

1、注册功能

**register.jsp:**这里样式用了jQuery进行设置,这里就不具体介绍了。实在不行将那些样式删了用最直接的form表单也行。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	 <script src="js/jquery-1.12.4.js"></script>
	 <script src="js/reg.js"></script>
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>注册</title>
  <link href="css/style.css" rel="stylesheet"/>
 </head>
 <body>
	<div class="container">
		<h3 class="reg-top"></h3>
		<div class="reg-box">
			<div class="reg-main">
				<h4>注册账号</h4>
				<form action="registerServlet" method="post" class="reg-form">
					<div class="reg-input">
						<label><i>*</i>姓名:</label>
						<input type="text" name="name" required placeholder="用户名不能为空"/>
					</div>
					<div class="reg-input">
						<label><i>*</i>密码:</label>
						<input type="password" name="pass" required  placeholder="长度为6-16个字符" pattern="[a-zA-Z0-9]{6,16}"/>
					</div>
					<div class="reg-input">
						<label><i>*</i>邮箱:</label>
						<input type="email" name="email" required name="email"/>
					</div>
					<br>
					<div>
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<label><i></i>性别:</label>
						<input type="radio" name="gender" value="男"/>&nbsp;&nbsp;&nbsp;&nbsp;
						<input type="radio" name="gender" value="女"/></div>
					<div class="reg-input">
						<label>生日:</label>
						<input type="date" name="date">
					</div>
					<div class="reg-input">
						<label>手机号码:</label>
						<input type="text" name="phone" pattern="^1[34578][0-9]{9}$"/>
						<span id="tel-tip">忘记密码时找回密码使用</span>
					</div><br>
					<div>
						<label>密码问题:</label>
						<input type="text" name="question">
						<label>密码答案:</label>
						<input type="text" name="answer">
					</div>
					<div class="reg-input">
						<label>爱好:</label>
						<input type="text" name="hobby"/>
					</div>

					<div class="submit-box">
						<input type="submit" id="submit" value="立即注册" >
					</div>
				</form>
			</div>
		</div>
	</div>
 </body>
</html>

然后就是学生表的实体类Student(放在bean包),用于存放学生信息。(和数据库中的学生表相对应)

package com.bean;
public class Student {
   
	private int id;
	private String name;
	private String password;
	private String email;
	private String gender;
	pri
  • 43
    点赞
  • 346
    收藏
    觉得还不错? 一键收藏
  • 92
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 92
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值