Java课程设计—学生成绩管理系统(201521123004-林艺如)
1.团队课程设计博客
团队课程设计博客链接
2.个人负责模块或任务说明
①.Menu
Menu.jsp
- 在页面中给出提示,用HTML的<input.../>,与下一个跳转页面进行连接,即点击后进入下一个页面
MenuTeacher.jsp
利用Menu.jsp进行具体化完善和修改,由于教师与学生的权限不同,将教师和学生的功能选择进行区分
教师:增、删、改、查
学生:改,查(个人)
确认后跳转到相应的页面
②Login
Login.jsp
通过账号和密码匹配正确后,进入Menu界面
教师与学生分别位于不同的表中,需要分开处理
StudentLogin.jsp
学生通过在页面输入学号密码进行账号登录
将输入的学号在数据库中进行查找,找到后进行密码比较,一直即进入菜单界面
③Delete
Delete.jsp
- 提示输入需要删除的学生学号
- 确认后,通过
delete(String stuno)方法,最后跳转至删除成功与否界面
DeleteSuccess.jsp
Delete页面中的学号存在,显示该学生信息;否则,提示找不到,删除失败
返回菜单界面
3.自己的代码提交记录截图


4.自己负责模块或任务详细说明
①Login----提示输入账户和密码进行登录,教师与学生在不同的数据库表中,教师的表名为teachers,内含账号和密码;学生的表名为students,内含学生个人信息与成绩。
- 登陆界面
<%@ 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>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>学生登录</title>
</head>
<body>
<form name="postForm" action="LoginStuSuccess.jsp" method="post">
<p>账号 :<input type="text" name="stuno" /></p>
<p>密码 :<input type="password" name="password" /></p>
<input type="submit" value="登录" />
</form>
</body>
</html>
- 登录页面

- 登录后(数据库找到对应学号,比较密码,成功即登录,失败即刷新重新输入)
<%@ page language="java" import="java.util.*,StudentScore.*" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>学生登录成功</title>
</head>
<body>
<form name="postForm" action="MenuStudent.jsp" method="post">
<%
StudentDao sdao = new StudentDaoJDBC();
String no = request.getParameter("stuno");
int stuno = Integer.parseInt(no);
String password = request.getParameter("password");
if(sdao.login(stuno,password)!=1){
response.sendRedirect("StudentLogin.jsp");
}
else
{
%>
<td>学号:<input type="text" id="a" name="stuno" value=<%=no%>></td>
<p>登陆成功!</p>
<input type="submit" value="Menu" />
<%
}
%>
</form>
</body>
</html>
- 学生登录成功进入菜单界面(登录失败刷新页面重新输入)

- 登录过程方法(可具体提示登录失败的原因,密码错误或学号不存在)
@Override
public int login(int no, String password) {
// TODO Auto-generated method stub
int result=-1;
Connection conn = null;
PreparedStatement pstat = null;
ResultSet rs = null;
String sql = "select * from students where stuno=?";//表中有id和name这列
try {
conn = JDBCUtil.getConnection();
pstat = conn.prepareStatement(sql);
pstat.setInt(1,no);
rs = pstat.executeQuery();
int stu = 0;
String stupassword=null;
while(rs.next()){
stupassword=rs.getString("password");
stu=rs.getInt("stuno");
}
if(stu>0){
if(stupassword.equals(password)){
System.out.println("登录成功!");
result = 1;
}
else{
System.out.println("登录失败,密码错误!");
}
}else {
System.out.println("登录失败,学号不存在!");
}
}catch (SQLException sqle) {
sqle.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtil.realeaseAll(rs,pstat, conn);
}
return result;
}
②Menu----根据学生与老师的权限进行排版,(教师:增、删、改、查; 学生:改,查(个人)),每一个选择按钮点击之后进入到相应界面
- 初步界面(未修订)
<%@ 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>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> 菜单选项</title>
</head>
<body>
<form name="fm" method="post">
<p>功能选择</p>
<p>1.录入学生成绩,点击<input type="button" name="btn2" onclick="document.fm.action='EnterStudentScore.jsp';document.fm.submit();"
value="录入"/></p>
<p>2.删除学生信息,点击<input type="button" name="btn1" onclick="document.fm.action='Delete.jsp';document.fm.submit();"
value="删除"/></p>
<p>3.修改学生信息,点击<input type="button" name="btn2" onclick="document.fm.action='UpdateView.jsp';document.fm.submit();"
value="修改"/></p>
<p>4.查找学生信息,点击<input type="button" name="btn2" onclick="document.fm.action='findStudent.jsp';document.fm.submit();"
value="查找"/></p>
</form>
</body>
</html>
- 老师界面
<%@ 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>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> 老师菜单</title>
</head>
<body>
<form name="fm" method="post">
<p>功能选择</p>
<p>1.录入学生成绩,点击<input type="button" name="btn2" onClick="document.fm.action='MenuCourse.jsp';document.fm.submit();"
value="录入"/></p>
<p>2.删除学生信息,点击<input type="button" name="btn1" width="100" heigth="20" onClick="document.fm.action='Delete.jsp';document.fm.submit();"
value="删除"/></p>
<p>3.修改学生信息,点击<input type="button" name="btn2" onClick="document.fm.action='UpdateView1.jsp';document.fm.submit();"
value="修改"/></p>
<p>4.查找学生信息,点击<input type="button" name="btn2" onClick="document.fm.action='findStudent.jsp';document.fm.submit();"
value="查找"/></p>
<p>5.所有学生信息,点击<input type="button" name="btn2" onClick="document.fm.action='ShowStudentMessage.jsp';document.fm.submit();"
value="导出"/></p>
</form>
</body>
</html>

③Delete
- delete方法(信息仅学号唯一,根据学号进行删除操作)
@Override
public int delete(String no) {
// TODO Auto-generated method stub
Connection conn = null;
Statement st= null;
ResultSet resultset=null;
String sql = "delete from students where stuno="+no;
int result = -1;
try {
conn = JDBCUtil.getConnection();
st = conn.createStatement();
int i=st.executeUpdate(sql);
}catch (SQLException sqle) {
sqle.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtil.realeaseAll(null,st, conn);
}
return result;
}
- delete界面
<%@ page language="java" import="java.util.*,StudentScore.*" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>删除学生</title>
</head>
<body>
<form name="postForm" action="DeleteSuccess.jsp" method="post">
<p>请输入需要删除的学生学号</p>
<p>
学号:<input type="text" name="stuno" />
</p>
<input type="submit" value="Delete" />
</form>
</body>
</html>

- delete成功或失败
<%@ page language="java" import="java.util.*,StudentScore.*" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>删除成功</title>
</head>
<body>
<form name="postForm" action="MenuTeacher.jsp" method="post">
<%
StudentDao sdao = new StudentDaoJDBC();
String no = request.getParameter("stuno");
int s = sdao.delete(no);
%>
<p>删除成功!返回菜单</p>
<input type="submit" value="MENU" />
</form>
</body>
</html>


5.课程设计感想
通过这次课设,对数据库,Dao,JDBC等认识加深了很多,不仅如此,还积累了一些课外的新知识;虽然过程中碰到许多令人崩溃和无语的问题,,在jsp与Java还有一些不熟悉的地方,所幸最终大部分问题都能解决;还有重要的一点是团队协作很重要,有时候你忽略的小问题别人一眼就能发现,虽然我的能力不够好,但是到最后看到自己的代码(虽然不多)能在整个项目中运行还是很激动很开心的;遗憾的是时间紧,技术弱,没能把想法更加完善出来。
Java课程设计—学生成绩管理系统(201521123004-林艺如)的更多相关文章
- Java课程设计—学生成绩管理系统(201521123002 林楚虹)
1. 团队课程设计博客链接 团队博客链接 2.个人责模块或任务说明 根据学生学号查找学生成绩 根据学生姓名(支持模糊匹配)查找学生成绩 用POI技术导出Excel文件 3.自己的代码提交记录截图 4. ...
- Java课程设计——学生成绩管理系统(201521123003 董美凤)
Java课程设计--学生成绩管理系统(201521123003 董美凤) 1.团队课程设计博客链接 学生成绩管理系统博客链接 2.个人负责模块或任务说明 信息修改 密码修改 部分界面设计 3.自己的代 ...
- Java课程设计—学生成绩管理系统(201521123005 杨雪莹)
一.团队课程设计博客链接 学生成绩管理系统 二.个人负责模块或任务说明 学生成绩录入 显示所有学生信息 显示各科平均成绩 显示学生成绩(按降序排序) 三.自己的代码提交记录截图 四.自己负责模块或任务 ...
- Java课程设计—学生成绩管理系统
一. 团队名称.团队成员介绍(需要有照片) 团队名称:进击的712 团队成员 杨雪莹[组长] 201521123005 网络1511 林楚虹 201521123002 网络1511 董美凤 20152 ...
- Java课程设计—学生成绩管理系统(54号童欢)
1. 团队课程设计博客链接 http://www.cnblogs.com/wufuckshuo/p/7063183.html 2.个人责模块或任务说明 负责模块/任务:主函数(调用其他的功能函数),添 ...
- Java课程设计--学生成绩管理系统
一.团队名称: 团队成员 林艺薇 201721123032 网络1712 黄毓颖 201721123033 网络1712 唐川 201721123034 网络1712 梁才玉 201721123038 ...
- JAVA课程设计 学生成绩管理
学生成绩管理 可实现功能: 添加学生功能:姓名.学号.性别.出生年月日.(学号自动生成且唯一) 添加学生成绩功能:每个人都有数学.Java与体育四门课,可分课程输入成绩. 根据学生学号查找学生成绩功能 ...
- Java课程设计 学生基本信息管理系统 团队博客
学生基本信息管理系统团队博客 项目git地址 https://git.oschina.net/Java_goddess/kechengsheji 项目git提交记录截图 项目功能架构图与主要功能流程图 ...
- JAVA课程设计---学生基本信息管理系统(201521123039 王兴)
1.团队课程设计博客链接 http://www.cnblogs.com/zyjjj/p/7061880.html 2.个人负责模块或任务说明 函数 功能说明 Search 查找学生信息,分为两种查找方 ...
随机推荐
- GitHub Student Developer Pack创建个人网站
链接:https://zhuanlan.zhihu.com/p/20531579 这个开发包里有什么?作为学生开发者,如何最大化利用它的价值? Atom编辑器,GitHub推出的编辑器,和Sublim ...
- koa-router源码分析
koa-router源码地址是 koa-router 当前解读版本为7.2.1 关系图 代码结构图 执行流程图 关系对应图 Router方法和属性浅析 methods.forEach 注册注册路由的方 ...
- [Python] wxPython 状态栏组件、消息对话框组件 学习总结(原创)
1.状态栏组件 1.基本介绍 上图: 红框框内的就是状态栏. 他可以分成若干个区块,比如上者分为了两个区块,并且比例是固定的,创建时可以指定 每个区块都能够显示 信息,一般通过 绑定事件 实时更新 各 ...
- synchronized VS Lock, wait-notify VS Condition
最近在看Java Threads第三版,收获颇多.全英文阅读,感觉真的是爽歪歪.推荐大家都看看. 这一篇想系统的讲一讲,线程之间通信的2种模式,wait-notify 和 Condition. 先上一 ...
- 线性代数-矩阵-【3】矩阵加减 C和C++实现
点击这里可以跳转至 [1]矩阵汇总:http://www.cnblogs.com/HongYi-Liang/p/7287369.html [2]矩阵生成:http://www.cnblogs.com/ ...
- poj2828 Buy ticket
Description Railway tickets were difficult to buy around the Lunar New Year in China, so we must get ...
- Celery基本原理探讨
本文对Celery进行了研究,由于其实现相对比较复杂没有足够的时间和精力对各方各面的源码进行分析,因此本文根据Celery的使用方法以及实际行为分析其运行原理,并根据查阅相关代码进行了一定程度的验证. ...
- JavaScript 30 - 1 学习笔记
学习JavaScirpt30的笔记! ...虽然英语不是很好,但是跟着来还是学到了一些东西. 1-------> JavaScirpt Drum Kit 功能是这样的 ,敲击键盘上面的按钮, ...
- linux(十四)之linux NFS服务管理
学到这里差不多就结束了linux的基础学习了,其实linux的内容并不难,我们要经常的反复的去操作它,多多和它去联络感情才能很好的掌握这个linux. 加油!今天是星期二.没有什么比努力让人更加热血沸 ...
- Myeclipse去掉恶心的弹框
错误提示: 解决方法: 把JavaScript Validator去掉.去掉的方法是:选择一个项目—-右键Properties—-Builders(排第二)—-点一下右侧会有四项—-取消第一项“Jav ...