一个Java系统测试
实验感受:
本次实验最大的感受,就是不要改代码,自己写,代码改起来真的没完没了,不知道会出现什么问题。还有就是一定要清楚自己要怎么去写,流程很重要,一个个功能去实现。
主界面
数据库
主页面代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
<head>
<title>库存物资信息录入 </title> <%--页面标题--%>
<body>
<div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">
<img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>
</div>
<script type="text/javascript" language="JavaScript"> //JS
function validate()
{
var name = document.forms[0].name.value; //创建变量name
var factory = document.forms[0].factory.value; //创建变量teacher
var id = document.forms[0].id.value;
var standard = document.forms[0].standard.value; //创建变量address
if(name.length <= 0){ //判断姓名位数,必填
alert("名称不能为空,请输入名称!");
return false;
}
else if(factory.length <= 0){ //判断年龄,必填
alert("请输入合法生产工厂!");
return false;
}
else if(id.length <= 0){ //判断学号位数,必填
alert("型号不能为空,请输入型号!");
return false;
} else if(standard.length <= 0){ //专业为必填
alert("规格不能为空,请输入商品规格!");
return false;
}
else{
return true;
}
//document.getElementById("form").submit();
}
</script>
</head>
<body>
<div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">
<img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>
</div>
<br><%--换行--%>
<center>
<h2>库存商品信息录入</h2><hr size="1" noshade color="#000000"><%--横线--%>
<form action="insert.jsp" method="post" id="form" onSubmit="return validate()" ><%--跳转到insert.jsp文件,方法为post--%>
<table width="800" border="0" align="center"> <%--表格的宽为800,居中对齐--%>
<tr>
<td>库存商品名称:
<input type="text" name="name"></td>
</tr>
<tr>
<td>生产工厂:
<input type="text" name="factory"></td>
</tr>
<tr>
<td>型号: <input type="text" name="id"> </td>
</tr>
<tr>
<td>规格: <input type="text" name="standard"> </td>
</tr>
<tr>
<td> <input name="submit" type="submit" value="保存"/></td>
</tr>
</table>
<p> </p>
</form>
<a href="show.jsp">查询所有库存商品信息</a> <%--链接到学生信息查询页面--%>
</center>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<%
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
<head>
<base href="<%=basePath%>"> <%--设置基础路径--%>
<title>库存商品信息删除界面</title> <%--页面标题--%>
</head>
<body>
<div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">
<img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>
</div>
<%
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
String name = request.getParameter("name");
Connection conn = null; //定义静态数据库连接 //定义静态数据库连接
Statement stat = null;
ResultSet rs = null; //将rs滞空。
conn = DBUtil.getConnection();
stat = conn.createStatement();
stat.executeUpdate("delete from good where name = '" + name + "'"); //删除data表中的name字段
rs = stat.executeQuery("select * from good"); //查找data表
if(rs.next()) //判断结果集
{
out.print("<center><br><br><h3>删除成功!</h3></center>");
}
else{
out.print("<center><h3>删除失败!</h3></center>");
}
%>
<br>
<br>
<center><a href=add.jsp>返回添加库存商品信息页面</a><br/><br/><a href=show.jsp>返回库存商品信息查询页面</a></center> <%--设置居中--%>
<%
if(rs != null)
{
rs.close(); //关闭结果集,但是rs还是有null值。
rs = null; //将rs滞空。
}
if(stat != null)
{
stat.close(); //关闭stat。
stat = null; //滞空stat。
}
if(conn != null)
{
conn.close(); //关闭数据库连接
conn = null;
}
%>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<%
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
<head>
<title>库存商品信息</title> <%--页面标题--%>
<body>
<div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">
<img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>
</div>
<%--JS--%>
<script type="text/javascript"">
function validate()
{
var name = document.forms[0].name.value;
var factory = document.forms[0].factory.value;
var id = document.forms[0].id.value;
var standard = document.forms[0].standard.value;
if(name.length <= 0){ //判断姓名位数,必填
alert("名称不能为空,请输入名称!");
return false;
}
else if(factory.length <= 0){ //判断年龄,必填
alert("请输入合法生产工厂!");
return false;
}
else if(id <= 0){ //判断学号位数,必填
alert("型号不能为空,请输入型号!");
return false;
} else if(standard.length <= 0){ //专业为必填
alert("规格不能为空,请输入商品规格!");
return false;
}
else{
return true;
}
//document.getElementById("form").submit();
}
</script>
</head>
<body background="img/background.jpg">
<%
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
String name = request.getParameter("name");
String factory = request.getParameter("factory");
String id = request.getParameter("id");
String standard = request.getParameter("standard");
Connection conn = null; //定义静态数据库连接
Statement stat = null; //滞空stat。
ResultSet rs = null; //将rs滞空。
conn = DBUtil.getConnection();
stat = conn.createStatement();
rs = stat.executeQuery("select * from good where name='" + name + "'"); //查找data表id字段
%>
<br>
<h2>库存商品信息</h2>
<hr noshade>
<br>
<h3>要修改的库存商品信息如下</h3>
<table width="450" border="0" cellpadding="1" cellSpacing=1 style="font-size:15pt;border:dashed 1pt">
<tr align="center">
<td>库存商品名称</td>
<td>库存商品生产工厂</td>
<td>库存商品型号</td>
<td>库存商品规格</td>
</tr>
<%
while(rs.next())
{
out.print("<tr>");
out.print("<td>" + rs.getString("name") + "</td>"); //输出name内容
out.print("<td>" + rs.getString("factory") + "</td>"); //输出gender内容
out.print("<td>" + rs.getString("id") + "</td>");
out.print("<td>" + rs.getString("standard") + "</td>"); //输出major内容
out.print("</tr>");
%>
</table>
<br>
<br>
<h3>将库存商品信息更改为:</h3>
<form action="updateShow.jsp" method="post" onSubmit="return validate()">
<h4>库存商品名称:<input type="text" name="name" value="<%=rs.getString("name") %>" title="库存商品名称不能改变" onClick="return checkName(name)"readonly="readonly"></input><br></h4>
<h4>库存商品生产工厂:<input type="text" name="factory" title="库存商品生产工厂不能为空"></input><br></h4>
<h4>库存商品型号:<input type="text" name="id" title="库存商品型号不能为空"></input><br></h4>
<h4>库存商品规格:<input type="text" name="standard" title="库存商品规格不能为空"></input><br></h4>
<input type="submit" value="修改"/>
</form>
<a href=add.jsp>返回库存商品添加信息页面</a><br/><a href=show.jsp>返回库存商品信息查询页面</a>
<%
}
%>
<%
if(rs != null)
{
rs.close(); //关闭结果集,但是rs还是有null值。
rs = null; //将rs滞空。
}
if(stat != null)
{
stat.close(); //关闭stat。
stat = null; //滞空stat。
}
if(conn != null)
{
conn.close(); //关闭数据库连接
conn = null;
}
%>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<%
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
<head>
<base href="<%=basePath%>">
<title>修改界面</title>
</head>
<body>
<div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">
<img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>
</div>
<%
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
String name1 = request.getParameter("name");
String factory1 = request.getParameter("factory");
String id1 = request.getParameter("id");
String standard1 = request.getParameter("standard");
Connection conn = null; //定义静态数据库连接
Statement stat = null;
conn = DBUtil.getConnection();
stat = conn.createStatement();
stat.execute("update good set name='" + name1 + "' ,factory='" + factory1 + "' ,id='" + id1 + "' ,standard='" + standard1+"' where name='" + name1 + "'");
ResultSet rs = stat.executeQuery("select * from good where name='" + name1 + "'"); //查找data表id字段
%>
<br>
<h3>修改成功!</h3> <%--标题样式3--%>
<br>
<h3>修改后的库存商品信息为:</h3> <%--标题样式3--%>
<hr noshade>
<br>
<br>
<table width="450" border="100" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <%--表格宽度450--%>
<tr>
<td>库存商品名称</td>
<td>库存商品生产工厂</td>
<td>库存商品型号</td>
<td>库存商品规格</td>
</tr>
<%
while(rs.next())
{
out.print("<tr>");
out.print("<td>" + rs.getString("name") + "</td>"); //输出name内容
out.print("<td>" + rs.getString("factory") + "</td>"); //输出gender内容
out.print("<td>" + rs.getString("id") + "</td>");
out.print("<td>" + rs.getString("standard") + "</td>"); //输出major内容
out.print("</tr>");
}
%>
</table>
<br>
<br>
<a href=add.jsp>返回库存商品添加信息页面</a><br/><a href=show.jsp>返回库存商品信息查询页面</a>
<%
if(rs != null)
{
rs.close(); //关闭结果集,但是rs还是有null值。
rs = null; //将rs滞空。
}
if(stat != null)
{
stat.close(); //关闭stat。
stat = null; //滞空stat。
}
if(conn != null)
{
conn.close(); //关闭数据库连接
conn = null;
}
%>
</body>
</html>
package com.javao.msg; 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.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String user = "root";
String password = "123456";
String url = "jdbc:mysql://localhost:3306/inventory?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";
Connection connection = null;
try {
//2 鍒涘缓閾炬帴瀵硅薄connection
connection = DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
} //鍏抽棴璧勬簮鐨勬柟娉�
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();
}
} }
一个Java系统测试的更多相关文章
- 一个Java文件至多包含一个公共类
编写一个java源文件时,该源文件又称为编译单元.一个java文件可以包含多个类,但至多包含一个公共类,作为编译时该java文件的公用接口,公共类的名字和源文件的名字要相同,源文件名字的格式为[公共类 ...
- 一个java源文件中为什么只能有一个public类。
我们都遇到过一个源文件中有多个java类,但当第一个类使用public修饰时,如果下面还有类使用public修饰,会报错.也就是是说一个java源文件最多只能有一个public类. 当有一个publi ...
- webmagic的设计机制及原理-如何开发一个Java爬虫
之前就有网友在博客里留言,觉得webmagic的实现比较有意思,想要借此研究一下爬虫.最近终于集中精力,花了三天时间,终于写完了这篇文章.之前垂直爬虫写了一年多,webmagic框架写了一个多月,这方 ...
- Java基础-一个java文件多个类的问题
一个.java文件当然可以包括多个类.但这些类有一个特殊的类与其它的不同,,这个类是带public 属性的类.一个.java类文件中仅有一个public属性的类.而且这个类与文件名相同.
- 在Eclipse中,如何把一个java项目变成web项目
经常在eclipse中导入web项目时,出现转不了项目类型的问题,导入后就是一个java项目.解决步骤:1.进入项目目录,可看到.project文件,打开.2.找到<natures>... ...
- 搭建java开发环境、使用eclipse编写第一个java程序
搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...
- 分享:写了一个 java 调用 C语言 开发的动态库的范例
分享:写了一个 java 调用 C语言 开发的动态库的范例 cfunction.h 代码#pragma once#ifdef __cplusplusextern "C" {#e ...
- java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器
java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器 下载地址:http://yunpan.cn/QXhEcGNYLgwTD 运行方式:java -jar Encryp ...
- 自己写一个java.lang.reflect.Proxy代理的实现
前言 Java设计模式9:代理模式一文中,讲到了动态代理,动态代理里面用到了一个类就是java.lang.reflect.Proxy,这个类是根据代理内容为传入的接口生成代理用的.本文就自己写一个Pr ...
随机推荐
- spark提交任务的三种的方法
在学习Spark过程中,资料中介绍的提交Spark Job的方式主要有三种: 第一种: 通过命令行的方式提交Job,使用spark 自带的spark-submit工具提交,官网和大多数参考资料都是已这 ...
- 异常Exception分类
1:编译时被检测异常:只要有是Exception和其子类都是,除了特殊子类RuntimeException体系. 这种问题已但出现,希望在编译时进行检测,让这种问题有对应处理方式 ...
- DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N)
DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N) 难度: ★☆☆☆☆(1星) 适用范围: ★★★☆☆(3星) 概况:此文为DAX/PowerBI系 ...
- 配置android.support.v7.widget.Toolbar 搜索框样式
AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xm ...
- 懒汉处理dapper字段名与属性名的映射方式
你还以为走路是世上最简单的事情呢?只不过是把一只脚放到另一只脚前面.但我一直很惊讶这些原本是本能的事情实际上做起来有多困难.而吃,吃也是一样的,有些人吃起东西来可困难了.说话也是,还有爱.这些东西都可 ...
- linux df查看硬盘使用量 du查看文件所占大小
df 常用来查看磁盘的占用情况. du 常用来查看文件夹的大小等. Linux命令: df [-ahikHTm] [目录或者文件夹] 参数: -h : 以交较易识别的方式展示使用量 111100 ...
- jQuery-二级导航
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- mysql set
sql server中变量要先申明后赋值: 局部变量用一个@标识,全局变量用两个@(常用的全局变量一般都是已经定义好的): 申明局部变量语法:declare @变量名 数据类型:例如:declare ...
- Docker下操作指令
Docker下操作指令 以mysql为例 1.搜索镜像: #docker search mysql 2.拉取镜像 #docker pull mysql:5.7 3.加载镜像并绑定端口: #docker ...
- Linux 命令整理-tailf
1.tailf 跟踪日志文件 常用参数格式: tailf -n logfile 动态跟踪日志文件logfile,最初的时候打印文件的最后10行内容. 实例 查看从倒数多少行的日志信息 2.tail 跟 ...