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

上午

9:00

9:50

0

50分钟

编程序

课堂测试

下午

12:30

4:30

1个小时

3个小时

编程序

作业

 

缺陷记录日志

日期

编号

类型

引入阶段

排除阶段

修复时间

修复缺陷

11/28

1

粗心

运行

编译

2分钟

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

2

功能不完善

运行

编译

2小时

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

3

界面不美观

运行

编译

30分钟

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

javaweb实现教师和教室管理系统 java jsp sqlserver的更多相关文章

  1. 四则运算1 java+jsp+SQLServer

    1,设计思想(1)在java resourse里定义包和类 (2)在类里定义生成算式,并将算式保存在数据库中的方法 (3)在jsp文件中调用java方法 2,源程序代码 生成算式的方法 public ...

  2. java+jsp+sqlserver实现简单的增删改查操作 连接数据库代码

    1,网站系统开发需要掌握的技术 (1)网页设计语言,html语言css语言等 (2)Java语言 (3)数据库 (4)等 2,源程序代码 (1) 连接数据库代码 package com.jaovo.m ...

  3. Atitit  java jsp 新的tag技术

    Atitit  java jsp 新的tag技术 1.1.  Tag Files  vs 原生写 SimpleTag 比较麻烦的 JSP 1.x 允许 Web 开发人员创建 Java 组件(称为标记处 ...

  4. [转]应聘Java,jsp,j2ee软件工程师笔试中可能出现的问题

    相信大家应聘的时候第一关就是笔试,即使是一位很有经验的工程师也不一定能够顺利通过,笔试不好,可能就无法进行面试,即使能够进行面试,考官对你的印象也不会很好,问的问题也会很多,估计很难吃的消,当然如果你 ...

  5. 《图书管理系统——java》

    /* (程序头部凝视開始) * 程序的版权和版本号声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名:    < ...

  6. Java/JSP程序连接不上Mysql驱动问题解决方法

    错误提示: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat java.net.URLClassLoader$1.run(URLCla ...

  7. Java/JSP获得客户端网卡MAC地址的三种方法解析

    java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种. 1.通过命令方式,在客户端执行Ipconfig 等等.(java/jsp) 2.通过ActiveX的方法.(jsp) 3.通过向13 ...

  8. .NET/ASP.NET/C#/WCF/SQL Server/My SQL/Java/JSP/JDBC/Spring/Spring MVC/PHP/Python/Ruby/Shell/Agile/CSS/HTML/HTTP/Unix/Linux大量PDF书籍/电子书籍下载, Effective Java 下载

    223本电子书籍,囊括了.NET/ASP.NET/C#/WCF/SQL Server/My SQL/Java/JSP/JDBC/Spring/Spring MVC/PHP/Python/Shell/A ...

  9. java:jsp: 一个简单的自定义标签 tld

    java:jsp: 一个简单的自定义标签 tld 请注意,uri都是:http://www.tag.com/mytag,保持统一,要不然报错,不能访问 tld文件 <?xml version=& ...

随机推荐

  1. Codeforces div2 #499 B. Planning The Expedition 大水题

    已经是水到一定程度了QAQ- Code: #include<cstdio> #include<algorithm> #include<cstring> using ...

  2. jQuery Validate验证(项目中使用的)

    大致结构是: <script type="text/javascript" src="<%=path %>/js/jquery-1.9.1.min.js ...

  3. PHP下的异步尝试二:初识协程

    PHP下的异步尝试系列 如果你还不太了解PHP下的生成器,你可以根据下面目录翻阅 PHP下的异步尝试一:初识生成器 PHP下的异步尝试二:初识协程 PHP下的异步尝试三:协程的PHP版thunkify ...

  4. Python破解Wifi密码思路

    一.前言说明 本机运行环境:系统环境Win10,运行环境Python3.6,运行工具Pycharm 需要Python的包有:pywifi 这是一种暴力破解wifi的模式,需要的时间比较长,本文主要提供 ...

  5. WEB开发兼容性---浏览器渲染模式—— document.compatMode

    document.compatMode主要是用来判断浏览器采用何种方式渲染,它有两种可能的返回值:BackCompat和CSS1Compat,官方对其解释如下: BackCompat:标准兼容模式关闭 ...

  6. 机器学习关于AUC的理解整理

    AUC 几何意义:ROC曲线与X轴的面积 https://blog.csdn.net/luo3300612/article/details/80367901 AUC物理意义:随机给定一个正样本和一个负 ...

  7. ASP.NET--Attribute定义及用法

    1.Attribute定义 公共语言运行时允许添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型.字段.方法和属性等.Attributes和Microsoft .N ...

  8. 常用类属于哪些jar包

    1.@requestmapping注解,属于org.springframework.web.bind.annotation包下.org.springframework.web jar包. 2.@Res ...

  9. Rails内存的问题 Java内存情况

    Rails内存的问题 Java内存情况 一个txt文件,100M,300万行,都是坐标数据: 需要进行坐标的变换.计算.比较: 在Rails中使用Ruby进行计算,会导致内存超过1.5G,最后溢出而亡 ...

  10. dpdk l2fwd 应用流程分析

    int MAIN(int argc, char **argv) { struct lcore_queue_conf *qconf; struct rte_eth_dev_info dev_info; ...