1.逻辑

需要导入的jar包

1.jquery

js包

(1) jquery-3.3.1.js

(2)jquery-3.3.1.min.js

2.jedis 的jar包

(1)jedis-2.7.0.jar

(2)commons-pool2-2.3.jar

3.json的jar包

(1)jackson-annotations-2.2.3.jar

(2)ackson-core-2.2.3.jar

(3)jackson-databind-2.2.3.jar

4.mysql的jar包

(1)mysql-connector-java-5.1.18-bin.jar

5.JDBCTemplate的jar包

(1) commons-logging-1.1.1jar

(2) spring-beans-4.2.1.RELEASE.jar

(3) spring-core-4.2.1.RELEASE.jar

(4) spring-jdbc-4.2.1.RELEASE.jar

(5) spring-tx-4.2.1.RELEASE.jar

6.durid的jar包

(1)druid-1.0.9.jar

7.jstl的jar包

(1)javax.servlet.jsp.jstl.jar

(2)jstl-impl.jar

8.BeanUtils工具类,简化数据封装(一般放在domain、entity这类包里面)

(1)commons-beanutils-1.8.3.jar

作用:

1.用于封装JavaBean的(在本处的redis未用到)2.可基于属性的

举例

// 0.设置编码格式

request.setCharacterEncoding("utf-8");

1.获取所有参数

Map map = request.getParameterMap();

// 2.创建User对象

User loginUser = new User();

// 3.使用BeanUtils封装

try {

org.apache.commons.beanutils.BeanUtils.populate(loginUser,map);

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (InvocationTargetException e) {

e.printStackTrace();

}

// 4.创建UserDao对象

UserDao userDao = new UserDao();

// 5.调用login方法,返回user信息

User user = userDao.login(loginUser);

// 6.登录失败

if(user == null){

// 转发

request.getRequestDispatcher("/failServlet").forward(request,response);

}else {

// 7.登录成功

// 存储数据

request.setAttribute("user",user);

// 转发

request.getRequestDispatcher("/successServlet").forward(request,response);

}

// 说明属性的区别(标准的java类JavaBean)

private String gender; // 测试BeanUtils用

public String getHehe() { // 测试BeanUtils属性用

return gender;

}

**

## *BeanUtilsTest*

**

public void setHehe(String gender) { // 属性hehe操作成员变量gender的值 测试BeanUtils属性用

this.gender = gender;

}

...

BeanUtils.setProperty(user,"hehe","male");

System.out.println(user); // User{id=0, username='null', password='null', gender='male'}

String gender = BeanUtils.getProperty(user, "hehe");

System.out.println(gender); // male

![在这里插入图片描述](http

s://img-blog.csdnimg.cn/20200301110922633.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE4NDAxNw==,size_16,color_FFFFFF,t_70)

1.1.不使用redis(慢)

index.html——>ProvinceServlet——>ProvinceService(操作Dao的接口)+ProvinceServiceImpl(操作Dao的实现类)——>ProvinceDao(操作数据库的接口)+ProvinceDao(操作数据库的实现类)——>DataBase(关系型数据库)

1.2.使用redis(缓存)

index.html——>ProvinceServlet——>ProvinceService(操作Dao的接口)+ProvinceServiceImpl(操作Dao的实现类)——>ProvinceDao(操作数据库的接口)+ProvinceDao(操作数据库的实现类)——>DataBase(关系型数据库)

ProvinceService(操作Dao的接口)+ProvinceServiceImpl(操作Dao的实现类)——>redis

2.可能的错误

1.bug错误:操作数据库成功,但出现null。Province类可能有误

HTML5调用redis,redis实现从数据库获取数据添加到html页面上相关推荐

  1. vue 点击渲染ajax,vue中在页面加载时发送ajax请求获取数据渲染不到页面上

    ajax是异步执行的. {{bookId}} 在setData里面处理数据 export default { name: 'app', data() { bookId : '' }, created( ...

  2. Android中连接MySql数据库获取数据的简单实现

    文章目录 背景 demo布局 导入jar包 demo代码实现 权限设置 应用运行的结果 背景 一般情况下,Android与数据库中的数据进行交互都是通过调用api接口来实现的.但是今天我们就来尝试实现 ...

  3. Loadrunner脚本优化-参数化之关联MySQL数据库获取数据

    脚本优化-参数化之关联MySQL数据库获取数据 by:授客 QQ:1033553122 测试环境: Loadrunner 11 Win7 64位 实操: 1.   安装MySQL ODBC驱动程序 O ...

  4. eclipse读取mysql数据乱码_eclipse从数据库获取数据时控制台乱码问题

    最近在学习HQL的时候,想从数据库获取数据时eclipse控制台乱码,一开始以为是控制台设置的编码有问题,然后就修改了控制台的编码,run->run Configurations->com ...

  5. mysql从库数据源_SoapUI Pro教程:如何使用MySQL服务器作为数据源-从MySQL数据库获取数据...

    SoapUI Pro拥有许多其他web服务测试工具所不具备的高级技术和功能.对于REST.SOAP以及其他流行的API和物联网协议,SoapUI Pro提供了业界最全面的功能测试功能.通过易用的图形界 ...

  6. java简单从一个数据库获取数据,然后插入到另外一个数据库

    思路:从一个数据库获取数据,然后插入到另外一个数据库,使用springboot的话就需要在application.yml配置两个数据库,这样比较麻烦也要注意注解的使用,如: server:port: ...

  7. Bigdecimal 在从数据库获取数据后 和从前台获取的数据作比较时(值相等)

    1.做数值校验 ,Bigdecimal 在从数据库获取数据后 和从前台获取的数据作比较时(小数) 会出现 数据库取出的数据进度丢失 得到的结果是 false 解决方案 :先进行小数位保留 然后再作比较 ...

  8. echarts从数据库获取数据制图

    echarts从数据库获取数据制图 首先是连接mysql的工具类(DBUtil ), import java.sql.Connection; import java.sql.DriverManager ...

  9. python 更新数据库历史_python 实现数据库中数据添加、查询与更新的示例代码

    一.前言 最近做web网站的测试,遇到很多需要批量造数据的功能:比如某个页面展示数据条数需要达到10000条进行测试,此时手动构造数据肯定是不可能的,此时只能通过python脚本进行自动构造数据:本次 ...

最新文章

  1. 火狐 4 月全球使用量首超微软
  2. centos 添加用户
  3. vc 限制软件的使用次数或时间
  4. BZOJ 3329 Xorequ (数位DP、矩阵乘法)
  5. java digestutils_java-Apache DigestUtils似乎部分错误地计算了MD5
  6. 解决centos KDE命令提示符和文字不紧贴的问题
  7. Hollis原创|深入分析Java的编译原理
  8. mysql错误总结-ERROR 1067 (42000): Invalid default value for TIMESTAMP
  9. 面向对象课程 - 寒假第三次作业 - C++计算器项目初始部分
  10. 【白皮书】中国高端制造投融资白皮书.pdf(附下载链接)
  11. idea重写接口没有@override_接口和抽象有什么区别?
  12. 【Qt串口波形绘图】基于QCustomPlot的串口波形绘图上位机,源码开放
  13. 编程语言 - 脚本编程 - JavaScript/Jquery/Ajax/XML/JSON/ActionScript3
  14. 从Exchange 2010 SP1高可用性环境下升级到SP2
  15. 高等数学第七版同济大学课后习题讲解上册 百度pdf(免费)
  16. [转载]JXTA概念介绍
  17. Ffplay源码read_thread解读(一)
  18. Lefse本地运行并更换颜色
  19. 《别做正常的傻瓜》1——结果偏见
  20. Oculus客户端在Win10上面无法安装或者登陆的解决方法

热门文章

  1. 放弃广告 反思站长收益来源
  2. android studio 连不上设备,Android Studio-设备已连接但“脱机”
  3. java 缓存 单例_单例模式应用:高速缓存和查找对象(转)
  4. MySQL——修改root密码的4种方法(以windows为例)
  5. Linux日志查看head与tail配合查看区间行数的内容
  6. Linux之Vim的搜索与替换
  7. Yii的gii-modules
  8. json格式输出数组隐藏键值方法
  9. python网络通信协议_Python网络概述:协议与体系结构的运用
  10. maven不能拉取私服的原因