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

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

设计思想:


首先建立一个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,

相关文章
|
13天前
|
机器学习/深度学习 人工智能 算法
深入探索软件测试中的黑盒测试技术
本文旨在通过一个创新视角,探讨软件测试领域中的黑盒测试技术。我们将从一个全新的维度——测试用例的生成策略出发,分析如何提高黑盒测试的效率和效果。文章不仅会介绍传统的测试用例设计方法,如等价类划分、边界值分析等,还会结合最新的技术发展,讨论人工智能在黑盒测试中的应用前景。通过案例分析和实践应用,我们期望为读者提供一套系统的黑盒测试解决方案,以应对日益复杂的软件测试需求。
|
9天前
|
机器学习/深度学习 人工智能 测试技术
探索自动化测试的前沿技术与实践
自动化测试作为提升软件开发效率和质量的关键工具,正经历着前所未有的变革。随着人工智能、机器学习、云计算等技术的融合与创新,自动化测试不断突破传统界限,展现出更智能、更高效、更灵活的发展趋势。本文将深入探讨自动化测试领域的最新技术进展,分析其在现代软件开发中的应用,并讨论如何有效整合这些技术以最大化测试效率和准确性。
|
9天前
|
人工智能 程序员 API
通义万相AIGC技术的测试体验
通义万相AIGC技术的测试体验
25 2
|
10天前
|
机器学习/深度学习 人工智能 机器人
现代软件测试中的自动化工具与技术
随着软件开发复杂性的增加,自动化测试在现代软件开发中变得至关重要。本文探讨了当前流行的自动化测试工具和技术,以及它们如何提高软件质量、加快发布速度和降低成本。
22 1
|
13天前
|
机器学习/深度学习 人工智能 Devops
探索软件测试自动化的未来:技术挑战与机遇
随着软件开发周期的不断缩短和复杂性的增加,软件测试自动化在确保质量和效率方面扮演着越来越重要的角色。本文将深入探讨软件测试自动化的发展现状、面临的技术挑战以及未来的机遇。
14 2
|
17天前
|
机器学习/深度学习 敏捷开发 人工智能
探索软件测试中的AI辅助技术
【6月更文挑战第12天】在软件开发生命周期中,测试环节是确保产品质量的关键环节。随着人工智能技术的飞速发展,AI辅助的软件测试方法正在改变传统的测试流程。本文将探讨AI如何优化测试过程,提高缺陷检测的准确性和效率,并预测未来AI在软件测试领域的应用趋势。
25 1
|
19天前
|
编译器 测试技术 Linux
技术洞察:循环语句细微差异下的性能探索(测试while(u--);和while(u)u--;的区别)
该文探讨了两种循环语句(`while(u--);` vs. `while(u) u--;`)在性能上的微妙差异。通过实验发现,后者比前者平均执行速度快约20%,原因在于循环条件检查的顺序影响了指令数量。尽管差异可能在多数情况下不显著,但在性能关键的代码中,选择合适的循环结构能优化执行效率。建议开发者在编写循环时考虑编译器优化和效率。未来研究可扩展到不同编译器、优化级别及硬件架构的影响。
|
1天前
|
机器学习/深度学习 人工智能 监控
探索自动化测试的前沿技术与实践
在软件开发周期中,自动化测试已成为确保软件质量和效率的关键因素。本文旨在探讨自动化测试的最新技术和实践方法,通过分析当前行业内的最佳实践和面临的挑战,提供一系列针对性的策略和建议。我们将深入讨论如何有效集成自动化工具、优化测试流程、以及提升测试覆盖率和精确度。文章结合了权威的数据支持和技术分析,旨在为读者提供实用的指导和见解,帮助他们在不断变化的技术环境中保持竞争力。
8 0
|
3天前
|
机器人 定位技术 C++
技术笔记:ROS中测试机器人里程计信息
技术笔记:ROS中测试机器人里程计信息
|
3天前
|
XML 测试技术 Linux
技术笔记:sipp重放rtp数据测试FreeSWITCH
技术笔记:sipp重放rtp数据测试FreeSWITCH