Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」

Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」1.团队课程设计博客"团队课程设计博客链接"2.个人负责模块或任务说明①.MenuMenu.jsp在页面中给出提示,用HTML的,与下一个跳转页面进行连接,即点击后进入下

大家好,又见面了,我是你们的朋友全栈君。

1.团队课程设计博客

团队课程设计博客链接

2.个人负责模块或任务说明

  • Menu.jsp

    • 在页面中给出提示,用HTML的<input…/>,
      与下一个跳转页面进行连接,即点击后进入下一个页面
  • MenuTeacher.jsp

    • 利用Menu.jsp进行具体化完善和修改,由于教师与学生的权限不同,将教师和学生的功能选择进行区分

    • 教师:增、删、改、查

    • 学生:改,查(个人)

    • 确认后跳转到相应的页面

②Login

  • Login.jsp

    • 通过账号和密码匹配正确后,进入Menu界面

    • 教师与学生分别位于不同的表中,需要分开处理

  • StudentLogin.jsp

    • 学生通过在页面输入学号密码进行账号登录

    • 将输入的学号在数据库中进行查找,找到后进行密码比较,一直即进入菜单界面

③Delete

  • Delete.jsp

    • 提示输入需要删除的学生学号
    • 确认后,通过delete(String stuno)方法,最后跳转至删除成功与否界面
  • DeleteSuccess.jsp

    • Delete页面中的学号存在,显示该学生信息;否则,提示找不到,删除失败

    • 返回菜单界面

3.自己的代码提交记录截图

Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」

Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」

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>
  • 登录页面

Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」

  • 登录后(数据库找到对应学号,比较密码,成功即登录,失败即刷新重新输入)
<%@ 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>
  • 学生登录成功进入菜单界面(登录失败刷新页面重新输入)

Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」

  • 登录过程方法(可具体提示登录失败的原因,密码错误或学号不存在)
		@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;
		}

  • 初步界面(未修订)
<%@ 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>

Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」

③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>

Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」

  • 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>

Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」

Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」

5.课程设计感想

 通过这次课设,对数据库,Dao,JDBC等认识加深了很多,不仅如此,还积累了一些课外的新知识;虽然过程中碰到许多令人崩溃和无语的问题,,在jsp与Java还有一些不熟悉的地方,所幸最终大部分问题都能解决;还有重要的一点是团队协作很重要,有时候你忽略的小问题别人一眼就能发现,虽然我的能力不够好,但是到最后看到自己的代码(虽然不多)能在整个项目中运行还是很激动很开心的;遗憾的是时间紧,技术弱,没能把想法更加完善出来。

Java课程设计

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154395.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • This Android SDK requires Android Developer Toolkit version 22.6.2 or above.

    This Android SDK requires Android Developer Toolkit version 22.6.2 or above.

    2022年1月12日
    55
  • golang激活码破解方法

    golang激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    331
  • 基于卷积神经网络的手写数字识别系统_python 卷积神经网络

    基于卷积神经网络的手写数字识别系统_python 卷积神经网络前面讲解了使用纯numpy实现数值微分和误差反向传播法的手写数字识别,这两种网络都是使用全连接层的结构。全连接层存在什么问题呢?那就是数据的形状被“忽视”了。比如,输入数据是图像时,图像通常是高、长、通道方向上的3维形状。但是,向全连接层输入时,需要将3维数据拉平为1维数据。实际上,前面提到的使用了MNIST数据集的例子中,输入图像就是1通道、高28像素、长28像素的(1,28,28)形状,但却被排成1列,以784个数据的形式输入到最开始的Affine层。图像是3维形状,这个形状中应该含有重要的空间信

    2025年11月17日
    4
  • ArrayList 扩容规则[通俗易懂]

    ArrayList 扩容规则[通俗易懂]ArrayList()会使用长度为零的数组ArrayList(intinitialCapacity)会使用指定容量的数组publicArrayList(Collection<?extendsE>c)会使用c的大小作为数组容量add(Objecto)首次扩容为10,再次扩容为上次容量的1.5倍addAll(Collectionc)没有元素时,扩容为Math.max(10,实际元素个数),有元素时为Math.max(原容量1.5倍,实际元素个数.

    2022年5月4日
    45
  • Spring Aop、拦截器、过滤器的区别[通俗易懂]

    Spring Aop、拦截器、过滤器的区别[通俗易懂]Spring Aop、拦截器、过滤器的区别

    2022年4月22日
    93
  • getter和setter怎么用_python setter

    getter和setter怎么用_python setter有时候我们只知道一个对象的字段,我们想通过反射的方式将此字段赋值,可直接写反射又太浪费时间,还需要自己手动拼接方法名,而java为我们提供了一个很方便的类(PropertyDescriptor)来操作这一过程。使用很简单,直接看代码:代码importcom.pibgstar.demo.bean.User;importjava.beans.IntrospectionException…

    2022年10月1日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号