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

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

设计思想:


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

相关文章
|
5天前
|
前端开发 JavaScript 测试技术
前端测试技术中,如何提高集成测试的效率?
前端测试技术中,如何提高集成测试的效率?
|
5天前
|
数据采集 前端开发 安全
前端测试技术
前端测试是确保前端应用程序质量和性能的重要环节,涵盖了多种技术和方法
|
1月前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
108 32
|
12天前
|
前端开发 JavaScript 测试技术
前端小白逆袭之路:如何快速掌握前端测试技术,确保代码质量无忧!
【10月更文挑战第30天】前端开发技术迭代迅速,新手如何快速掌握前端测试以确保代码质量?本文将介绍前端测试的基础知识,包括单元测试、集成测试和端到端测试,以及常用的测试工具如Jest、Mocha、Cypress等。通过实践和学习,你也能成为前端测试高手。
31 4
|
17天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
17天前
|
人工智能 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
|
17天前
|
安全 大数据 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(3-2):渗透测试行业术语扫盲)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(3-2):渗透测试行业术语扫盲)作者——LJS
|
17天前
|
SQL 安全 网络协议
网络空间安全之一个WH的超前沿全栈技术深入学习之路(1-2):渗透测试行业术语扫盲)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(1-2):渗透测试行业术语扫盲)作者——LJS
|
1月前
|
机器学习/深度学习 存储 监控
深入解析软件测试中的自动化测试技术
本文旨在全面探讨软件测试中的自动化测试技术。通过对自动化测试的定义、优势、常见工具和实施步骤的详细阐述,帮助读者更好地理解和应用自动化测试。同时,本文还将讨论自动化测试的局限性及未来发展趋势,为软件测试人员提供有益的参考。
65 6
|
1月前
|
安全 Linux 网络安全
Kali渗透测试:远程控制程序基础
Kali渗透测试:远程控制程序基础
Kali渗透测试:远程控制程序基础

热门文章

最新文章