学生信息管理系统(mysql+jsp+servlet)

这篇具有很好参考价值的文章主要介绍了学生信息管理系统(mysql+jsp+servlet)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、相关知识介绍:

(一)JDBC技术:

JDBC是Java Database Connectivity(Java数据库连接)的缩写,编程人员可以通过这个API接口连接到数据库,并使用结构化查询语言(SQL)完成对数据库的查找和更新

JDBC的目标是屏蔽不同的数据库驱动程序之间的差别,为开发者提供一个标准的、纯Java的数据库程序设计接口,为在Java中访问不同类型的数据库提供技术支持

在Java程序中,通过JDBC访问数据库的步骤如下:

①装载并注册数据库的JDBC驱动程序; ②建立与数据库的连接; ③创建Statement对象; ④调用SQL语句访问数据库; ⑤处理ResultSet中的记录集; ⑥关闭ResultSet、Statement和Connection对象。

(二)MVC模式

1.MVC组成

MVC是 Model-View-Controller 的缩写,即模型-视图-控制器,是一种目前广泛流行的软件设计模式,MVC把一个应用的输入、处理、输出流程按照模型、视图、控制器的方式进行分离,从而将一个应用程序分成三个核心模块:模型、视图和控制器,它们各自完成不同的任务

总的来说,模型是应用对象,视图时他在屏幕上的表示,控制器定义用户界面对用户输入的响应方式

2.MVC模式两种开发模型:

模型一:JSP+JavaBeans的结合

模型二:JSP+JavaBeans+Servlet的结合

二、该项目总体功能概述:

本系统利用Java Web技术实现了学生信息管理系统,具有简单的学生信息管理功能。实现了一下功能模块:院系信息管理模块,学生信息管理模块,课程信息管理模块,成绩管理模块等。

jsp学生管理系统代码,java,servlet,mysql

所用到的技术栈

  1. mvc开发模式

  2. jsp+Servlet

  3. HTML5+CSS3+JavaScript等

三、系统运行过程:

jsp学生管理系统代码,java,servlet,mysql

四、详细设计与代码实现

(一)建立数据库与相关表

1.创建数据库:

StudentInfoManagement

2.创建相关表:

class表:

字段 中文描述 数据类型
Clno 班级编号 char(20)
Clname 班级名称 char(20)
Dno 所属院系 char(20)

Course表:

字段 中文描述 数据类型
Cno 课程号 char(20)
Cname 课程名称 char(20)
Cteacher 老师 char(20)
Ccredit 学分 smallint

Department表:

字段 中文描述 数据类型
Dno 所属院系 char(20)
Dname 系名 char(20)

SC表:

字段 中文描述 数据类型
Sno 学号 char(20)
Cno 课程号 char(20)
Grade 成绩 smallint

Student表:

字段 中文描述 数据类型
Sno 学号 char(20)
Sname 姓名 char(20)
Ssex 性别 char(20)
Sage 年龄 smallint
Clno 班级编号 char(20)

User表:

字段 中文描述 数据类型
username 用户名 char(20)
password 密码 char(20)
level 权限级别 char(20)

(二)设计系统所需要的JavaBean

DBUtils.java类:

该JavaBean将数据库连接操作和关闭操作封装起来,在以后的数据库操作中可以直接调用这个JavaBean的方法,该JavaBean应该包含的方法有:

1.数据库的连接,获得一个连接对象的方法:Connection getConnection()

2.当数据库操作完成后,关闭连接并释放资源的方法:closeConnection(Connection conn)

实现代码:

`package utils;

import java.sql.DriverManager; import java.sql.SQLException;

import com.mysql.jdbc.Connection;

public class DBUtils {

 /**
  * 获取数据库连接
 * @return Connection对象
 */
public static Connection getConnection(){
    String dbUserName = "root";
    String dbUserPasswd = "123456";
    String dbURL = "jdbc:mysql://localhost:3306/studentinfomanagement?"
                + "user="+dbUserName+"&password="+dbUserPasswd+"&useUnicode=true&characterEncoding=UTF8";
    Connection conn = null;
    try {
        Class.forName("com.mysql.jdbc.Driver");
        conn = (Connection) DriverManager.getConnection(dbURL,dbUserName,dbUserPasswd);
    } catch (ClassNotFoundException | SQLException e) {
        e.printStackTrace();
    } 
    return conn;
}
​
/**
         * 关闭数据库连接
 * @param conn Connection对象
 */
public static void closeConnection(Connection conn) {
    //判断conn是否为空
    if(conn != null){
        try {
            conn.close();//关闭数据库连接
        } catch (SQLException e) {
            // TODO: handle exception
            e.printStackTrace();
        }
    }
}
}`

(三)设计所需要的Servlet

再所创建的servlet中,可以在web.xml下进行相关配置,也可使用注解的方式声明servlet,本项目在web.xml下配置相关信息。

1.loginServlet

package service;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.UserDao;
import model.User;

public class LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String level = null;
		//实例化UserDao对象
		UserDao userDao = new UserDao();
		User user = userDao.login(username, password);
		//判断是否登录成功
		if(user != null){//成功
			level = user.getLevel();
			if(level.equals("用户")){
				request.getSession().setAttribute("user", user);//将用户对象放到session中
				//转发到user.jsp中
				request.getRequestDispatcher("user.jsp").forward(request, response);
			}
			else{
				request.getSession().setAttribute("admin", user);//将管理员对象放到session中
				//转发到admin.jsp中
				request.getRequestDispatcher("admin.jsp").forward(request, response);
			}	
		}else {//失败
			request.setAttribute("info"," 错误:用户名或密码错误!");
			request.getRequestDispatcher("message.jsp").forward(request, response);
		}
	}

}

2.RegisterServlet

package service;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.UserDao;
import model.User;

public class RegisterServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String level = request.getParameter("level");
		//实例化UserDao对象
		UserDao userDao = new UserDao();
		User user = userDao.register(username, password,level);
		//判断是否注册成功
		if(user != null){//成功
			if (level.equals("用户")) {
				request.getSession().setAttribute("user", user);//将用户对象放到session中
				//转发到user.jsp中
				request.getRequestDispatcher("user.jsp").forward(request, response);
			}else{
				request.getSession().setAttribute("admin", user);//将管理员对象放到session中
				//转发到user.jsp中
				request.getRequestDispatcher("admin.jsp").forward(request, response);
			}
		}else {//失败
			request.setAttribute("info"," 错误:已存在该用户,不能重复注册!");
			request.getRequestDispatcher("message.jsp").forward(request, response);
		}
	}

}

3.UserExitServlet

package service;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


public class UserExitServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取Session
		HttpSession session = request.getSession();
		session.invalidate();
		//转发到login.html页面
		response.sendRedirect("login.html");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
	}

}

(四)设计系统所需要的JSP页面

1.admin.jsp

<%@page import="model.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html lang="zh">
<head>
	<meta charset="UTF-8">
	<title>管理员操作界面</title>
	<link rel="stylesheet" type="text/css" href="css/user&admin.css">
	<link rel="icon" type="image/x-ico" href="images/stu.ico">
</head>
	
<body>
	<%
		//获取登录成功的用户信息
		User user = (User) session.getAttribute("admin");
		//判断用户是否登录
		if(user != null){
	%>
	<header>
		<div class="title">
			<span>管理员操作界面</span>
		</div>
		<nav>
			<div class="userinfo">
				<ul>
					<li><%=user.getUsername() %></li>
					<li><%=user.getLevel() %></li>
					<li><a href="UserExitServlet">退出登录</a></li>
					<li><a href="login.html">返回首页</a></li>
				</ul>
			</div>
		</nav>
	</header>
	
	<main>
		<%
		}else{
			response.sendRedirect("login.html");
		}
		%>
		<div class="container">
			<div class="select">
				<h3>请选择操作</h3>
				<ul id="accordion" class="accordion">
					<li>
						<div id="user-info" class="link"></i>用户信息管理</div>
						<ul class="submenu">
							<li><a onclick="query_all('user')">查看所有用户</a></li>
							<li><a onclick="show_insert_user()">新增用户信息</a></li>	
							<li><a onclick="show_delete('user')">删除指定用户</a></li>				
							<li><a onclick="show_alter('user')">修改用户信息</a></li>							
						</ul>
					</li>
					<li>
						<div class="link"></i>院系信息管理</div>
						<ul class="submenu">
							<li><a onclick="query_all('department')">查看所有院系</a></li>
							<li><a onclick="show_insert_department()">新增院系信息</a></li>
							<li><a onclick="show_delete('department')">删除指定院系</a></li>		
							<li><a onclick="show_alter('department')">修改院系信息</a></li>	
						</ul>
					</li>
					<li>
						<div class="link">班级信息管理</div>
						<ul class="submenu">
							<li><a onclick="query_all('class')">查看所有班级</a></li>
							<li><a onclick="show_insert_class()">新增班级信息</a></li>
							<li><a onclick="show_delete('class')">删除指定班级</a></li>				
							<li><a onclick="show_alter('class')">修改班级信息</a></li>	
						</ul>
					</li>
					<li>
						<div class="link">学生信息管理</div>
						<ul class="submenu">
							<li><a  onclick="query_all('student')">查看所有学生</a></li>
							<li><a onclick="show_insert_student()">新增学生信息</a></li>	
							<li><a onclick="show_delete('student')">删除指定学生</a></li>					
							<li><a onclick="show_alter('student')">修改学生信息</a></li>	
						</ul>
					</li>
					<li>
						<div class="link">课程信息管理</div>
						<ul class="submenu">
							<li><a onclick="query_all('course')">查看所有课程</a></li>
							<li><a onclick="show_insert_course()">新增课程信息</a></li>	
							<li><a onclick="show_delete('course')">删除课程信息</a></li>
							<li><a onclick="show_alter('course')">修改课程信息</a></li>	
							<li><a onclick="course_avg()">查询课程平均分</a></li>
							<li><a onclick="fail_rate()">查询课程不及格率</a></li>
							<li><a onclick="show_course_ranking()">查询课程排名情况</a></li>
						</ul>
					</li>
					<li>
						<div class="link">学生成绩管理</div>
						<ul class="submenu">
							<li><a  onclick="query_all('sc')">查看全部学生成绩</a></li>
							<li><a onclick="show_insert_sc()">新增学生成绩记录</a></li>	
							<li><a onclick="show_delete('sc')">删除学生成绩记录</a></li>					
							<li><a onclick="show_alter('sc')">修改学生成绩记录</a></li>	
						</ul>
					</li>
				</ul>
				</div>
	
				<div id="result" class="result">
					<p class="welcome">欢迎使用学生信息管理系统!</p>
				</div>
			</div>
		</div>
	</main>
	
	<footer>
		<div class="copyright">
			&copy; Copyright. All rights reserved. Design by <a href="http://www.github.com/Soarkey/">Soarkey</a>
		</div>
	</footer>

	<script src="js/jquery-3.1.1.min.js"></script>
	<script src="js/admin.js"></script>
</body>
</html>

2.message.jsp

<%@page import="model.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="zh">
<head>
	<meta charset=UTF-8>
	<title>错误信息</title>
	<link rel="stylesheet" type="text/css" href="css/message.css">
	<link rel="icon" type="image/x-ico" href="images/stu.ico">
</head>
<body>
	<main>
		<div class="message">
			<div class="left">
			<%
				//获取提示信息
				String info = (String) request.getAttribute("info");
				//如果提示信息不为空,则输出
				if(info != null){
			%>
				<h3><%=info%></h3>
			<%
				}
				//获取登录成功的用户信息
				User user = (User) session.getAttribute("user");
				//判断用户是否登录
				if(user != null){
					
				}else{
					//out.print("<script>alert('对不起!您还未登录!');</script>"); 
			%>
				<p><%="对不起!您还未登录!"%></p>
			<%
				}	
			%>
			</div>
			<div class="right">
				<a class="relogin" href="login.html">重新登录></a>
			</div>
		</div>
	</main>
	
	<footer>
		<div class="info">
				<ul>
					<a href="#"><li>学生信息管理系统</li></a>
					<a href="#"><li>帮助与反馈</li></a>
					<a href="#"><li>联系我们</li></a>
				</ul>
			</div>
			<div class="copyright">
				&copy; Copyright. All rights reserved. Design by <a href="http://www.github.com/Soarkey/">Soarkey</a>
			</div>
	</footer>
</body>
</html>

3.user.jsp

<%@page import="model.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html lang="zh">
<head>
	<meta charset="UTF-8">
	<title>用户操作界面</title>
	<link rel="stylesheet" type="text/css" href="css/user&admin.css">
	<link rel="icon" type="image/x-ico" href="images/stu.ico">
	
</head>
	
<body>
	<%
		//获取登录成功的用户信息
		User user = (User) session.getAttribute("user");
		//判断用户是否登录
		if(user != null){
	%>
	<header>
		<div class="title">
			<span>用户操作界面</span>
		</div>
		<nav>
			<div class="userinfo">
				<ul>
					<li><%=user.getUsername() %></li>
					<li><%=user.getLevel() %></li>
					<li><a href="UserExitServlet">退出登录</a></li>
					<li><a href="login.html">返回首页</a></li>
				</ul>
			</div>
		</nav>
	</header>
	
	<main>
		<%
		}else{
			response.sendRedirect("login.html");
		}
		%>
		<div class="container">
			<div class="select">
				<h3>请选择操作</h3>
				<ul id="accordion" class="accordion">
					<li>
						<div class="link"></i>院系信息管理</div>
						<ul class="submenu">
							<li><a onclick="query_all('department')">查看所有院系</a></li>
						</ul>
					</li>
					<li>
						<div class="link">班级信息管理</div>
						<ul class="submenu">
							<li><a onclick="query_all('class')">查看所有班级</a></li>
						</ul>
					</li>
					<li>
						<div class="link">学生信息管理</div>
						<ul class="submenu">
							<li><a  onclick="query_all('student')">查看所有学生</a></li>
						</ul>
					</li>
					<li>
						<div class="link">课程信息管理</div>
						<ul class="submenu">
							<li><a onclick="query_all('course')">查看所有课程</a></li>
							<li><a onclick="course_avg()">查询课程平均分</a></li>
							<li><a onclick="fail_rate()">查询课程不及格率</a></li>
							<li><a onclick="show_course_ranking()">查询课程排名情况</a></li>
						</ul>
					</li>
					<li>
						<div class="link">学生成绩管理</div>
						<ul class="submenu">
							<li><a  onclick="query_all('sc')">查看全部学生成绩</a></li>
						</ul>
					</li>
				</ul>
				</div>

				<div id="result" class="result">
					<p class="welcome">欢迎使用学生信息管理系统!</p>
				</div>
			</div>
		</div>
	</main>
	
	<footer>
		<div class="copyright">
			&copy; Copyright. All rights reserved. Design by <a href="http://www.github.com/Soarkey/">Soarkey</a>
		</div>
	</footer>

	<script src="js/jquery-3.1.1.min.js"></script>
	<script src="js/user.js"></script>
</body>
</html>

五、部分实现截图:

1.登录进来后的页面:

jsp学生管理系统代码,java,servlet,mysql

2.查询页面:

jsp学生管理系统代码,java,servlet,mysql

3.新增页面:

jsp学生管理系统代码,java,servlet,mysql

4.删除页面:

jsp学生管理系统代码,java,servlet,mysql

5.修改页面:

jsp学生管理系统代码,java,servlet,mysql文章来源地址https://www.toymoban.com/news/detail-758936.html

到了这里,关于学生信息管理系统(mysql+jsp+servlet)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于JAVA+Servlet+JSP+MYSQL的党员信息管理系统

    项目功能: ###用户角色: 超级管理员: 整个系统的信息维护,相当于学校党务负责人 测试账号admin 密码:123456 系管理员: 各院系党务办公室负责人,负责管理自己院系党员信息 测试账号zhangsan 密码:123456 实现功能:(超级管理员与系管理员权限不同) 用户个人信息管理

    2023年04月09日
    浏览(38)
  • Javaweb学生信息管理系统(Mysql+JSP+MVC+CSS)

    项目源码及数据库: 链接:https://pan.baidu.com/s/1ktUyxbOI9lljWr-HRTRIiQ?pwd=1024 提取码:1024   目录 一.项目介绍 二.运行效果 1.登录界面 2.主界面(点击学号修改学生信息) 3.增加学生界面 ​编辑 三.项目目录结构  四.代码展示 1.jsp及css代码  ①登录界面代码(login.jsp) ②登录界面

    2024年02月03日
    浏览(53)
  • JSP+SQL基于JSP的学生信息管理系统(源代码+论文+答辩PPT)

    随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。面对如此庞大的信息量,开发学生信息管理系统来提高学生管理工作的效率就成为必然。通过该系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。 本文主要介

    2024年02月03日
    浏览(61)
  • java 学生信息管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

    一、源码特点     java 学生信息管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 java 学生信息管理系统 二、

    2024年02月09日
    浏览(56)
  • jsp+servlet+mysql阳光网吧管理系统

    项目介绍: 本系统使用jsp+servlet+mysql开发的阳光网吧管理系统,纯手工敲打,系统管理员和用户角色,功能如下: 管理员:修改个人信息、修改密码;机房类型管理;机房管理;机位(主机)管理;用户管理(冻结、充值);用户消费管理; 用户:注册、登录;快捷方式快

    2024年02月10日
    浏览(38)
  • Java web学生信息管理系统(jsp)

    🥞目录 🍬1 概述 1.1课程设计目的 1.2预备知识 JAVAWeb: MySQL: JSP: 1.3实训的内容和要求 🍬2 需求分析 2.1系统目标 2.2功能分析: 2.3开发环境: 🍬3 设计步骤 3.1系统流程图 3.3功能详细分析 🍬4 详细设计(要有数据库可视化表) 4.1数据库表  4.2部分代码展示: 🍬5 程序运行 🍬

    2024年02月03日
    浏览(36)
  • JSP+Servlet+MySql超市管理系统项目源码

    软件名称:超市管理系统(servlet+jsp) 使用对象:学习或了解过 java 基础课程,开始接触 javaWeb 的学生和软件爱好者 源码链接:超市管理系统: 超市管理系统 Sql文件https://pan.baidu.com/s/1BtMM8erQ9E25fQ1j4eHltQ?pwd=8nmj 该超市管理系统,设置了登录权限验证,所有用户除了访问首页浏览商品

    2024年02月09日
    浏览(44)
  • java毕业设计——基于JSP+sqlserver的学生信息管理系统设计与实现(毕业论文+程序源码)——学生信息管理系统

    大家好,今天给大家介绍基于JSP+sqlserver的学生信息管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦 文章目录: 随着学校规模的

    2024年02月04日
    浏览(68)
  • 基于javaweb+mysql的jsp+servlet图书图书馆管理系统(java+jsp+layui+bootstrap+servlet+mysql)

    基于javaweb+mysql的jsp+servlet图书图书馆管理系统(java+jsp+layui+bootstrap+servlet+mysql) 运行环境 Java≥8、MySQL≥5.7、Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 功能说明 基于javaweb+mysql的JSP+Servlet图书图书馆管理系统

    2024年02月04日
    浏览(53)
  • 基于javaweb+mysql的jsp+servlet幼儿园管理系统(java+jsp+easyui+h-ui+servlet+mysql)

    基于javaweb+mysql的jsp+servlet幼儿园管理系统(java+jsp+easyui+h-ui+servlet+mysql) 私信 源码获取及调试交流 运行环境 Java≥8、MySQL≥5.7、Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 功能说明 基于javaweb的JSP+Servlet幼儿

    2024年01月16日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包