程序技术好文:软件工程概论第一次课堂测试

简介: 程序技术好文:软件工程概论第一次课堂测试

设计思想:


首先建立一个User类,用于存储教师姓名,课程,以及教室名称,并且写上赋值和取值方法。


然后建立一个工具类用于连接数据库、


建立一个操作类用于访问数据库,对数据库进行添加,遍历。


最后建立一个Tianbiao.jsp,Baocun.jsp俩个jsp文件,Tianbiao.jsp用于输出表,用户输入信息,Baocun.jsp用于判断输入的信息是否符合要求或者是否已经存在。


源代码:


package com.jaovo.msg.Model;


public class User {


private String Username;


private String Kecheng;


private String Didian;


public String getUsername() {


return Username;


}


public void setUsername(String username) {


Username = username;


}


public String getKecheng() {


return Kecheng;


}


public void setKecheng(String kecheng) {


Kecheng = kecheng;


}


public String getDidian() {


return Didian;


}


public void setDidian(String didian) {


Didian = didian;


}


}


工具类:


package com.jaovo.msg.Util;


import java.sql.Connection;


import java.sql.DriverManager;


import java.sql.PreparedStatement;


import java.sql.ResultSet;


import java.sql.SQLException;


public class DBUtil {


public static Connection getConnection()


{


//加载驱动


try {


Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();


} catch (InstantiationException e1) {


// TODO Auto-generated catch block


e1.printStackTrace();


} catch (IllegalAccessException e1) {


// TODO Auto-generated catch block


e1.printStackTrace();


} catch (ClassNotFoundException e1) {


// TODO Auto-generated catch block


e1.printStackTrace();


}


String user = "sa";


String password = "zlq521415";


String url = "jdbc:";// 数据源


Connection con =null;


try {


con = DriverManager.getConnection(url, user, password);


} catch (SQLException e) {


// TODO Auto-generated catch block


e.printStackTrace();


}// 连接数据库对象


return con;


}


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();


}


}


}


package com.jaovo.msg.Util;


public class UserException extends RuntimeException{


public UserException() {


super();


// TODO Auto-generated constructor stub


}


public UserException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {


super(message, cause, enableSuppression, writableStackTrace);


// TODO Auto-generated constructor stub


}


public UserException(String message, Throwable cause) {


super(message, cause);


// TODO Auto-generated constructor stub


}


public UserException(String message) {


super(message);


// TODO Auto-generated constructor stub


}


public UserException(Throwable cause) {


super(cause);


// TODO Auto-generated constructor stub


//代码效果参考:http://www.jhylw.com.cn/222334219.html

}

}


package com.jaovo.msg.Util;


import java.util.HashMap;


import java.util.Map;


import javax.servlet.http.HttpServletRequest;


public class UtilEmpty {


public static boolean validateNull(HttpServletRequest request,String【】 fileds) {


boolean validate = true;


//map对象用来装载不同的错误信息


Map errorMsg = new HashMap();


for(String filed :fileds) {


String value = request.getParameter(filed);


if (value == null || "".equals(value.trim())) {


validate = false;


errorMsg.put(filed, filed+"不能为空");


}


if (!validate) {


request.setAttribute("errormsg", errorMsg);


}


}


return validate;


}


public static String showError(HttpServletRequest request , String filed) {


Map errorMsg = (Map)request.getAttribute("errormsg");


if (errorMsg == null) {


return "";


}


String msg = errorMsg.get(filed);


if (msg == null) {


return "";


}


return msg;


}


}


操作类:


package com.jaovo.msg.Dao;


import java.util.HashMap;


import java.util.Map;


import javax.servlet.http.HttpServletRequest;


import java.sql.Connection;


import java.sql.PreparedStatement;


import java.sql.ResultSet;


import java.sql.SQLException;


import java.util.ArrayList;


import java.util.List;


import com.jaovo.msg.Util.DBUtil;


import com.jaovo.msg.Model.User;


public class UserDao extends User {


public void addMessage(User user) {


//获得连接对象


Connection connection = DBUtil.getConnection();


//创建语句传输对象


PreparedStatement preparedStatement = null;


ResultSet resultSet = null;


try {


//遍历结果集


String sql="insert into teacher (Kecheng,Username,Didian) values (?,?,?)";


preparedStatement=connection.prepareStatement(sql);


preparedStatement.setString(1, user.getKecheng());


preparedStatement.setString(2, user.getUsername());


preparedStatement.setString(3, user.getDidian());


preparedStatement.executeUpdate();


} catch (SQLException e) {


// TODO Auto-generated catch block


e.printStackTrace();


}finally{


//关闭资源


DBUtil.close(resultSet);


DBUtil.close(preparedStatement);


DBUtil.close(connection);


}


}


public boolean load(User user) {


boolean jud=true;


//获得连接对象


Connection connection = DBUtil.getConnection();


//准备sql语句


String sql = "select * from teacher where Username=?";


//创建语句传输对象


PreparedStatement preparedStatement = null;


ResultSet resultSet=null;


try {


preparedStatement=connection.prepareStatement(sql);


preparedStatement.setString(1, user.getUsername());


resultSet=preparedStatement.executeQuery();


while(resultSet.next())


{


if((user.getUsername().equals(resultSet.getString("Username")))&&(user.getDidian().equals(resultSet.getString("Didian")))&&(user.getKecheng().equals(resultSet.getString("Kecheng"))))


{jud=false;}


}


} catch (SQLException e) {


// TODO Auto-generated catch block


e.printStackTrace();


}finally{


DBUtil.close(resultSet);


DBUtil.close(preparedStatement);


DBUtil.close(connection);


}


return jud;


}


public static boolean validate(User user)


{


boolean validate = false;


String jiaoshi【】={"王建民","刘丹","刘立嘉","王辉"};


for(int i=0;i<4;i++)


{


if(user.getUsername().equals(jiaoshi【i】))


validate=true;


}


return validate;


}


public static boolean validate1(User user) {


boolean validate = false;


String didian【】={"基教","一教","二教","三教"};


for(int i=0;i<4;i++)


{


if(user.getDidian().startsWith(didian【i】))


validate=true;


}


return validate;


}


}


<%@page import="com.jaovo.msg.Dao.UserDao"%>


<%@page import="com.jaovo.msg.Util.UtilEmpty"%>


<%@page import="com.jaovo.msg.Util.UserException"%>


<%@page import="com.jaovo.msg.Model.User"%>


<%@ page language="java" contentType="text/html; charset=UTF-8"


pageEncoding="UTF-8"%>


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""

[/span>html

[/span>head

[/span>meta http-equiv="Content-Type" content="text/html; charset=UTF-8"

[/span>title


[/span>body background="C:\Users\张强\Pictures\Saved Pictures/1505615532655.jpg"

<%


String kecheng = request.getParameter("kecheng<span style="background-color: rgba(245, 245,

相关文章
|
1月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
50 4
|
2月前
|
前端开发 JavaScript 测试技术
前端测试技术中,如何提高集成测试的效率?
前端测试技术中,如何提高集成测试的效率?
|
1月前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
107 13
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
73 1
|
3月前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
183 32
|
2月前
|
数据采集 前端开发 安全
前端测试技术
前端测试是确保前端应用程序质量和性能的重要环节,涵盖了多种技术和方法
|
2月前
|
前端开发 JavaScript 测试技术
前端小白逆袭之路:如何快速掌握前端测试技术,确保代码质量无忧!
【10月更文挑战第30天】前端开发技术迭代迅速,新手如何快速掌握前端测试以确保代码质量?本文将介绍前端测试的基础知识,包括单元测试、集成测试和端到端测试,以及常用的测试工具如Jest、Mocha、Cypress等。通过实践和学习,你也能成为前端测试高手。
69 4
|
2月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
2月前
|
机器学习/深度学习 人工智能 安全
探索AI在软件工程中的最新应用:自动化测试与代码审查
探索AI在软件工程中的最新应用:自动化测试与代码审查
|
3月前
|
机器学习/深度学习 存储 监控
深入解析软件测试中的自动化测试技术
本文旨在全面探讨软件测试中的自动化测试技术。通过对自动化测试的定义、优势、常见工具和实施步骤的详细阐述,帮助读者更好地理解和应用自动化测试。同时,本文还将讨论自动化测试的局限性及未来发展趋势,为软件测试人员提供有益的参考。
118 6