javaweb实现教师和教室管理系统 java jsp sqlserver

1,程序设计思想

(1)设计三个类,分别是工具类(用来写连接数据库的方法和异常类的方法)、信息类(用来写存储信息的方法)、实现类(用来写各种操作数据库的方法)

(2)定义两个jsp文件,一个用来写入数据,另一个用来读取数据

(3)先在一个jsp文件中写入数据,然后另一个jsp用来读取数据,同时做出判断,判断读取的信息与数据库的信息是否相同或是数据库中没有该数据,将判断后的信息显示出来

2,源程序代码

 (1)工具类

package Util;
import java.sql.*;
public class DBUtil {
    
    public  static  Connection getConnection() {
        try {
            //1 加载驱动
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        String user1 = "sa";
        String password = "123456";
        String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=user";
        Connection connection = null;
        try {
            //2 创建链接对象connection
             connection = DriverManager.getConnection(url,user1,password);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return connection;
    }
    
    //关闭资源的方法
    public static void close(Connection connection ) {
        try {
            if (connection != null) {
                connection.close();
            }
            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    public static void close(PreparedStatement preparedStatement ) {
        try {
            if (preparedStatement != null) {
                preparedStatement.close();
            }
            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    public static void close(ResultSet resultSet ) {
        try {
            if (resultSet != null) {
                resultSet.close();
            }
            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    
}

(2)信息类

package model;

public class User {
   String className;
   String teacher;
   String place;
public String getClassName() {
    return className;
}
public void setClassName(String className) {
    this.className = className;
}
public String getTeacher() {
    return teacher;
}
public void setTeacher(String teacher) {
    this.teacher = teacher;
}
public String getPlace() {
    return place;
}
public void setPlace(String place) {
    this.place = place;
}
    
}

(3)实现类

package dao;

import java.sql.*;

import Util.DBUtil;
import model.User;



public class UserDaoImpl {

    public void add(User equ) {
        Connection connection = DBUtil.getConnection();
        try {
            String sql="insert into teacher(className,teacher,place)values('"+equ.getClassName()+"','"+equ.getTeacher()+"','"+equ.getPlace()+"')";
            Statement stmt=connection.createStatement();
            stmt.executeUpdate(sql);//更新
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            DBUtil.close(connection);
        }
        
    }
    public User load(String className) {
    
        Connection connection = DBUtil.getConnection();
        //准备sql语句
        String sql = "select * from teacher  where className = ?";
        //创建语句传输对象
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        User user = null;
        try {
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, className);
            resultSet = preparedStatement.executeQuery();
            while(resultSet.next()) {
                user = new User();
                user.setClassName(className);
                user.setTeacher(resultSet.getString("teacher"));
                user.setPlace(resultSet.getString("place"));
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            DBUtil.close(connection);
        }
        return  user;
    }
}

(4)jsp文件 输入数据

<%@ 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=ISO-8859-1">
<title>登录界面</title>
</head>
<body background="D:\图片\动漫\20150422H2607_fKHLB.jpeg">
<%if(request.getAttribute("error1")!=null){
    out.print("<script language='javaScript'>alert('该信息已经存在'); </script>)");
    }
    %>
<%if(request.getAttribute("error2")!=null){ 
    out.print("<script language='javaScript'>alert('请正确输入完整信息'); </script>)");
}
%>
<%if(request.getAttribute("成功")!=null){ 
    out.print("<script language='javaScript'> alert('保存成功'); </script>)");
}
%>
<%if(request.getAttribute("error3")!=null){ 
    out.print("<script language='javaScript'> alert('教室输入错误'); </script>)");
}
%>
<%if(request.getAttribute("error4")!=null){ 
    out.print("<script language='javaScript'> alert('老师输入错误'); </script>)");
}
%>
<form action="add.jsp" method="get">
<table align="center" border="4" width="400">
            <h4 align="center">登录界面</h4>
            <tr>
                <td>课程名称: </td>
                <td>
                    <input type="text" name="className" />
                </td>
            </tr>
            <tr>
                <td>任课老师: </td>
                <td>
                    <input type="text" name="teacher" />
                </td>
            </tr>
                <tr>
                <td>上课地点:</td>
                <td>
                    <input type="text" name="place" />
                </td>
            </tr>
            <tr align="center">
                <td colspan="2">
                    <input type="submit" value="保存" />

                </td>
            </tr>
        </table>
        </form>
</body>
</html>

(5)jsp文件 读取数据

<%@page import="dao.UserDaoImpl"%>
<%@page import="model.User"%>
<%@ 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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    <% 
    String className = request.getParameter("className");
    String place = request.getParameter("place");
    String teacher=request.getParameter("teacher");
    
    User user = new User();
    UserDaoImpl userDao = new UserDaoImpl();
    
    user.setClassName(className);
    user.setTeacher(teacher);
    user.setPlace(place);
    
    if(userDao.load(className)!=null||userDao.load(place)!=null||userDao.load(teacher)!=null){
        request.setAttribute("error1", "该信息已经存在");
    %>
        <jsp:forward page="addInput.jsp"></jsp:forward>
    <%
    }
    %>
    
    <%
    if("".equals(teacher.trim())||"".equals(className.trim())||"".equals(place.trim())){
        request.setAttribute("error2", "请正确输入完整信息");
    
    %>
    <jsp:forward page="addInput.jsp"></jsp:forward>
   <%
    }
   %>
   
    <%
    if(userDao.load(className)==null&&((teacher).equals("王建民")||(teacher).equals("刘丹")||(teacher).equals("刘立嘉")||(teacher).equals("王辉")||(teacher).equals("杨子光")&&(((place).substring(0,2)).equals("基教")))){
            {
            userDao.add(user);
            request.setAttribute("成功", "保存成功");
            }
     %>
        <jsp:forward page="addInput.jsp"></jsp:forward>
        <%
        }
        if(userDao.load(className)==null&&(!place.startsWith("基教"))&&(!place.startsWith("一教"))&&(!place.startsWith("二教")&&(!place.startsWith("三教")))){
            request.setAttribute("error3", "教室输入错误");
        %>
        <jsp:forward page="addInput.jsp"></jsp:forward>
        <%
        }else{
            request.setAttribute("error4","老师输入错误");
        
        %>
        <jsp:forward page="addInput.jsp"></jsp:forward>
        <%
        }
    %>
</body>
</html>

 

3,运行结果截图

 

如果不输入信息

若输入已存在的信息

若输入错误教室信息

多输入错误的老师信息

4,开发过程的日志

项目计划日志

时间

任务

课堂测试

课下编写程序

阅读书籍

 

半天总计

上午

50分钟

 

 

 

50分钟

下午

 

3个小时

20分钟

 

3小时20分钟

时间记录日志

时间段

开始

结束

中断时间

净时

活动

备注

C

U

上午

900

950

0

50分钟

编程序

课堂测试

 

 

下午

1230

4:30

1个小时

3个小时

编程序

作业

 

 

缺陷记录日志

日期

编号

类型

引入阶段

排除阶段

修复时间

修复缺陷

11/28

1

粗心

运行

编译

2分钟

 

描述:无法将数据传进数据库,表单名写错

 

2

功能不完善

运行

编译

2小时

 

描述:判断数据库与输入的数据的匹配,String类型的数据的截取方法 如substring(a,b) startsWith(“”)

 

 

3

界面不美观

运行

编译

30分钟

 

描述:在jsp中利用alert弹出信息

posted @ 2017-11-28 17:31  New-s  阅读(1730)  评论(0编辑  收藏  举报