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. Linux之centos包管理【rpm】、【yum】、【tar】

    rpm包是二进制格式,无需编译安装便可使用,tar包是源码格式,需要编译安装才可使用 rpm包管理: rpm:redhat package manager,红帽的包管理器,其主要的操作参数有如下: - ...

  2. moviepy音视频剪辑VideoClip类fl_image方法image_func报错ValueError: assignment destination is read-only解决办法

    ☞ ░ 前往老猿Python博文目录 ░ moviepy音视频剪辑模块的视频剪辑基类VideoClip的fl_image方法用于进行对剪辑帧数据进行变换. 调用语法:fl_image(self, im ...

  3. 第8.16节 Python重写自定义类的__str__方法

    一. 引言 上节结合案例介绍了重写__repr__方法的关注点,重写__repr__方法的要点是要准确的输出开发人员关注的信息,并便于开发人员使用相关信息.而__str__方法是为最终用户返回类的相关 ...

  4. Python中的enumerate函数的作用

    enumerate函数是将一个可迭代对象中元素,按元素顺序每个增加一个索引值,将其组成一个索引序列,利用它可以同时获得索引和值,这样做的目的是为了将一个可迭代对象中元素组成一个"索引,值&q ...

  5. PyQt(Python+Qt)学习随笔:QTableWidget的takeItem和sortItems方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTableWidget中的takeItem方法从表格中取并去除项,sortItems方法对表格中的 ...

  6. 团队作业6(A)-Alpha阶段项目复审

    Alpha阶段项目复审 复审团队: 莫政 (3118005067). 卢耀恒(3118005065) . 许梓莹(3218005083). 梁小燕(3218005081).高嘉淳(3118005047 ...

  7. (数据科学学习手札100)搞定matplotlib中的字体设置

    本文示例文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 matplotlib作为数据可视化的利器,被广泛 ...

  8. DarkMode(1):产品应用深色模式分析

    为什么Dark Mode变得越来越流行 2018 年的 macOS Mojave 率先支持了深色外观,紧接着 Windows 10 在 2018 年的 10 月份大版本更新中,也引入了 Dark Mo ...

  9. 1.pipeline原理

    redis基本语法:https://www.cnblogs.com/xiaonq/p/7919111.html redis四篇:https://www.cnblogs.com/xiaonq/categ ...

  10. 容器编排系统之Pod资源配置清单基础

    前文我们了解了k8s上的集群管理工具kubectl的基础操作以及相关资源的管理,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14130540.html:今天我 ...