JavaWeb代码复用
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代码复用的更多相关文章
- if __name__== "__main__" 的意思(作用)python代码复用
if __name__== "__main__" 的意思(作用)python代码复用 转自:大步's Blog http://www.dabu.info/if-__-name__ ...
- Atitit 代码复用的理解attilax总结
Atitit 代码复用的理解attilax总结 1.1. 继承1 1.1.1. 模式1:原型继承1 1.1.2. 模式2:复制所有属性进行继承 拷贝继承1 1.1.3. 模式3:混合(mix-in)1 ...
- javascript 模式(1)——代码复用
程序的开发离不开代码的复用,通过代码复用可以减少开发和维护成本,在谈及代码复用的时候,会首先想到继承性,但继承并不是解决代码复用的唯一方式,还有其他的复用模式比如对象组合.本节将会讲解多种继承模式以实 ...
- HTML 代码复用实践 (静态页面公共部分提取复用)
原文:HTML 代码复用实践 上面的链接里面安装配置步骤已经非常详细,这里主要记录我操作过程中遇到的几个问题 gulp-file-include 的使用 按上面的步骤安装之后,node_mod ...
- 《JavaScript模式》第6章 代码复用模式
@by Ruth92(转载请注明出处) 第6章:代码复用模式 GoF 在其著作中提出的有关创建对象的建议原则: -- 优先使用对象组合,而不是类继承. 传统模式:使用类继承: 现代模式:"类 ...
- javascript代码复用(四)-混入、借用方法和绑定
这篇继续说js的现代复用模式:混入.借用方法和绑定. 混入 可以针对前面提到的通过属性复制实现代码复用的想法进行一个扩展,就是混入(mix-in).混入并不是复制一个完整的对象,而是从多个对象中复制出 ...
- javascript代码复用模式(二)
前面说到,javascript的代码复用模式,可分为类式继承和非类式继承(现代继承).这篇就继续类式继承. 类式继承模式-借用构造函数 使用借用构造函数的方法,可以从子构造函数得到父构造函数传任意数量 ...
- javascript代码复用模式
代码复用有一个著名的原则,是GoF提出的:优先使用对象组合,而不是类继承.在javascript中,并没有类的概念,所以代码的复用,也并不局限于类式继承.javascript中创建对象的方法很多,有构 ...
- 代码复用 -- 深入了解javascript
/* 代码复用 */ /* 一.避免 */ /* 模式1:默认模式 */ function Parent() { this.name = "123"; } Parent.proto ...
随机推荐
- YoyoGo微服务框架入门系列-快速编写WEB API
前言 YoyoGo是一个使用Golang编写的一个简单.轻量.快速.基于依赖注入的微服务框架,目前依然在研发阶段,欢迎Star以及一起参与到框架的研发 GitHub地址:https://github. ...
- 第11.22节 Python 中re模块的字符串分割器:split函数
一. 引言 在<第11.2节 Python 正则表达式支持函数概览>介绍了re模块的主要函数,在<第11.3节 Python正则表达式搜索支持函数search.match.fullm ...
- <阿里工程师的自我素养>读后感-技术人应该具备的一些基本素质
一.技术人具备"结构化思维"意味着什么? 1.什么是结构化思维? 结构化思维:逻辑+套路. 表达要有逻辑,所谓逻辑是指我们的结构之间必须是有逻辑关系的. 四种组织思想的逻辑关系 : ...
- C#使用ML.Net完成人工智能预测
前言 Visual Studio2019 Preview中提供了图形界面的ML.Net,所以,只要我们安装Visual Studio2019 Preview就能简单的使用ML.Net了,因为我的电脑已 ...
- linux c++ 内存泄漏检测工具:AddressSanitizer(ASan)
1.介绍 AddressSanitizer(ASan),该工具为gcc自带,4.8以上版本均可以使用. 2.使用 编译的方式很简单,只需要添加 -fsanitize=address -g 即可,如 g ...
- 原创:DynamicDataDisplay波形显示自定义格式
原创:DynamicDataDisplay 原版本在日期显示的格式上与我们的习惯不一样,特做如下修改: 自定义日期格式修改: //MainWindow.cs中 var ds = new Enumera ...
- 题解-Sakuya's task
题面 Sakuya's task \[\left(\sum_{i=1}^n\sum_{j=1}^n \varphi(\gcd(i,j))\right)\bmod 10^9+7 \] 数据范围:\(1\ ...
- 算法——移掉K位数字使得数值最小
给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. leetcode 解题思路:如果这个数的各个位是递增的,那么直接从最后面开始移除一定就是最最小的:如果这个数的 ...
- Kubernetes【K8S】(五):Service
Service概念 Kubernetes Service定义了一个Pod的逻辑分组,一种可以访问它们的策略.这组Pod能被Service访问到,通常是通过label Selector. Service ...
- 牛客挑战赛46 D
题目链接: 数列 查询有多少\([l,r]\)区间满足每个数出现\(k\)的倍数次 即为\(1\)到\(r\)与\(1\)到\(l-1\)每个数相减的次数为\(k\)的倍数次 可以使用哈希维护 记录每 ...