java_web: 基于三层实现学生信息管理系统3.0

基于三层实现学生信息管理系统3.0
上一版本:2.0
涉及知识点:mysql实现分页原理
优化内容:
1.前端优化:将显示所有学生内容以表格的形式显示,且显示学生数据的表格下有数据页操作按钮(首页,上一页,下一页,尾页)
2.后台代码的封装:DBUtil工具类实现通用的计算数据总数,在dao层实现查询sql分页后的对象集合。

先来一张结果图
在这里插入图片描述
应用实例:运用三层架构实现对学生信息得增删改查,且实现分页查询功能

项目目录结构图
在这里插入图片描述
1.需要用到的数据库与数据表:与2.0版本相同此处sql代码略过

2.导入数据库驱动包目录WebContent下的WEB-INF的lib文件夹中,选中改jar包:右键build path—>点击add build path

3.在WebContent目录下新建index,addstudent和updatestudent三个jsp页面

index.jsp

<%@page import="com.xiaochen.entity.SQLPage"%>
<%@page import="com.xiaochen.entity.Student"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		/*
			在分页显示的前提下:显示jsp需要的数据
				当前页:currentPage
				页面大小:pageSize
				当前页的数据集合:students
				总数据:totalCount
				总页数:totalPage
		
		*/
	%>
	<table  border="1">
			<!-- 表头内容 -->
			<tr>
				<td>学号</td>
				<td>姓名</td>
				<td>年龄</td>
				<td>地址</td>
				<td>操作</td>
			</tr>
			
			<%
				//获取request域中的数据
				 SQLPage p= (SQLPage)request.getAttribute("p");
				for(Student student:p.getStudents()){
			%>	
				<tr>
					<td><a href="QueryStudentBySnoServlet?sid=<%=student.getId() %>"><%=student.getId() %></a></td>
					<td><%=student.getName() %></td>
					<td><%=student.getAge() %></td>
					<td><%=student.getAddress() %></td>
					<td><a href="DeleteStudentServlet?sid=<%=student.getId() %>">删除</a></td>
				</tr>
			<%	
				}
			%>
	</table>
	<a href="addstudent.jsp">新增</a><br>
	<%
		//若为首页只显示:下一页,尾页
		if(p.getCurrentPage()==0){
	%>		<a href="QueryStudentByPageServlet?cPage=<%=p.getCurrentPage()+1 %>">下一页</a>
			<a href="QueryStudentByPageServlet?cPage=<%=p.getTotalPage()%>">尾页</a>
	<% 		
		}
		//若为中间页则显示:首页,上一页
		else if(p.getCurrentPage()==p.getTotalPage()){
	%>		
			<a href="QueryStudentByPageServlet?cPage=0">首页</a>
			<a href="QueryStudentByPageServlet?cPage=<%=p.getCurrentPage()-1 %>">上一页</a>
			
	<% 		
		}
		//若为中间页则显示全部:首页,上一页,下一页,尾页
		else{
	%>		
			<a href="QueryStudentByPageServlet?cPage=0">首页</a>
			<a href="QueryStudentByPageServlet?cPage=<%=p.getCurrentPage()-1 %>">上一页</a>
			<a href="QueryStudentByPageServlet?cPage=<%=p.getCurrentPage()+1 %>">下一页</a>
			<a href="QueryStudentByPageServlet?cPage=<%=p.getTotalPage()%>">尾页</a>
	<% 		
		}
	%>
	<br>
	<form action="QueryStudentByPageServlet" method="post">
	每页显示
	<select name="pSize">
		<option value="5">5</option>
		<option value="10">10</option>
		<option value="15">15</option>
	</select>
	条数据
	<input type="submit" value="提交">
	</form>
</body>
</html>

addstudent.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- 将该表单数据传递到StudentServlet处理 -->
	<form action="AddStudentServlet" method="post">
		学号:<input type="text" name="sid"><br>
		姓名:<input type="text" name="sname"><br>
		年龄:<input type="text" name="sage"><br>
		地址:<input type="text" name="saddress"><br>
		<input type="submit" value="新增">
		<a href="QueryStudentByPageServlet">返回</a>
	</form>
</body>
</html>

updatestudent.jsp

<%@page import="com.xiaochen.entity.Student"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<bo
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学生成绩信息管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作;学生进入系统,查看成绩、查看和修改自己的信息;老师进入系统后,对自己这门课程的学生设置课程成绩、查看和修改自己的信息,查看学生的信息和成绩、以及统计分析学生的成绩; 管理员为班级设置年级,为年级设置课程,为班级的每门课程设置老师,为学生设置班级。一个年级有多门课程(语文、数学、外语等等),班级的每门课程只能有一名老师,一个老师可以有多门课程;老师选择自己这门课程为该课程的学生登记成绩。老师可以查看其他老师的信息(可以当成是老师的通讯录),查看本课程学生的信息和成绩;学生可以查看班级其他同学的信息(可以看成是班级的同学录)。 考试分为两种,一种是年级统考,一种是平时考试。年级统考需要管理员事先添加一次年级统考,考试成绩出来后,老师进入系统选择该次考试为学生登记成绩。平时考试则是班级平时的考试,老师添加考试信息,登记成绩。成绩统计分析则是针对年级统考进行分析,主要涉及各学科分数名次,总分名次。 技术实现 系统环境:Windows开发工具:IDEAJava版本:JDK 1.8服务器:Tomcat 1.8数据库:MySQL 5.X系统采用技术:Servlet+Jsp+Jdbc+H-ui+EasyUI+jQuery+Html+Css+Ajax 系统功能系统主要分为三种用户角色,分别是管理员、老师以及学生,其具体功能如下: - 管理员   学生信息管理、教师信息管理、年级信息管理、班级信息管理、课程信息管理、考试信息管理,系统参数设置 - 老师   教学管理、教师个人信息维护、教师通讯录管理 - 学生考试成绩查询、学生通讯录、学生个人信息维护 运行截图 登录界面: 管理员界面: 考试列表:  成绩统计: 学生信息管理: 教师信息管理: 年级、班级信息管理:  系统设置: 教师界面:  成绩登记:  教师通讯录: 个人信息:  学生界面: 学生成绩查询: 班级通讯录: 学生个人信息:              

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值