servlet部分,可能用得到的复用的代码:

1、dopost设置字符

request.setCharacterEncoding("utf-8");

response.setCharacterEncoding("utf-8");

response.setContentType("application/json;charset=utf-8");

2、SQL语句:

增加:

String SQL_ADD="INSERT INTO book(bookid,bookname,bookauthor,pressname,availablenum) VALUE(?,?,?,?,?);";

preparedStatement=connection.prepareStatement(SQL_ADD);

connection.setAutoCommit(false);

preparedStatement.setString(1,bookid);

preparedStatement.setString(2,bookname);

preparedStatement.setString(3,bookauthor);

preparedStatement.setString(4,pressname);

preparedStatement.setString(5,availablenum);

int flag=preparedStatement.executeUpdate();

connection.commit();

删除:

String SQL_DELETE="DELETE FROM book where bookid=?";

preparedStatement=connection.prepareStatement(SQL_DELETE);

preparedStatement.setString(1, bookid);

int flag=preparedStatement.executeUpdate();

if(flag>0)

{

System.out.println("成功删除"+flag+"条图书信息!");

}else {

System.out.println("遇到问题,删除图书信息失败!");

}

修改:

SQL="UPDATE book SET availablenum=? WHERE bookid=?;";

preparedStatement = connection.prepareStatement(SQL);

preparedStatement.setString(1,strnum);

preparedStatement.setString(2, bookid);

查询:

1、查询全部:

String SQL_SELECTALL = "SELECT *FROM book";

preparedStatement = connection.prepareStatement(SQL_SELECTALL);

resultSet = preparedStatement.executeQuery();

while(resultSet.next()) {

String bookid=resultSet.getString("bookid");

String bookname=resultSet.getString("bookname");

String bookauthor=resultSet.getString("bookauthor");

String pressname=resultSet.getString("pressname");

String availablenum=resultSet.getString("availablenum");

newbook=new NewBook(bookid,bookname,bookauthor,pressname,availablenum);

list.add(newbook);

}

2、条件查询(模糊查询)

String SQL="SELECT * FROM book where bookname LIKE ?";

preparedStatement = connection.prepareStatement(SQL);

preparedStatement.setString(1, "%"+bookname+"%");

connection.commit();

resultSet = preparedStatement.executeQuery();

前台jsp页面

1、使用jstl标签

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

2、默认界面

<c:forEach items="${list}" var="book"></c:forEach>

前台调用servlet:

删除

${pageContext.request.contextPath}/

3、验证(servlet传一个message)

<%

    String message = (String)request.getAttribute("message");

    if(message!=null){

%>

<%} %>

JavaWeb代码复用的更多相关文章

  1. if __name__== "__main__" 的意思(作用)python代码复用

    if __name__== "__main__" 的意思(作用)python代码复用 转自:大步's Blog  http://www.dabu.info/if-__-name__ ...

  2. Atitit 代码复用的理解attilax总结

    Atitit 代码复用的理解attilax总结 1.1. 继承1 1.1.1. 模式1:原型继承1 1.1.2. 模式2:复制所有属性进行继承 拷贝继承1 1.1.3. 模式3:混合(mix-in)1 ...

  3. javascript 模式(1)——代码复用

    程序的开发离不开代码的复用,通过代码复用可以减少开发和维护成本,在谈及代码复用的时候,会首先想到继承性,但继承并不是解决代码复用的唯一方式,还有其他的复用模式比如对象组合.本节将会讲解多种继承模式以实 ...

  4. HTML 代码复用实践 (静态页面公共部分提取复用)

    原文:HTML 代码复用实践 上面的链接里面安装配置步骤已经非常详细,这里主要记录我操作过程中遇到的几个问题 gulp-file-include 的使用     按上面的步骤安装之后,node_mod ...

  5. 《JavaScript模式》第6章 代码复用模式

    @by Ruth92(转载请注明出处) 第6章:代码复用模式 GoF 在其著作中提出的有关创建对象的建议原则: -- 优先使用对象组合,而不是类继承. 传统模式:使用类继承: 现代模式:"类 ...

  6. javascript代码复用(四)-混入、借用方法和绑定

    这篇继续说js的现代复用模式:混入.借用方法和绑定. 混入 可以针对前面提到的通过属性复制实现代码复用的想法进行一个扩展,就是混入(mix-in).混入并不是复制一个完整的对象,而是从多个对象中复制出 ...

  7. javascript代码复用模式(二)

    前面说到,javascript的代码复用模式,可分为类式继承和非类式继承(现代继承).这篇就继续类式继承. 类式继承模式-借用构造函数 使用借用构造函数的方法,可以从子构造函数得到父构造函数传任意数量 ...

  8. javascript代码复用模式

    代码复用有一个著名的原则,是GoF提出的:优先使用对象组合,而不是类继承.在javascript中,并没有类的概念,所以代码的复用,也并不局限于类式继承.javascript中创建对象的方法很多,有构 ...

  9. 代码复用 -- 深入了解javascript

    /* 代码复用 */ /* 一.避免 */ /* 模式1:默认模式 */ function Parent() { this.name = "123"; } Parent.proto ...

随机推荐

  1. Alpha冲刺——总结

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 团队进行Alpha冲刺 作业正文 正文 其他参考文献 无 ...

  2. 雪花算法 Java 版

    雪花算法根据时间戳生成有序的 64 bit 的 Long 类型的唯一 ID 各 bit 含义: 1 bit: 符号位,0 是正数 1 是负数, ID 为正数,所以恒取 0 41 bit: 时间差,我们 ...

  3. 5.1 Spring5源码--Spring AOP源码分析一

    目标: 1.什么是AOP, 什么是AspectJ, 2. 什么是Spring AOP 3. Spring AOP注解版实现原理 4. Spring AOP切面原理解析 一. 认识AOP 1.1 什么是 ...

  4. 区块链学习7:超级账本项目Fabric中的背书、背书节点、背书策略、背书签名

    ☞ ░ 前往老猿Python博文目录 ░ 在Hyperledger Fabric区块链中,有背书节点进行背书,Hyperledger Fabric 使用背书策略来定义哪些节点需要执行交易. Hyper ...

  5. PyQt(Python+Qt)学习随笔:QTreeWidget中标题相关属性访问方法headerItem、setHeaderLabels

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件窗口可以有一个标题头,其中包含部件中每个列的节(即标题).QTreeWidget的标题属性包 ...

  6. 【题解】「SP34013」SEUG - Seetha’s Unique Game

    这道题一看就是 贪心 . 使放的石头少,就需要石头大. 那么就可以将石头重量排序,从大到小. 这道题里面看似东西很多,但是很多东西都是没有用的.比如说:箱子的长和宽,因为题目中说「每加一个石头,水的高 ...

  7. AcWing 324. 贿赂FIPA

    题目链接 大型补档计划 \(f[i][j]\) 表示第 \(i\) 个国家,获得 \(j\) 个国家支持,用的最少花费 \(f[i][0] = 0\) \(f[i][sz[i]] = w[i]\) 对 ...

  8. 题解-Railgun

    题面 Railgun \(T\) 组测试数据,每次给定 \(n,k\),求(\(F(i)\) 为斐波那契数列第 \(i\) 项): \[\sum_{1\le x_i\le n(1\le i\le k) ...

  9. Spring Boot 的2020最后一击:2.4.1、2.3.7、2.2.12 发布

    近日,Spring Boot官方发布了本年度最后一次版本更新,主要针对目前维护的三个版本: 2.4.x:第一个bug修复版本 2.4.1 2.3.x:常规维护版本 2.3.7 2.2.x:常规维护版本 ...

  10. centos7下安装iostat命令

    [root@node01 yum.repos.d]# yum intall -y sysstat Loaded plugins: fastestmirror No such command: inta ...