程序设计思想:
首先建Bean包,链接数据库,使用jsp文件来做所有保存,写入到数据库的操作,建立add.jsp index.jsp 两个jsp文件,在add.jsp文件中构造出界面,并判断任课教师,以及教学楼地点前缀是否在规定范围内,如果不在就不执行写入数据库的操作,弹出不成功的窗口,并重置录入信息的窗口。 在index.jsp文件中返回添加成功的信息,并具有修改删除功能。
源代码:(此处只粘贴部分代码)
<%@ page language="java" contentType="text/html; charset=gb2312" import="java.sql.*" 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=ISO-8859-1"> <title>添加用户信息</title> </head> <body style="background-color:#edf6fa; background-image:url(images/A1.jpg); background-repeat:no-repeat; background-position:center top; overflow:hidden;"> <form action="add.jsp"method="post"> <table align="center"width="50%" border="1"> <caption>添加课程信息</caption> <tr> <th width="30%">编号:</th> <td width="70%"><input name="id" type="text"></td> </tr> <tr> <th>课程名称:</th> <td ><input name="name" type="text"></td> </tr> <tr> <th>任课教师:</th> <td ><input name="password" type="text"></td> </tr> <tr> <th>上课地点:</th> <td ><input name="nickname" type="text"></td> </tr> <tr> <th colspan="2"> <input type="submit" name="submit" value="保存"> </th> </tr> </table> </form> <jsp:useBean id="db" class="DB.DBBean" scope="page" /> <% request.setCharacterEncoding("gb2312"); String submit=request.getParameter("submit"); if(submit!=null&&!submit.equals("")) { int id=Integer.parseInt(request.getParameter("id")); String name=request.getParameter("name"); String password=request.getParameter("password"); String nickname=request.getParameter("nickname"); int c=0; int d=0; if(password!=null&&(password.equals("王建民")||password.equals("刘立嘉")||password.equals("刘丹")||password.equals("王辉")||password.equals("杨子光"))) { c=1; } else { out.println("<script language='javaScript'> alert('教师不在范围内,添加失败!请重新输入')</script>"); c=0; response.setHeader("refresh", "1;url=index.jsp"); } if(nickname!=null&&(nickname.startsWith("基教",0)||nickname.startsWith("一教",0)||nickname.startsWith("二教",0)||nickname.startsWith("三教",0))) { d=1; } else { out.println("<script language='javaScript'> alert('上课地点不在范围内,添加失败!请重新输入')</script>"); d=0; response.setHeader("refresh", "1;url=index.jsp"); } if(c==1&&d==1) { String sql="insert into t_user(id,username,password,nickname) values('"+id+"','"+name+"','"+password+"','"+nickname+"')"; int i=db.executeUpdate(sql); if(i==1) { out.println("<script language='javaScript'> alert('添加成功,单击确定跳转到主页!')</script>"); response.setHeader("refresh", "1;url=index.jsp"); } else { out.println("<script language='javaScript'> alert('添加失败,单击确定返回添加主页!')</script>"); response.setHeader("refresh", "1;url=index.jsp"); } db.close(); } } %> </body> </html>
package DB; import java.sql.*; public class DBBean { private String driverStr = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private String connStr ="jdbc:sqlserver://localhost:1433;DatabaseName=jaovo_msg"; private String dbusername = "sa"; private String dbpassword = "582607kou"; private Connection conn = null; private Statement stmt = null; public DBBean() { try { Class.forName(driverStr); conn = DriverManager.getConnection(connStr, dbusername, dbpassword); stmt = conn.createStatement(); } catch (Exception ex) { //System.err.println("连接数据库失败 \n错误原因 "+ex.getMessage() ); } } public int executeUpdate(String s) { int result = 0; try { result = stmt.executeUpdate(s); } catch (Exception ex) { System.err.println("执行更新错误\n错误原因 "+ex.getMessage()); } return result; } public ResultSet executeQuery(String s) { ResultSet rs = null; try { rs = stmt.executeQuery(s); } catch (Exception ex) { System.err.println("执行查询错误ִ\n错误原因 "+ex.getMessage()); } return rs; } public void close() { try { stmt.close(); conn.close(); } catch (Exception e) { System.err.println("关闭失败ִ\n错误原因 "+e.getMessage()); } System.out.println("已断开与数据库的连接!" ); } }
结果截图:
周活动总结表
姓名:寇肖萌 日期:2017/11/28
任务
日期 | 听课 | 编写程序 | 阅读课本 | 准备考试 | 日总计 |
周一 |
|
|
|
|
|
周二 | 45 | 120 | 40 | 180 | 385 |
周三 |
|
|
|
|
|
周四 |
|
|
|
|
|
周五 |
|
|
|
|
|
周六 |
|
|
|
|
|
周日 |
|
|
|
|
|
周总计 |
|
|
|
|
|
时间记录日志
学生: 寇肖萌 日期:2017/11/28
教师: 王建民 课程:软件工程概论
日期 | 开始 时间 | 结束 时间 | 中断时间 | 净时间 | 活动 | 备注 | C | U |
11/28 | 8.00 | 10.00 |
| 100 | 听课 | 上课 |
|
|
| 13:40 | 14.40 |
| 60 | 编程序 | 课堂测试1 |
|
|
| 16.00 | 17.40 |
| 100 | 编程序&写报告 | 完善程序 |
|
|
| 20.30 | 22.00 |
| 90 | 看书 | 考试准备 |
|
|
缺陷记录日志
学生 : 寇肖萌
日期 : 2017/11/28
教员 :王建民
日期 | 编号 | 类型 | 引入阶段 | 排除阶段 | 修复阶段 | 修复缺陷 |
28/11 | 1 | 40 | 设计 | 编译 | 3min |
|
描述:add.jsp 页面中判断错误信息,应为不等于时执行 | ||||||
| 2 | 20 | 编码 | 编译 | 3min |
|
描述:改了实体类的代码,未重启服务器,得不到响应。 |
作业号 |
日期 |
过程 | 估计数据 | 实际数据 | 累计数据 | |||||||
| 时间 | 单元 | 时间 | 单元 | 平均值 | 时间 | 单元 | 平均值 | 最大值 | 最小值 | ||
1 | 11/28 | 编写程序 | 180 | 1 | 230 | 1 | 230 | 230 | 1 | 230 | 230 | 200 |