软概(lesson 2):课堂测试

一、测试题目

 

二、完成过程

1.设计思想

①连接mysql数据库

②设计user类,增加参数

③设计add类,向数据库内增加内容

④设计addInput页面,完成录入操作

⑤设计add页面,接收录入的参数,并调用add类函数

2.源代码

user.java

package xihuan;public class User {private String kcmc;private String rkjs;private String skdd;public String getKcmc() {return kcmc;}public void setKcmc(String kcmc) {this.kcmc = kcmc;}public String getRkjs() {return rkjs;}public void setRkjs(String rkjs) {this.rkjs = rkjs;}public String getSkdd() {return skdd;}public void setSkdd(String skdd) {this.skdd = skdd;}}

  add.java

package xihuan;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class add{public void add1(User user) {//获得链接对象Connection connection = DBUtil.getConnection();//准备sql语句String sql = "select count(*) from t_user where 'kcmc' = ?";//创建语句传输对象PreparedStatement preparedStatement = null;ResultSet resultSet = null;try {preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1, user.getKcmc());//接收结果集resultSet = preparedStatement.executeQuery();//遍历结果集sql = "insert into t_user(kcmc,rkjs,skdd) value (?,?,?)";preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1, user.getKcmc());preparedStatement.setString(2, user.getRkjs());preparedStatement.setString(3, user.getSkdd());preparedStatement.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {//关闭资源DBUtil.close(resultSet);DBUtil.close(preparedStatement);DBUtil.close(connection);}}
}

  DBUtil.java

package xihuan;
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 {//1 加载驱动Class.forName("com.mysql.jdbc.Driver").newInstance();} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}String user = "root";String password = "root";String url = "jdbc:mysql://localhost:3306/web1?useUnicode=true&characterEncoding=utf-8&useSSL=false";Connection connection = null;try {//2 创建链接对象connectionconnection = DriverManager.getConnection(url,user,password);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return connection;}//关闭资源的方法public static void close(Connection connection ) {try {if (connection != null) {connection.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void close(PreparedStatement preparedStatement ) {try {if (preparedStatement != null) {preparedStatement.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void close(ResultSet resultSet ) {try {if (resultSet != null) {resultSet.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

  UserException

package xihuan;
public class UserException extends RuntimeException{public UserException() {super();// TODO Auto-generated constructor stub}public UserException(String arg0, Throwable arg1, boolean arg2, boolean arg3) {super(arg0, arg1, arg2, arg3);// TODO Auto-generated constructor stub}public UserException(String arg0, Throwable arg1) {super(arg0, arg1);// TODO Auto-generated constructor stub}public UserException(String arg0) {super(arg0);// TODO Auto-generated constructor stub}public UserException(Throwable arg0) {super(arg0);// TODO Auto-generated constructor stub}}

  addInput1.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>
<title>用户添加页面</title>
</head>
<body><form action="add1.jsp" method="get"><table align="center" border="1"><tr ><td>课程名称:</td><td><input type="text" name="kcmc"/></td></tr><tr><td>任课教师:</td><td><select name="rkjs"><option value="王建民">王建民</option><option value="刘丹">刘丹</option><option value="刘立嘉">刘立嘉</option><option value="王辉">王辉</option><option value="杨子光">杨子光</option>                   </select></td></tr><tr><td>上课地点:</td><td><select name="skdd"><option value="基教">基教</option><option value="一教">一教</option><option value="二教">二教</option><option value="三教">三教</option></td><td><input type="text" name="jt"/></td></tr><tr align="center"><td colspan="2"><input type="submit" value="保存" /></td></tr></table></form>
</body>
</html>

  add1.jsp

<%@page import="xihuan.*"%>
<%@ 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>
<%//接受客户端传递过来的参数String kcmc= request.getParameter("kcmc"); String rkjs= request.getParameter("rkjs");String skdd= request.getParameter("skdd");String jt= request.getParameter("jt");User f=new User();f.setKcmc(kcmc);f.setSkdd(skdd+jt);f.setRkjs(rkjs);add a = new add();a.add1(f);
%><body>保存成功<br>
</body>
</html>

三、结果显示

三、psp0级

1.项目计划总结

时间计划:上课时间10点-10点40,下午2点-3点,晚上6点-7点

内容规划:上午完成最基本的连接录入,下午完成中间的异常情况,晚上撰写博客园总结收获

2.时间记录日志

实际时间:10点开始-10点43,下午1点42-2点24,晚上6点28-7点10,共计约2小时

内容基本完成

3.缺陷记录日志

①界面不美观

②有一些异常处理没有写到,比如录入为空时

 

四、实验总结

这次实验完成的很顺,因为前一天晚上看了四个多小时关于这方面的操作,主要是中间那部分选择老师和地点的,我没有按照老师的要求,而是做了一个下拉菜单,因为我看课程表都是可以选择的,这样更加方便一些。

 

转载于:https://www.cnblogs.com/cairsha/p/7911522.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281757.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌Gboard输入法新增“无痕模式”:仅在Chrome隐身窗口中适用

据外媒Android Police报道&#xff0c;如大家所知道的&#xff0c;Chrome浏览器中的“隐身模式”是为了防止你的私密浏览记录被其他人看到&#xff0c;但是&#xff0c;在这种模式下&#xff0c;你的输入法键盘依然会记住你输入的短语&#xff0c;为了阻止你的键盘在Chrome隐身…

php两个数组融合,php合并两个数组的方式有哪些

1、arrary_merge示例代码&#xff1a;$arr1 array(1, 2, 3, 4, 5);$arr2 array(1, 2, 6, 7, 8, 9, 10);$result1 array_merge($arr1, $arr2);$arr3 array("name" > "itbsl", "age" > 13, "sex" > "Male");$arr…

最近对latin-1这个字符集产生了不少好感

【简介】 最近我要解析一个数据库中间件的日志、这个中间件会在日志中记录SQL发往的后台DB ,执行耗时&#xff0c;对应的SQL&#xff1b;中间件直接把SQL写到 了日志中去&#xff0c;并没有对SQL进行适当的编码转换&#xff1b;理想情况下这个也不会有什么问题&#xff0c;不幸…

面象对象设计原则之六:迪米特原则(LeastKnowledge Principle, LKP)

迪米特法则来自于1987年美国东北大学(Northeastern University)一个名为“Demeter”的研究项目。迪米特法则又称为最少知识原则(LeastKnowledge Principle, LKP)&#xff0c;其定义如下&#xff1a; 迪米特法则(Law of Demeter, LoD)&#xff1a;一个软件实体应当尽可能少地与…

其他对象的表单

1.textarea&#xff1a; textarea对象就想是input对象中的text样式的表单&#xff0c;只不过是扩展过的text样式表单。它可以通过行&#xff08;rows&#xff09;属性和列&#xff08;cols&#xff09;属性来编辑文本域的大小。最常见于留言板、论坛时回帖时的文本框等。 <h…

WinForm(十三)WebView2

WebView是WinForm框架中一个控件&#xff0c;用来对网页信息交互&#xff0c;有时Web自己开发的&#xff0c;有时Web是三方的。下面通过一个例子来看看WebView2的使用。首先看Web的逻辑&#xff0c;是一个商品添加页面&#xff0c;用AlpineJS和BootStrap来开发的&#xff0c;业…

Fluent UDF【4】:C语言

Fluent UDF利用的是C语言&#xff0c;本文简单介绍在UDF中经常会用到的C语言常识。 本文部分内容来自UDF手册。 1 C语言中的注释 C语言中的注释利用/*及*/来实现。例如: /*这是一个注释*/ 注释也可以跨行实现&#xff0c;如: /*这是一个 跨行注释*/ 注意:在编写UDF的过程中&…

java 画砖块,钢笔画入门:教你画砖块

说到砖块很多朋友会想到搬砖&#xff0c;绘画吧今天要教大家用钢笔画一块砖&#xff0c;因为画建筑的时候经常要画砖墙&#xff0c;我们先从简单的砖块学起&#xff0c;之后绘画吧会给大家分享画一面砖墙的哦。绘制要点&#xff1a;本教程的主体物选择了一块有小残缺面的砖头。…

[转] Node.js的线程和进程

[From] http://www.admin10000.com/document/4196.html 前言 很多Node.js初学者都会有这样的疑惑&#xff0c;Node.js到底是单线程的还是多线程的&#xff1f;通过本章的学习&#xff0c;能够让读者较为清晰的理解Node.js对于单/多线程的关系和支持情况。同时本章还将列举一些让…

第三方支付异步通知的陷阱

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/j16421881/article/details/78703792 用户下单后调用第三方支付付款&#xff0c;然后接收第三方支付的异步通知&#xff0c;以便确认支付是否成功。 如下图 但异步通知可能…

2.3 万 Star,Nginx 可视化配置工具

你好&#xff0c;这里是 Dotnet 工具箱&#xff0c;定期分享 Dotnet 有趣&#xff0c;实用的工具或组件&#xff0c;希望对您有用&#xff01;对于前后端开发工程师来说&#xff0c; Nginx 是必须掌握的工具&#xff0c;因为它不仅仅是一个 Web Server&#xff0c;还包含了其他…

城市智慧停车系统方案的产品设计体系介绍

最近几年随着大数据技术快速发展与应用&#xff0c;智慧城市随即被正式提出。而且&#xff0c;我们也可以深刻感受到“智慧”正在慢慢改变我们的生活方式和城市。要让城市变智慧的地方太多太多&#xff0c;当前我们接触做多的可能就是外出停车&#xff0c;比如很多商场的停车系…

vue.js:利用vue.js做一个抽奖小游戏

MVVM模式是什么&#xff1a;MModel(模型)&#xff0c;VView&#xff08;视图&#xff09;,VM ViewModel(简写成MVVM) . 代码如下&#xff1a; 运行代码结果&#xff1a; 1.你没有中奖&#xff1a; 2.恭喜你&#xff0c;你中奖了&#xff1a; 转载于:https://www.cnblogs.com/ya…

滚动加载数据 php,无刷新动态加载数据 滚动条加载适合评论等页面

滚屏加载更多数据,适合评论等页面本例的数据库很简单&#xff0c;一看就明了复制代码 代码如下:$querymysql_query("select * from content order by id desc limit 0,10");while ($rowmysql_fetch_array($query)) {?>js文件复制代码 代码如下:$(function(){var …

国际主流固件接口组织UEFI全面支持LoongArch,龙架构已完成上游TianoCore EDK2代码合并...

2022年9月初&#xff0c;UEFI官方组织在发布的UEFI specification V2.10规范中全面支持了LoongArch64架构以及部分LoongArch32架构。近期&#xff0c;龙芯团队又完成了LoongArch基础代码与UEFI上游TianoCore EDK2的合并&#xff0c;LoongArch进入TianoCore EDK2主分支&#xff…

Invalidate和postInvalidate

为什么80%的码农都做不了架构师&#xff1f;>>> Android提供了Invalidate方法实现界面刷新&#xff0c;但是Invalidate不能直接在线程中调用&#xff0c;因为他是违背了单线程模型&#xff1a;android UI操作并不是线程安全的&#xff0c;并且这些操作必须在UI线程…

.Net轻松处理亿级数据--clickhouse及可视化界面安装介绍

前言我是在17年就听说过Clickhouse,那时还未接触过亿数据的运算&#xff0c;那时我在的小公司对于千万数据的解决方案还停留在分库分表&#xff0c;最好的也是使用mycat做的集群。这些解决方案都比较复杂&#xff0c;毕竟通常来说那些需要大量存储的数据基本都是像日志&#xf…

NET CORE读取Excel.xlsx单元格内的图片,并关联当前业务ID推送图片到指定服务器...

NET CORE读取Excel.xlsx单元格图片的场景&#xff0c;一般是批量导入业务数据&#xff0c;例如&#xff1a;药品的图片&#xff0c;医师资格证&#xff0c;商品上架、商家营业资质、水果信息、用户头像等等这里我截个图&#xff0c;图文并茂更好理解特别声明&#xff1a;粘贴图…

RocketMQ 5.0 大手笔,拥抱云原生,支持流处理,高可用架构升级!

大家好&#xff0c;我是君哥。RocketMQ 5.0 已经发布一段时间了&#xff0c;今天来分享一下 RocketMQ 5.0 有哪些新特性。1 架构变化RocketMQ 5.0 架构上的变化主要是为了更好的走向云原生。RocketMQ 4.x 架构如下&#xff1a;Broker 向 Name Server 注册 Topic 路由信息&#…

php验证码显示乱码,如何解决php验证码乱码问题

php验证码乱码的解决办法&#xff1a;1、修改访问验证码生成方法函数的路径&#xff1b;2、修改文件编码&#xff0c;并去掉BOM头&#xff1b;3、检查验证码生成方法&#xff1b;4、修改服务环境。具体问题&#xff1a;php验证码输出全是乱码...<?php session_start();head…