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. VS Code 调试树莓派上的python程序

    安装pip install ptvsd 在py文件前面加代码 import ptvsd ptvsd.enable_attach() ptvsd.wait_for_attach() ptvsd.brea ...

  2. Django使用联合主键

    今天闲着没事,突然想起一个以前遇到的一个小问题.一直忘了来验证自己的解决方案,所以今天特意来查询了些资料来验证下自己的想法.整理如下: 单张表内建立联合主键: class IotTemp(models ...

  3. 第11.13节 Python正则表达式的转义符”\”功能介绍

    为了支持特殊元字符在特定场景下能表示自身而不会被当成元字符进行匹配出来,可以通过字符集或转义符表示方法来表示,字符集表示方法前面在<第11.4节 Python正则表达式搜索字符集匹配功能及元字符 ...

  4. PyQt(Python+Qt)学习随笔:Qt Designer中toolBar的movable属性

    1.概述 movable属性用来确认toolBar是否可以移动,如果设置为可移动,则toolBar可以在主窗口范围内拖拽移动. 2.访问方法 通过isMovable().setMovable(bool ...

  5. CODING DevOps 线下沙龙回顾一:DevOps 代码质量实战

    11 月 22 日,由 CODING 主办的 DevOps 技术沙龙系列「质量」专场在上海圆满结束.在活动现场,四位来自腾讯等知名企业的技术大咖们分享了研发质量与效能的实战经验,与观众们共同探讨如何采 ...

  6. VirtualBox安装Centos出现E_FAIL (0x80004005)的解决方法

    问题描述:UUID已经存在 Cannot register the hard disk 'F:\hadoop\VirtualBox-centos\centos6.4\centos6.4.vdi' {0 ...

  7. python——sklearn完整例子整理示范(有监督,逻辑回归范例)(原创)

    sklearn使用方法,包括从制作数据集,拆分数据集,调用模型,保存加载模型,分析结果,可视化结果 1 import pandas as pd 2 import numpy as np 3 from ...

  8. .Net Core ABP应用如何在阿里云Linux Docker中开启Https

    .Net Core应用开启Https本身就有很多种方式:1.代码配置2.环境变量3.反向代理 这里主要记录下阿里云的ECS,加阿里云免费的SSL证书,通过程序代码,如何进行配置. 首先从阿里云下载证书 ...

  9. 团队作业part4--项目冲刺

    七天敏捷冲刺汇总 1. Day1 Scrum 冲刺博客 2. Day2 Scrum 冲刺博客 3. Day3 Scrum 冲刺博客 4. Day4 Scrum 冲刺博客 5. Day5 Scrum 冲 ...

  10. js onreadystatechange 和 onload的区别

    IE的script 元素只支持onreadystatechange事件,不支持onload事件. FF的script 元素不支持onreadystatechange事件,只支持onload事件. 如果 ...