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 |
|
上午 |
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 java+jsp+SQLServer
1,设计思想(1)在java resourse里定义包和类 (2)在类里定义生成算式,并将算式保存在数据库中的方法 (3)在jsp文件中调用java方法 2,源程序代码 生成算式的方法 public ...
- java+jsp+sqlserver实现简单的增删改查操作 连接数据库代码
1,网站系统开发需要掌握的技术 (1)网页设计语言,html语言css语言等 (2)Java语言 (3)数据库 (4)等 2,源程序代码 (1) 连接数据库代码 package com.jaovo.m ...
- Atitit java jsp 新的tag技术
Atitit java jsp 新的tag技术 1.1. Tag Files vs 原生写 SimpleTag 比较麻烦的 JSP 1.x 允许 Web 开发人员创建 Java 组件(称为标记处 ...
- [转]应聘Java,jsp,j2ee软件工程师笔试中可能出现的问题
相信大家应聘的时候第一关就是笔试,即使是一位很有经验的工程师也不一定能够顺利通过,笔试不好,可能就无法进行面试,即使能够进行面试,考官对你的印象也不会很好,问的问题也会很多,估计很难吃的消,当然如果你 ...
- 《图书管理系统——java》
/* (程序头部凝视開始) * 程序的版权和版本号声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名: < ...
- Java/JSP程序连接不上Mysql驱动问题解决方法
错误提示: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat java.net.URLClassLoader$1.run(URLCla ...
- Java/JSP获得客户端网卡MAC地址的三种方法解析
java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种. 1.通过命令方式,在客户端执行Ipconfig 等等.(java/jsp) 2.通过ActiveX的方法.(jsp) 3.通过向13 ...
- .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 ...
- java:jsp: 一个简单的自定义标签 tld
java:jsp: 一个简单的自定义标签 tld 请注意,uri都是:http://www.tag.com/mytag,保持统一,要不然报错,不能访问 tld文件 <?xml version=& ...
随机推荐
- 搭建自己的koa+mysql后台模板
1.在vscode里面打开一个文件夹 2.cnpm init 3.导入必要的依赖项 "dependencies": { "koa": "^2.7.0& ...
- luogu P3391 【模板】文艺平衡树(Splay) 非旋转treap
Code: #include<bits/stdc++.h> using namespace std; void setIO(string s) { string in=s+".i ...
- centos 7 防火墙配置
centos 7里的防火墙使用的是firewall. 之前问过一个运维大牛,selinux的位置有点尴尬,说他们在工作中一般都会在第一时间关闭掉.我记得当时自己假设网站的时候就被这个坑了大半晚上.这个 ...
- Hive学习:Hive连接JOIN用例详解
1 准备数据: 1.1 t_1 01 张三 02 李四 03 王五 04 马六 05 小七 06 二狗 1.2 t_2 01 11 03 33 04 44 06 66 07 77 08 88 1.3 ...
- 使用展开操符作替代 .apply() (prefer-spread)
在ES2015以前,你必须使用Function.prototype.apply()来调用可变函数. var args = [1, 2, 3, 4]; Math.max.apply(Math, args ...
- STM32 SPI 发送第一个数据不成功问题
STM32的标准库,跟HAL库都是很实用的, 在使用SPI库的过程中一定要注意时序的问题. 我在调试SPI过程中,调试了两个IC,都是用HAL库, 第一个IC没出问题,第二个IC出现了第一次发送数据不 ...
- 【codeforces 812A】Sagheer and Crossroads
[题目链接]:http://codeforces.com/contest/812/problem/A [题意] 有一个小箭头指的那个地方; 指的就是人行道路; 然后p[i]指的就是那4个人行道是不是绿 ...
- mysql5.7官网直译SQL语句优化--分组优化
1.14Group By Optimization 分组优化 大多数方法为了满足分组查询需要扫描整个表并且创建一个临时表,其中每组中的值都是连续的,如果可以使用聚合函数和临时表获取各个分组.在某些情况 ...
- Pointcut is not well-formed: expecting 'name pattern' at character position 36
Pointcut is not well-formed: expecting 'name pattern' at character position 36 学习了:http://blog.csdn. ...
- ACM这一路
出自自己内心的声音. 大学已经读了一年,自己也老了一岁. 从開始的什么都不懂,到如今的懂了也不想多说什么,说多了也是累.在大学其中唯一还在执着的是ACM.这个也是我唯一能执着的东西,由 ...