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

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

设计思想:


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

相关文章
|
11月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
274 4
|
3月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
4月前
|
数据采集 人工智能 监控
人工智能驱动的软件工程:测试左移的崛起价值
本文探讨了人工智能驱动下测试左移理念在软件工程中的重要性,分析测试工程师在需求评估、AI代码生成及遗留系统优化中的关键作用,揭示AI带来的挑战与机遇,并指出测试工程师需提升技能、关注合规与可维护性,以在AI时代保障软件质量。
335 89
|
安全 JavaScript 前端开发
AppSpider 7.5.020 发布 - Web 应用程序安全测试
AppSpider 7.5.020 for Windows - Web 应用程序安全测试
76 0
|
2月前
|
人工智能 Java 测试技术
单元测试覆盖率的自动控制技术
Jacoco是Java程序覆盖率工具,可以在pom.xml通过配置来自动控制程序的覆盖率
83 5
|
2月前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
100 4
|
3月前
|
人工智能 资源调度 jenkins
精准化回归测试:大厂实践与技术落地解析
在高频迭代时代,全量回归测试成本高、效率低,常导致关键 bug 漏测。精准化测试通过代码变更影响分析,智能筛选高价值用例,显著提升测试效率与缺陷捕获率,实现降本增效。已被阿里、京东、腾讯等大厂成功落地,成为质量保障的新趋势。
|
6月前
|
监控 安全 测试技术
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
205 14
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
|
7月前
|
安全 测试技术 Linux
Acunetix v25.4 发布 - Web 应用程序安全测试
Acunetix v25.4 (Linux, Windows) - Web 应用程序安全测试
228 3
Acunetix v25.4 发布 - Web 应用程序安全测试
|
6月前
|
安全 Devops 测试技术
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
145 0
AppSpider 7.5.018 for Windows - Web 应用程序安全测试