软件工程概论课堂测试一————添加新课程(web)
设计思想
三个文件Class_add.java add.jsp addInput.jsp
Class_add.java : 内封装方法:连接数据库、向数据库添加课程信息、判断非合理的输入情况、判断添加的课程是否重复。
addInput.jsp : 完成显示输入界面,点击保存后跳转到addInput.jsp。
add.jsp : 处理输入的数据,并给出相应的交互提示。
源程序代码
Class_add.java :
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class Classe_add
{ private String className;
private String teacher;
private String classSpace; 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 getClassSpace() {
return classSpace;
}
public void setClassSpace(String classSpace) {
this.classSpace = classSpace;
} public Connection getConnection()
{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundException e)
{
e.printStackTrace();
}
String user="SYH";
String password="q735415630q";
String url ="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Test";
Connection con=null;
try{
con=DriverManager.getConnection(url,user,password);
}catch(SQLException e)
{
e.printStackTrace();
}
return con;
}
public void addClass(String className,String teacher,String classSpace )
{
int judge=1;
Connection connection = getConnection();
String sql="select count(*) from class_add where className = ?"; PreparedStatement preparedStatement=null;
ResultSet resultSet=null; try {
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1, className); resultSet = preparedStatement.executeQuery();
while(resultSet.next())
{
if (resultSet.getInt(1) > 0)
{
System.out.println("课程已存在,无法添加") ;
judge=0;
}
}
if(judge==1)
{
sql = "insert class_add (className,teacher,classSpace) values (?,?,?)";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1,className);
preparedStatement.setString(2,teacher);
preparedStatement.setString(3,classSpace);
preparedStatement.executeUpdate();
System.out.println("添加成功") ;
}
} catch (SQLException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
finally
{
close(resultSet);
close(preparedStatement);
close(connection);
}
} public void close (Connection con)
{
try{
if(con!=null)
{
con.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
public void close (PreparedStatement preparedStatement)
{
try{
if(preparedStatement!=null)
{
preparedStatement.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
public void close(ResultSet resultSet)
{
try{
if(resultSet!=null)
{
resultSet.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
public boolean judgeInputNull(String className,String teacher,String classSpace)
{
boolean flag=false;
if(className==null||"".equals(className)&&teacher==null||"".equals(teacher)&&classSpace==null||"".equals(classSpace))
{
flag=true;
}
return flag;
}
public boolean judgeClassRepeat(String className,String teacher,String classSpace)
{ boolean flag=false; Connection connection = getConnection();
String sql="select * from class_add where className = ?"; PreparedStatement preparedStatement=null;
ResultSet resultSet=null;
try {
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1, className);
resultSet = preparedStatement.executeQuery();
while(resultSet.next())
{ if(teacher.equals(resultSet.getString("teacher"))&&classSpace.equals(resultSet.getString("classSpace")))
{
flag=true;
}
}
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
close(resultSet);
close(preparedStatement);
close(connection);
}
return flag;
}
public boolean judeInputTeacher(String teacher)
{
boolean flag=false;
if((!teacher.equals("王建民"))&&!teacher.equals("刘立嘉")&&!teacher.equals("刘丹")&&!teacher.equals("王辉")&&!teacher.equals("杨子光"))
{
flag=true;
} return flag;
}
public boolean judgeInputClassSpace(String space)
{
boolean flag=false;
if(!space.startsWith("一教")&&!space.startsWith("二教")&&!space.startsWith("三教")&&!space.startsWith("基教"))
{
flag=true;
}
return flag;
}
public static void main(String[] args)
{
Classe_add a=new Classe_add();
System.out.println(a.judgeClassRepeat("软件工程", "王建民", "基教405")); }
}
addInput.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=utf-8">
<title>课程添加页面 </title>
</head>
<body background="C:\Users\win8\workspace\Arithmetic\image\d602adc701a429f16a32aac5579f113e_7205982_162234868593_2.jpg">
<center style="color:white;font-family:楷体; font-size:20px">
<form action="add.jsp" method="get"> <br>
课程名称:
<input type="text" name="className" />
<br><br> 任课教师:
<input type="text" name="teacher" />
<br><br> 上课地点:
<input type="text" name="classSpace" />
<br><br> <input type="submit" value="保存" />
<input type="reset" value="重置" />
</form>
</center>
</body>
</html>
add.jsp :
<%@page import="util.Classe_add"%>
<%@ 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=utf-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="util" class="util.Classe_add" scope="page" />
<% Classe_add a=new Classe_add(); String className=(String)request.getParameter("className");
String teacher=(String)request.getParameter("teacher");
String classSpace=(String)request.getParameter("classSpace");
if(util.judgeInputNull(className, teacher, classSpace))
{ out.print("<script language ='javaScript'> alert('输入不能为空,请输入');window.history.back(-1); </script>");
//response.setHeader("refresh", "0;url=addInput.jsp");
}
else if(util.judeInputTeacher(teacher))
{
out.print("<script language='javaScript'> alert('该老师不存在,重新输入');window.history.back(-1);</script>");
// response.setHeader("refresh", "0;url=addInput.jsp");
}
else if(util.judgeInputClassSpace(classSpace))
{
out.print("<script language='javaScript'> alert('教室不存在,重新输入');window.history.back(-1);</script>");
//response.setHeader("refresh", "0;url=addInput.jsp");
}
else if(util.judgeClassRepeat(className, teacher, classSpace))
{
out.print("<script language='javaScript'> alert('该课程已存在');window.history.back(-1);</script>");
// response.setHeader("refresh", "0;url=addInput.jsp");
}
else { util.addClass(className,teacher,classSpace);
out.print("<script language='javaScript'> alert('添加成功');</script>");
response.setHeader("refresh", "0;url=addInput.jsp");
} %>
</body>
</html>
运行结果截图
界面:

什么都不输入:

正常输入;


重复输入:


PSP0级记录开发过程
项目计划日志

时间记录日志

缺陷记录日志

软件工程概论课堂测试一————添加新课程(web)的更多相关文章
- RegisterUserFunc为测试对象添加新方法或重写已有方法
QTP中为了提高扩展性,提供了一个为测试对象添加一个新的自定义方法,或者重写测试对象已有的方法的函数RegisterUserFunc,在此给大家分享一下. RegisterUserFunc:为测试对象 ...
- java web 增加信息课堂测试00
按照图片要求设计添加新课程界面.(0.5分)在后台数据库中建立相应的表结构存储课程信息.(0.5分)实现新课程添加的功能.要求判断任课教师为王建民.刘立嘉.刘丹.王辉.杨子光五位教师的其中一位.(0. ...
- squid节点添加新域名测试
squid节点添加新域名 测试是否缓存成功 #!/bin/bash #-- clear #清屏 方便输出结果观看 url=* #需要测试的url array_node[]="*" ...
- Oracle 11g rac 添加新节点测试
[转]https://blog.csdn.net/shiyu1157758655/article/details/60877076 前期准备: 操作系统设置OS版本必须相同,检查内核参数,系统内存.C ...
- 2017-2018-1 20155330 《信息安全系统设计基础》第10周课堂测试&课下作业
2017-2018-1 20155330 <信息安全系统设计基础>第10周课堂测试&课下作业 stat命令的实现-mysate 学习使用stat(1),并用C语言实现 提交学习st ...
- 20145209刘一阳《JAVA程序设计》第六周课堂测试
第六周课堂测试 1.现有以下代码,哪些选项插入到第5行可以通过编译?(BDF) 1.import java.util.*; 2. 3.Class FindStuff { 4.public static ...
- 20145209刘一阳《JAVA程序设计》第一周课堂测试
第一周课堂测试 1.下列不属于Java后继技术的是(D) A .Android B .JSP C .XML D .Python 2.下列关于Java语言特点的描述,正确的一组是(C) A .面向过程: ...
- 【译】Meteor 新手教程:在排行榜上添加新特性
原文:http://danneu.com/posts/6-meteor-tutorial-for-fellow-noobs-adding-features-to-the-leaderboard-dem ...
- 一个新人如何学习在大型系统中添加新功能和Debug
文章背景: 今年七月份正式入职,公司主营ERP软件,楼主所在的组主要负责二次开发,使用的语言是Java. 什么叫二次开发呢?ERP软件的客户都是企业.而这些企业之间的情况都有所不同,一套标准版本的企业 ...
随机推荐
- django视图层(views)
1.视图层概念 视图函数,其实就是一个简单的函数,它接收web请求并返回web响应(响应的可以是一个html,一个重定向,一个xml文档等等) 每个视图函数都负责返回一个HttpResponse对象. ...
- java Web 常见错误集锦 及解决方法
只能删除pid为整数的商品,32位的pid商品不能删除? 原因onclick="agree('${s.pid}')" 括号中需要加 ' ' 删除多余的工作空间? 使用prefer ...
- javaWeb基础 javascript bom5个对象
bom 也称为浏览器对象 browser object model(浏览器对象模型),由五个对象组成: Window:浏览器窗口 最顶层对象. Navigator :浏览器对 ...
- Pop–实现任意iOS对象的任意属性的动态变化
简介 Pop 是一个可扩展的动画引擎,可用于实现任意iOS对象的任意属性的动态变化,支持一般动画,弹性动画和渐变动画三种类型. 项目主页: pop 最新示例: 点击下载 注意: 官方代码中,并不包含实 ...
- hdu_3501_Calculation 2
Given a positive integer N, your task is to calculate the sum of the positive integers less than N w ...
- 高封装的property方法
class Person(): def __init__(self): self.__age = 0 def set_age(self, age): if age < 0 or age > ...
- 【jQuery】手机验证码倒计时效果
<ul class="ulist"> <li class="group"> <label class="label&qu ...
- Laravel操作上传文件的方法
1.获取上传的文件 $file=$request->file('file');2.获取上传文件的文件名(带后缀,如abc.png) $filename=$file->getClientOr ...
- C# 创建新线程
首先需要包含命名空间 using System.Threading; 然后创建进程 Thread th = new Thread(new ThreadStart(ThreadMethod)); //创 ...
- 2,MongoDB之增删改查及pymongo的使用
本章我们来学习一下关于 MongoDB的增删改查 一.MongoDB操作 之 原生ORM,根本不存在SQL语句 创建数据库:这里和一般的关系型数据库一样,都要先建立一个自己的数据库空间 是的,Mong ...