本文章要实现的功能如下:
1.主页点击添加按钮,可跳转到添加页面,进行图书的添加
2.点击删除链接,可将对应的图书删除
3.主页点击修改按钮,可跳转到修改页面,进行图书信息的修改
4.主页搜索栏输入要搜索的图书,可跳转到显示图书详细信息的页面
BookDao:
boolean add(Book book);
boolean delete(String name);
boolean update(Book book);
Book SearchByName(String name);
BookDaoImp:
@Override
public boolean add(Book book) {
// TODO Auto-generated method stub
boolean flag=false;
DBCon dbcon=new DBCon();
cn=dbcon.getConnection();
String sql="insert into books(name,price,num,type) values(?,?,?,?)";
try {
psm=cn.prepareStatement(sql);
psm.setString(1, book.getName());
psm.setString(2, book.getPrice());
psm.setString(3, book.getNum());
psm.setString(4, book.getType());
psm.executeUpdate();
flag=true;
cn.close();
psm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
@Override
public boolean delete(String name) {
// TODO Auto-generated method stub
boolean flag=false;
DBCon dbcon=new DBCon();
cn=dbcon.getConnection();
String sql="delete from books where name=?";
try {
psm=cn.prepareStatement(sql);
psm.setString(1, name);
if(psm.executeUpdate()!=0) {
flag=true;
}
cn.close();
psm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
@Override
public boolean update(Book book) {
// TODO Auto-generated method stub
boolean flag=false;
DBCon dbcon=new DBCon();
cn=dbcon.getConnection();
String sql="update books set price=?,num=?,type=? where name=?";
try {
psm=cn.prepareStatement(sql);
psm.setString(1, book.getPrice());
psm.setString(2, book.getNum());
psm.setString(3, book.getType());
psm.setString(4, book.getName());
if(psm.executeUpdate()!=0) {
flag=true;
}
cn.close();
psm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
@Override
public Book SearchByName(String name) {
// TODO Auto-generated method stub
DBCon dbcon=new DBCon();
cn=dbcon.getConnection();
Book book=new Book();
String sql="select * from books where name=?";
try {
psm=cn.prepareStatement(sql);
psm.setString(1, name);
rs=psm.executeQuery();
if(rs.next()) {
String bookname=rs.getString(2);
String price=rs.getString(3);
String num=rs.getString(4);
String type=rs.getString(5);
book.setName(bookname);
book.setPrice(price);
book.setNum(num);
book.setType(type);
}
cn.close();
psm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return book;
}
add.jsp:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>图书管理系统添加图书</title>
</head>
<body style="text-align:center;">
<center><h3>图书管理系统添加图书</h3></center>
<form action="${pageContext.request.contextPath}/AddServlet" method="post">
<table border="0" width="350px" cellpadding="0" cellspacing="0" align="center" style="background:#CFF;" >
<tr>
<td height="50" align="center">书 名:
<input type="text" name="bookname" /></td>
</tr>
<tr>
<td height="50" align="center">价 格 :
<input type="text" name="price" /></td>
</tr>
<tr>
<td height="50" align="center">数 量 :
<input type="text" name="num" /></td>
</tr>
<tr>
<td height="50" align="center">分 类 :
<input type="text" name="type" /></td>
</tr>
<tr>
<td height="50">
<input type="submit" value="提交" />
<input type="reset" value="重置" />
</td>
</tr>
</table>
</form>
</body>
</html>
update.jsp:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>图书管理系统修改图书</title>
</head>
<body style="text-align:center;">
<center><h3>图书管理系统修改图书</h3></center>
<form action="${pageContext.request.contextPath}/UpdateServlet" method="post" >
<table border="0" width="350px" cellpadding="0" align="center" style="background:#CFF;">
<tr>
<td height="50" align="center">要修改的图书:
<input type="text" name="bookname" /></td>
</tr>
<tr>
<td heignt="50" align="center">修改后价格:
<input type="text" name="price" /></td>
</tr>
<tr>
<td height="50" align="center">修改后数量:
<input type="text" name="num" /></td>
</tr>
<tr>
<td height="50" align="center">修改后分类:
<input type="text" name="type" /></td>
</tr>
<tr>
<td>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
</td>
</tr>
</table>
</form>
</body>
</html>
AddServlet.java:
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import daoImp.BookDaoImp;
import entity.Book;
@WebServlet("/AddServlet")
public class AddServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public AddServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String bookname=request.getParameter("bookname");
String price=request.getParameter("price");
String num=request.getParameter("num");
String type=request.getParameter("type");
Book book=new Book();
book.setName(bookname);
book.setPrice(price);
book.setNum(num);
book.setType(type);
BookDaoImp bdi=new BookDaoImp();
if(bdi.add(book)) {
String url="/bookManage/index.jsp";
response.sendRedirect(url);
}
}
}
DeleteServlet.java:
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import daoImp.BookDaoImp;
@WebServlet("/DeleteServlet")
public class DeleteServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public DeleteServlet() {
super();
// TODO Auto-generated constructor stub
}
//传入信息时是以get方式传入,因此这里的servlet要在get()方法中进行信息操作
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
String name=request.getParameter("name");
BookDaoImp bdi=new BookDaoImp();
if(bdi.delete(name)) {
String url="/bookManage/index.jsp";
response.sendRedirect(url);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
UpdateServlet.java:
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import daoImp.BookDaoImp;
import entity.Book;
@WebServlet("/UpdateServlet")
public class UpdateServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public UpdateServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//doGet(request, response);
String bookname=request.getParameter("bookname");
String price=request.getParameter("price");
String num=request.getParameter("num");
String type=request.getParameter("type");
Book book=new Book();
book.setName(bookname);
book.setPrice(price);
book.setNum(num);
book.setType(type);
BookDaoImp bdi=new BookDaoImp();
if(bdi.update(book)) {
String url="/bookManage/index.jsp";
response.sendRedirect(url);
}
}
}
SearchBNameServlet.java:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import daoImp.BookDaoImp;
import entity.Book;
@WebServlet("/SearchBNameServlet")
public class SearchBNameServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public SearchBNameServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//doGet(request, response);
response.setContentType("text/html;charset=utf-8");
String bookname=request.getParameter("bookName");
Book book=new Book();
BookDaoImp bdi=new BookDaoImp();
book=bdi.SearchByName(bookname);
PrintWriter out=response.getWriter();
out.write("书名:"+book.getName()+"<br />");
out.write("价格:¥"+book.getPrice()+"<br />");
out.write("数量:"+book.getNum()+"<br />");
out.write("分类:"+book.getType()+"<br />");
}
}
至此图书管理系统所有功能已经全部实现,工程目录如下:
源码下载
TA签名验签1、TA的签名2、TA的验签1、TA的签名在optee或sdk的目录下,有一个default_ta.pem(RSA2048 priv key)和sign.py签名脚本. 在编译TA结束后,会使用这个脚本和key对TA进行签名…export-ta_arm64/keys/default_ta.pemexport-ta_arm64/scripts/sign.py在编译TA时,会调用到TA中的link.mk, 在该文件文件中可以看到rsakey和签名脚本sign.py的引用和makefil
关掉weblogic所有进程切换到域下面$cd /home/weblogic/Oracle/Middleware/user_projects/domains/jydomain/security$java -classpath /home/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.jar weblogic.securi...
http://blog.csdn.net/cp1300/article/details/82668061.准备工作 首先得安装好gcc工具链,以及开发环境,可以看看我的前面的几步。 还得编译好内核,一般开发板都带了,现在我还不知道配置内核,只能按照开发板默认的去编译,编译前需要先编译uboot,建议像我一样的新手先学会驱动编写,慢慢的去学习 内核的配置裁剪
第一次做出来黑题祭虽然感觉难度其实并不到黑题的难度题解:其实这道题并没用什么特别的知识,只是Tarjan求双联通分量和LCA的结合。所以,我们可以很显然的发现(如此恶劣的词汇,逃这道题其实就是给你一个无向图,其中一个点双联通分量算作一个点,询问两个点之间(包括这两个点)有多少点(注意重边不需要缩点)。注意这里的图是无向图,所以我们如果用单纯的Tarjan求强连通分量,就...
配置虚拟机创建->典型->下一步稍后安装 下一步linux centos 8 下一步下一步大小加大 下一步自定义硬件设置内存和处理器设置镜像源网络设置最后删掉打印机声卡点击完成安装系统开启虚拟机直接安装很顺利到这一步,选中文下一步解决爆红配置,没有顺序,1.安装目的地只点完成,其他不要动要不然2.密码3.网络4.软件选择现在电脑普遍性能过剩, 可以带界面其他默认就行等啊等舒服了...
Git和TortoiseGit安装完成之后,这时应该已经配置了用户名和邮箱,再C盘用户目录下可以看到一个.gitconfig的文件:其中就是注册的用户名和邮箱,如果没有注册,可以通过Git Bash中git config --global user.name=”xxx”和git config –global user.email=”xxx”。如果想要从git仓库克隆项目下来,首先需...
import numpy.random as nprimport matplotlib.pyplot as pltfrom pylab import mplmpl.rcParams['font.sans-serif'] = ['SimHei']mpl.rcParams['axes.unicode_minus'] = FalseI=1000x_norm = npr.normal(l...
点击打开题目B. Cosmic Tablestime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe Free Meteor Association
文字对战游戏主要的系统分类:角色系统:种族系统和技能系统战斗系统:采用回合制商城系统:游戏的道具贩卖系统充值系统:充值各系统功能细化:角色系统--种族系统分为2大种类:法师和战士游戏世界有五大属性(金、木、水、火、土)金克木,木克土,土克水,水克火,火克金。无论战士还是法师都有自己的属性。当一个属性被另一个属性克制的时候,攻击力和防御力都会减弱。法师系:属性:五种属性中的一种。对同类属性的道具有加成。血量值较低 初值较低为战士的75% 血量成长系数
问题执行 npm install时,遇到下面错误Downloading binary from https://github.com/sass/node-sass/releases/download/v4.12.0/win32-x64-83_binding.nodeCannot download "https://github.com/sass/node-sass/releases/download/v4.12.0/win32-x64-83_binding.node":HTTP error 404
Linux安装yum标签:教程1.检查是否安装查看是否安装yum 若是安装了还有那些包rpm -qa |grep yum2.删除原有的yumrpm -aq|grep yum|xargs rpm -e –nodeps3.专门存放下载的路径cd /usr/local/src4.下载安装依赖包py下载地址:进度条100%表示已完成wget http://mirrors....
正在编译...1>Hash_table.cpp1>正在链接...1>LINK : warning LNK4067: 不明确的入口点;选定“mainCRTStartup”1>Hash_table.obj : error LNK2019: 无法解析的外部符号 "int __cdecl hash(class Record const &)" (?hash@@YAHABVRecord@@@