一个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 ...
随机推荐
- 启动Jmeter4.0 后弹出命令窗口提示信息是什么意思?
启动Jmeter4.0 后弹出命令窗口提示信息: =========================================================================== ...
- python实时得到鼠标的位置
1.#先下载pyautogui库,打开cmd输入pip install pyautogui,回车 2.代码如下: import os,time import pyautogui as pag try: ...
- cobbler自动安装操作系统
cobbler介绍 快速网络安装linux操作系统的服务,支持众多的Linux发行版: Red Hat, Fedora,CentOS,Debian,Ubuntu和SuSE 也可以支持网络安装windo ...
- Centos7之Systemd风格
Unit(单元) /usr/lib/systemd/system 每个服务最主要的启动脚本设置,类似于之前的/etc/init.d目录 关键特性 1.基于socket的激活机制,socke ...
- 并发编程---线程---开启方式---进程线程的区别----Thread的其他属性
线程 进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合)而线程才是cpu上的执行单位 1.同一个进程内的多个线程共享该进程内的地址资源 2.创建线程的开销远小于创建进程的开销(创建一 ...
- IE无法安装Activex控件
由于无法验证发行者,所以windows已经阻止此软件,如要安装未签名的activex控件,按如下步骤: 1.打开Internet Explorer---菜单栏点“工具”---Internet选项--安 ...
- vue中使用lodash
1.安装:npm i --save lodash 2.引入:import _from 'lodash' 3.使用: <template> <div class="templ ...
- win7 x64安装TensorFlow
在windows下安装的TensorFlow做学习研究之用,如果要进行技术,请看相关博文:CentOS7安装TensorFlow 1.安装Pytho3.5 首先到Anaconda网站去下载Window ...
- numpy.meshgrid()
numpy提供的numpy.meshgrid()函数可以让我们快速生成坐标矩阵X,Y 语法:X,Y = numpy.meshgrid(x, y)输入:x,y,就是网格点的横纵坐标列向量(非矩阵)输出: ...
- cocos2d JS-(JavaScript) 使用特权方法的例子
function User(name,age) { var year = (new Date()).getFullYear() - age; this.getYearBorn = function ( ...