SpringSpringMvc中Request、Response、Session方法使用
SpringMVC是JAVA中经常用的一款Web MVC框架,本文将详解介绍HttpServletRequest,HttpServletResponse等类,同时提供获取IP地址,URL地址以及URL参数,文件上传,返回JSON数据等各种常用应用。 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息,包括请求的地址,请求的参数,提交的数据,上传的文件客户端的ip甚至客户端操作系统都包含在其内。java中HttpServletRequest专门处理GET
SpringBootSpringBoot中使用Elasticsearch
Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,能够解决越来越多的用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。 Elasticsearch 是一个实时的分布式搜索分析引擎, 它能让你以一个之前从未有过的速度和规模,去探索你的数据。 它被用作全文检索、结构化搜索、分析以及这三个功能的组合。 在安装Elasticsearch引擎之前,必须安装ES需要的软件环境,安装Java JDK和配置JAVA_HOME环境变量,ElasticSearch对JRE的版本是敏感的,错误的版本,会导致ElasticSe
SpringBootSpringboot 集成 Sharding-JDBC+Mybatis 实现分表分库
在 《浅谈分库分表》 一文中,我们介绍了分库分表的思想,这节我们介绍ShardingJdbc的分库和分表实现,了解更多可参考 官方文档 。 逻辑表是指:水平拆分的数据库或者数据表的相同路基和数据结构表的总称。比如用户数据根据用户sex%2+1拆分为2个表,分别是:t_staff1和t_staff2。他们的逻辑表名是:t_staff。 在shardingjdbc中的定义方式如下 数据分片是最小单元。由数据源名称和数据表组成,比如:ds0.t_staff1。 寻找规则如下:
SpringBootSpringboot 集成 Sharding-JDBC+Mybatis实现读写分离
Sharding-jdbc是开源的数据库操作中间件;定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。 官方文档地址: https://shardingsphere.apache.org/document/current/cn/overview/ 本节用到的具体基础代码创建过程可以参考 《Spring-Boot整合MyBatis》
数据库MySQL主从结构搭建
由于最近有个项目随着业务增长存在并发压力隐患,优化迫在眉睫。由于当前系统是单数据库系统原因,能优化的地方也尽力优化了但是数据库瓶颈还是严重限制了项目的并发能力。所以就考虑了添加数据库来增大项目并发能力。考虑到读写分离等,从而需要进行mysql主从复制。在此介绍如何进行mysql主从搭建。 由于需要提前进行搭建测试,本地使用了VirtualBox创建了两个虚拟机,具体如何创建可以参考 《win10搭建Vagrant+VirtualBox环境》 。同时准备两个mysql数据库,linux下mysql安装方法可以参考 《linux下安装mysql-5.7.23详细步骤》 。从而我们环境准备如下: 注
转载数据库浅谈分库分表
关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。 数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定位、整合。数据切分就是将数据分散存储到多个数据库中,使得单一数据库中的数据量变小,通过扩充主机的数量缓解单一数据库的性能问题,从而达到提升数据库操作性能的目的。 数据切分根据其切分类型,可以分为两种方式:垂直(纵向)切分和水平(横向)切分 不管是IO瓶颈
java使用java在线生成二维码
说到二维码,我相信大家每天都会用到,尤其是在手机支付的场景,使用频率极广。在实际的业务开发过程中,二维码的使用场景开发也会经常出现在我们开发人员的面前,我们应该如何去处理呢,今天就带着大家一起深入的了解一下它的技术实现过程。 在 Java 生态体系里面,操作二维码的开源项目很多,如 SwetakeQRCode、BarCode4j、Zxing 等等。 今天我们介绍下简单易用的 google 公司的 zxing,zxing 不仅使用方便,而且可以还操作条形码或者二维码等,不仅有 java 版本,还有 Android 版。
javajava8中Optional使用
在Java中对一个空对象进行操作时,便会抛出最常见的异常NullPointerException。为了改善这个问题,Java 8中提供了一个java.util.Optional类型。Optional类的Javadoc描述如下:这是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。下面介绍Optional类的使用方法。 我们县创建好测试实体: Address.java
javascriptJavaScript实用的小技巧
注意:规范要求在写入剪贴板之前使用 Permissions API 获取“剪贴板写入”权限。但是,不同浏览器的具体要求不同,因为这是一个新的API。有关详细信息,请查看compatibility table and Clipboard availability in Clipboard。 通过document.cookie 来查找cookie值