ZIPJavaWeb学生成绩管理系统,编写了一个简单的学生成绩管理系统,完成学生信息及课程成绩的增删改查操作 1.3MB

qq_64077978

资源文件列表:

student.zip 大约有69个文件
  1. .classpath 1.07KB
  2. .project 1.03KB
  3. .settings/
  4. .settings/.jsdtscope 564B
  5. .settings/org.eclipse.jdt.core.prefs 364B
  6. .settings/org.eclipse.wst.common.component 475B
  7. .settings/org.eclipse.wst.common.project.facet.core.xml 414B
  8. .settings/org.eclipse.wst.jsdt.ui.superType.container 49B
  9. .settings/org.eclipse.wst.jsdt.ui.superType.name 6B
  10. src/
  11. src/student/
  12. src/student/bean/
  13. src/student/bean/Score.java 1.68KB
  14. src/student/bean/Student.java 1.31KB
  15. src/student/dao/
  16. src/student/dao/impl/
  17. src/student/dao/impl/ScoreDaoImpl.java 4.5KB
  18. src/student/dao/impl/StudentDaoImpl.java 2.24KB
  19. src/student/dao/ScoreDao.java 363B
  20. src/student/dao/StudentDao.java 288B
  21. src/student/servlet/
  22. src/student/servlet/ScoreServlet.java 4.44KB
  23. src/student/servlet/StudentServlet.java 3.17KB
  24. src/student/util/
  25. src/student/util/DBUtil.java 7.98KB
  26. student.sql 1.93KB
  27. WebRoot/
  28. WebRoot/admin/
  29. WebRoot/admin/bottom.jsp 1.14KB
  30. WebRoot/admin/index.jsp 402B
  31. WebRoot/admin/menu.jsp 2.01KB
  32. WebRoot/admin/score/
  33. WebRoot/admin/score/add.jsp 2.43KB
  34. WebRoot/admin/score/list.jsp 2.62KB
  35. WebRoot/admin/score/update.jsp 2.73KB
  36. WebRoot/admin/student/
  37. WebRoot/admin/student/add.jsp 2.31KB
  38. WebRoot/admin/student/list.jsp 2.38KB
  39. WebRoot/admin/student/update.jsp 2.03KB
  40. WebRoot/admin/top.jsp 1.34KB
  41. WebRoot/index.jsp 834B
  42. WebRoot/login.jsp 3.49KB
  43. WebRoot/META-INF/
  44. WebRoot/META-INF/MANIFEST.MF 36B
  45. WebRoot/reg.jsp 5.55KB
  46. WebRoot/WEB-INF/
  47. WebRoot/WEB-INF/classes/
  48. WebRoot/WEB-INF/classes/student/
  49. WebRoot/WEB-INF/classes/student/bean/
  50. WebRoot/WEB-INF/classes/student/bean/Score.class 2.39KB
  51. WebRoot/WEB-INF/classes/student/bean/Student.class 1.95KB
  52. WebRoot/WEB-INF/classes/student/dao/
  53. WebRoot/WEB-INF/classes/student/dao/impl/
  54. WebRoot/WEB-INF/classes/student/dao/impl/ScoreDaoImpl.class 5.32KB
  55. WebRoot/WEB-INF/classes/student/dao/impl/StudentDaoImpl.class 3.17KB
  56. WebRoot/WEB-INF/classes/student/dao/ScoreDao.class 537B
  57. WebRoot/WEB-INF/classes/student/dao/StudentDao.class 356B
  58. WebRoot/WEB-INF/classes/student/servlet/
  59. WebRoot/WEB-INF/classes/student/servlet/ScoreServlet.class 4.71KB
  60. WebRoot/WEB-INF/classes/student/servlet/StudentServlet.class 3.56KB
  61. WebRoot/WEB-INF/classes/student/util/
  62. WebRoot/WEB-INF/classes/student/util/DBUtil.class 7.48KB
  63. WebRoot/WEB-INF/classes/student/util/Pagination.class 2.09KB
  64. WebRoot/WEB-INF/lib/
  65. WebRoot/WEB-INF/lib/commons-fileupload-1.5.jar 72.39KB
  66. WebRoot/WEB-INF/lib/commons-io-2.0.1.jar 155.77KB
  67. WebRoot/WEB-INF/lib/jstl-1.2.jar 404.53KB
  68. WebRoot/WEB-INF/lib/mysql-connector-java-5.1.13-bin.jar 749.5KB
  69. WebRoot/WEB-INF/web.xml 650B

资源介绍:

我的文章:“【Java Web】学生成绩管理系统”的资源包,详细步骤可以参考文章。 实验:JSP数据库程序设计 实验目的: 1. 掌握JDBC的常用接口及类; 2. 掌握JDBC访问数据库的方法; 实验内容及基本要求: 实验内容: 1. 编写一个简单的学生成绩管理系统,完成学生信息及课程成绩的增删改查操作。 基本要求: 1. 写出实验步骤 2. 写出实验中遇到的问题及解决的方法 目录: Java Web实验_学生成绩管理系统 2 一、新建项目 2 1. 复制项目shop 2 二、结构 2 1. 框架结构 2 2. 代码结构 3 三、学生信息管理 3 1. 实体 3 2. Dao层 4 3. DaoImpl实现类 4 4. Servlet控制器 7 5. 数据库 7 6. Servlet 和 Student的jsp 8 四、课程成绩管理 15 (一) 添加 15 (二) 删除 15 (三) 修改 16 (四) 查询 17 实验问题 17 1 复制的项目student直接部署然后访问,访问不到? 17 (1) 复制项目 17 (2) 问题 18 (3)修改上下文 18 (4)重新部署 1
package student.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class DBUtil { private static final String className = "com.mysql.jdbc.Driver"; private static final String user = "root"; private static final String password = "123456"; private static final String url = "jdbc:mysql://localhost:3306/student"; private static Connection connection; static{ try { Class.forName(className); connection = DriverManager.getConnection(url, user, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } public static Connection getConnection(){ return connection; } public static ResultSet executeQuery(String sql){ try { Statement st = connection.createStatement(); return st.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); return null; } } public static ResultSet executeQuery(String sql, Object[] params){ try { PreparedStatement pst = connection.prepareStatement(sql); for(int i=0;i<params.length;i++){ if(params[i] instanceof Integer){ pst.setInt(i+1, (Integer)params[i]); }else if(params[i] instanceof String){ pst.setString(i+1, (String)params[i]); }else if(params[i] instanceof Float){ pst.setFloat(i+1, (Float)params[i]); }else if(params[i] instanceof Double){ pst.setDouble(i+1, (Double)params[i]); }else if(params[i] instanceof Boolean){ pst.setBoolean(i+1, (Boolean)params[i]); } } return pst.executeQuery(); } catch (SQLException e) { e.printStackTrace(); return null; } } public static int executeUpdate(String sql, Object[] params){ try { PreparedStatement pst = connection.prepareStatement(sql); for(int i=0;i<params.length;i++){ if(params[i] instanceof Integer){ pst.setInt(i+1, (Integer)params[i]); }else if(params[i] instanceof String){ pst.setString(i+1, (String)params[i]); }else if(params[i] instanceof Float){ pst.setFloat(i+1, (Float)params[i]); }else if(params[i] instanceof Double){ pst.setDouble(i+1, (Double)params[i]); }else if(params[i] instanceof Boolean){ pst.setBoolean(i+1, (Boolean)params[i]); } } return pst.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); return 0; } } public static int executeUpdate(String sql){ try { Statement st = connection.createStatement(); return st.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); return 0; } } public static int getRecordCount(String tableName){ ResultSet rs = executeQuery("select count(*) from " + tableName); try { rs.next(); return rs.getInt(1); } catch (SQLException e) { e.printStackTrace(); return 0; } } public static String page(String url,int pageNo,int totalPage, int num){ Pagination pagination = new Pagination(pageNo, totalPage, num); List<String> pages = pagination.getPages(); if(url.contains("?")) url += "&"; if(!url.endsWith("&")) url += "?"; StringBuffer pageStr = new StringBuffer(); pageStr.append("<style>.page ul{list-style: none;}.page ul li{float: left;margin-right:5px;background-color: #ffffff;border: 1px solid #dddddd;border-radius: 6px;}.page .dot{padding:3px 8px;border: none;}.page ul li.current{border: 1px solid #ff5f00;background-color: #ff5f00;}.page ul li.current a{color: #ffffff;}.page ul li a{display: block;text-decoration: none;font-size:14px;padding: 6px 10px;color: #111111;}.page ul li a:hover{background-color: #ff5f00;color: #fff;border-radius: 6px;}.page select{outline: none;width:80px;height:30px;border:1px solid #dddddd;border-radius:6px;font-size: 14px;margin-right:5px;text-align: center;}.page input[type=\"text\"]{outline: none;width: 30px;height: 30px;font-size:14px;line-height: 30px;border-radius: 6px;text-align: center;margin-right:5px;border: 1px solid #dddddd;}.page input[type=\"text\"]:focus{border-color: #ff5f00;background-color: #FFFFFF;box-shadow: 0 0 0 2px rgba(255,95,0,0.2);}.page input[type=\"button\"]:hover{background-color:#f7f8fa;} .page input[type=\"button\"]{outline: none;width: 45px;height: 30px;line-height: 26px;border-radius: 6px;text-align: center;border: 1px solid #dddddd;background-color: #ffffff;cursor: pointer;font-color: 14px;}</style>"); pageStr.append("<div class=\"page\">"); pageStr.append("<ul>"); if(pageNo == 1){ pageStr.append("<li><a>&lt; 上一页</a></li>"); }else{ pageStr.append("<li><a href='" + url + "pageNo=" + (pageNo -1) + "'>&lt; 上一页</a></li>"); } for(int i=0;i<pages.size();i++){ if("...".equals(pages.get(i))){ pageStr.append("<li class=\"dot\">...</li>"); }else{ if((pageNo+"").equals(pages.get(i))) pageStr.append("<li class=\"current\"><a>"+ pages.get(i) +"</a></li>"); else pageStr.append("<li><a href='" + url + "pageNo=" + pages.get(i) + "'>"+ pages.get(i) +"</a></li>"); } } if(pageNo == totalPage){ pageStr.append("<li><a>下一页 &gt;</a></li>"); }else{ pageStr.append("<li><a href='" + url + "pageNo=" + (pageNo + 1) + "'>下一页 &gt;</a></li>"); } pageStr.append("</ul>"); pageStr.append("<script>"); pageStr.append("function goPage(page){ "); pageStr.append("window.location='" + url + "pageNo=' + page;"); pageStr.append("}"); pageStr.append("function goPage1(){ "); pageStr.append("var page = document.getElementById('page').value;"); pageStr.append("window.location='" + url + "pageNo=' + page;"); pageStr.append("}"); pageStr.append("</script>"); pageStr.append("<select onchange='goPage(this.value)'>"); for(int i=1;i<=totalPage;i++){ if(i==pageNo) pageStr.append("<option selected value='" + i + "'>第" + i + "页</option>"); else pageStr.append("<option value='" + i + "'>第" + i + "页</option>"); } pageStr.append("</select>"); pageStr.append("<input type='text' id='page'/>"); pageStr.append("<input type='button' value='确定' onclick='goPage1();'/>"); pageStr.append("</div>"); pageStr.append("<script>"); pageStr.append("document.getElementById('page').value='" + pageNo +"';"); pageStr.append("</script>"); return pageStr.toString(); } } class Pagination { private int pageNo; //当前页号 private int pageCount;//总页数 private int floatCount;// 分页导航显示的页数 public int getPageNo() { return pageNo; } public void setPageNo(int pageNo) { this.pageNo = pageNo; } public int getPageCount() { return pageCount; } public void setPageCount(int pageCount) { this.pageCount = pageCount; } public int getFloatCount() { return floatCount; } public void setFloatCount(int floatCount) { this.floatCount = floatCount; } public Pagination() { super(); } public Pagination(int pageNo, int pageCount, int floatCount) { super(); this.pageNo = pageNo; this.pageCount = pageCount; this.floatCount = floatCount; } public List<String> getPages(){ List<String> pages = new ArrayList<String>(); if(pageCount<=floatCount){ for(int i=1;i<=pageCount;i++){ pages.add(i + ""); } }else if(pageNo<=floatCount/2){ for(int i=1;i<=floatCount;i++){ pages.add(i + ""); } pages.add("..."); pages.add(pageCount + ""); }else if(pageNo>floatCount/2&&pageNo<pageCount-floatCount/2){ pages.add("1"); pages.add("..."); for(int i=pageNo - floatCount/2 + 1;i<=pageNo + floatCount/2;i++){ pages.add(i + ""); } if(pageNo + floatCount/2 + 1!= pageCount) pages.add("..."); pages.add(pageCount + ""); }els
100+评论
captcha
    类型标题大小时间
    ZIPGP88写频软件(含驱动)11.87MB9月前
    ZIPiis批量申请证书工具,免费的Let's Encrypt证书批量申请续费8.56MB9月前
    ZIPSEA J1939 英文版8.52MB9月前
    ZIPshiro框架权限demo110.93KB9月前
    ZIP测试1111111111.47MB9月前
    ZIP倾斜摄影模型处理软件-灵易智模56.13MB9月前
    ZIP点可云ERP进销存V7社区开源版24.78MB9月前
    ZIP重写进度条控件虚函数,为进度条添加实时显示百分条进度59.9MB9月前