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. pickle模块 no attribute 'dumps'

    今天写了一个pickle.py的文件练习pickle模块,代码如下: import pickle dic = {"linga": ('football',)} dic2 = {&q ...

  2. faker smtp server

    import os import asyncio import logging import base64 from email import message_from_bytes from emai ...

  3. vue 表格数据编辑,点击取消或者完成按钮后,关闭编辑状态没有及时生效

    点击编辑按钮: 编辑状态下,表格可以编辑.但是点击“确认”或者“取消”按钮,列数据编辑状态已经修改,但是视图没有改变. 页面代码: 获取当前行的index,并直接修改当前行用于判断是否编辑状态的数据为 ...

  4. Hash大法

    内容参考<算法竞赛进阶指南> 之前集训的时候听老师讲过,字符串题目中,hash一般不是正解,但是是一个优秀的暴力,可以拿比较多的部分分. hash涉及内容很多,这里只讨论字符串hash 可 ...

  5. Python 爬虫练习: 爬取百度贴吧中的图片

    背景:最近开始看一些Python爬虫相关的知识,就在网上找了一些简单已与练习的一些爬虫脚本 实现功能:1,读取用户想要爬取的贴吧 2,读取用户先要爬取某个贴吧的页数范围 3,爬取每个贴吧中用户输入的页 ...

  6. js数字转换为float,取N个小数

    javascript中的变量都是弱类型,所有的变量都声明为var,在类型转换过程中就没有java那么方便,它是通过 parseInt(变量).parseFloat(变量)等方法来进行类型转换的.注意: ...

  7. 【【henuacm2016级暑期训练】动态规划专题 E】Destroying Roads

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 首先. 这张图是无向无权图. 因此任意两点之间的最短路可以通过N^2的bfs轻易算出来. 即得到d[N+10][N+10] 考虑s[ ...

  8. MyBatis学习总结(18)——MyBatis与Hibernate区别

    也用了这么久的Hibernate和MyBatis了,一直打算做一个总结,就他们之间的优缺点说说我自己的理解: 首先,Hibernate是一个ORM的持久层框架,它使用对象和我们的数据库建立关系,在Hi ...

  9. 洛谷 P1746 离开中山路

    P1746 离开中山路 题目背景 <爱与愁的故事第三弹·shopping>最终章. 题目描述 爱与愁大神买完东西后,打算坐车离开中山路.现在爱与愁大神在x1,y1处,车站在x2,y2处.现 ...

  10. DSAPI多功能组件编程应用-DS提示气泡

    首先下载DSAPI.dll.并在项目中引用. 该功能包括在DSAPI1.0.1.1及更高版本号,DLL请到本人资源里查找. Private Sub Button1_Click(sender As Ob ...