Java课程设计—学生成绩管理系统(201521123004-林艺如)

1.团队课程设计博客

团队课程设计博客链接

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

  • Menu.jsp

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

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

    • 教师:增、删、改、查

    • 学生:改,查(个人)

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

②Login

  • Login.jsp

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

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

  • StudentLogin.jsp

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

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

③Delete

  • Delete.jsp

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

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

    • 返回菜单界面

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

Java课程设计—学生成绩管理系统(201521123004-林艺如)_第1张图片

Java课程设计—学生成绩管理系统(201521123004-林艺如)_第2张图片

4.自己负责模块或任务详细说明

①Login----提示输入账户和密码进行登录,教师与学生在不同的数据库表中,教师的表名为teachers,内含账号和密码;学生的表名为students,内含学生个人信息与成绩。

  • 登陆界面
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




学生登录


    

账号 :

密码 :

  • 登录页面

Java课程设计—学生成绩管理系统(201521123004-林艺如)_第3张图片

  • 登录后(数据库找到对应学号,比较密码,成功即登录,失败即刷新重新输入)
<%@ 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+"/";
%> 




学生登录成功


<% 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 { %> 学号:>

登陆成功!

<% } %>
  • 学生登录成功进入菜单界面(登录失败刷新页面重新输入)

Java课程设计—学生成绩管理系统(201521123004-林艺如)_第4张图片

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




 菜单选项


功能选择

1.录入学生成绩,点击

2.删除学生信息,点击

3.修改学生信息,点击

4.查找学生信息,点击

  • 老师界面
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




 老师菜单


功能选择

1.录入学生成绩,点击

2.删除学生信息,点击

3.修改学生信息,点击

4.查找学生信息,点击

5.所有学生信息,点击

Java课程设计—学生成绩管理系统(201521123004-林艺如)_第5张图片

③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+"/";
%>   




删除学生


 

请输入需要删除的学生学号

学号:

Java课程设计—学生成绩管理系统(201521123004-林艺如)_第6张图片

  • 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+"/";
%>    




删除成功


<% StudentDao sdao = new StudentDaoJDBC(); String no = request.getParameter("stuno"); int s = sdao.delete(no); %>

删除成功!返回菜单

Java课程设计—学生成绩管理系统(201521123004-林艺如)_第7张图片

Java课程设计—学生成绩管理系统(201521123004-林艺如)_第8张图片

5.课程设计感想

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

Java课程设计

你可能感兴趣的:(Java课程设计—学生成绩管理系统(201521123004-林艺如))