Java学习者,热爱编程,喜欢与各领域人士交流
Bootstrap github地址:https://github.com/twbs/bootstrap 官方网站:https://getbootstrap.com/ 官方文档:https://getbootstrap.com/docs/ Bootstrap中文网:http://www.bootcss.com/ Bootstrap 是全球最受欢迎的前端组件库,用于开发响应式布局、移动设备优先的 WEB 项目。
Zuul作为微服务系统的网关组件,是从设备和网站到Netflix流应用程序后端的所有请求的前门。作为边缘服务应用程序,Zuul旨在实现动态路由,监控,弹性和安全性。
分布式系统消息通信技术简介 分布式系统消息通信技术主要包括:RPC(Remote Procedure Call Protocol) 一般是C/S方式,同步的,跨语言跨平台,面向过程CORBA(Common Object Request Broker Architecture) 从概念上扩展了RPC,面向对象的,企业级的 面向对象中间件还有分布式组件对象模型DCOMRMI(Remote Method Invocation) 面向对象方式的 Java RPCWebService 基于Web,C/S或B/S,跨系统跨平台跨网络。
简介: Turbine是聚合服务器发送事件流数据的一个工具,Hystrix的监控中,只能监控单个节点,实际生产中都为集群,因此可以通过Turbine来监控集群下Hystrix的metrics情况Turbine的github地址:https://github.com/Netflix/Turbine 使用场景 在复杂的分布式系统中,相同服务的结点经常需要部署上百甚至上千个,很多时候,运维人员希望能够把相同服务的节点状态以一个整体集群的形式展现出来,这样可以更好的把握整个系统的状态。
来源 Feign使得 Java HTTP 客户端编写更方便。Feign 灵感来源于Retrofit、JAXRS-2.0和WebSocket。Feign 最初是为了降低统一绑定Denominator到 HTTP API 的复杂度,不区分是否支持 Restful。
Hystrix:熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。 github地址:https://github.com/Netflix/hystrix 微服务存在的问题 在微服务架构中,我们将系统拆分为很多个服务,各个服务之间通过注册与订阅的方式相互依赖,由于各个服务都是在各自的进程中运行,就有可能由于网络原因或者服务自身的问题导致调用故障或延迟,随着服务的积压,可能会导致服务崩溃。
作为Java开发人员,对于日志记录框架一定非常熟悉。而且几乎在所有应用里面,一定会用到各种各样的日志框架用来记录程序的运行信息。而对于一个成熟的Java应用,这个是必不可少的。
SpringBoot一般打包成jar或者war 用IDEA创建的项目默认是打包成jar包的 如果想打成war包需要在pom.xml中把jar改为war war 需要加目录webapp,然后在webapp下加WEB-INF目录,在WEB-INF目录新建个web.
JWT官网: https://jwt.io/JWT(Java版)的github地址:https://github.com/jwtk/jjwt 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).定义了一种简洁的,自包含的方法用于通信双方之间以JSON对象的形式安全的传递信息。
Spring Cloud Ribbon 是一个基于Http和TCP的客户端负载均衡工具,基于Netflix Ribbon实现的。它不像服务注册中心、配置中心、API网关那样独立部署,但是它几乎存在于每个微服务的基础设施中。
Zookeeper简介 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。
Spring Cloud Consul是HashiCorp( Vagrant的创建者)开发的一个服务发现与配置项目,与Docker容器可以无缝集成。Consul是一套开源的分布式服务发现和配置管理系统,支持多数据中心分布式高可用。
上次我们讲了Spring Cloud Eureka服务端,这次来说下客户端。客户端简单来说就是把服务注册到服务端 Eureka客户端 主要处理服务的注册和发现。
Eureka简介和作用 Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装。
Spring→SpringBoot→SpringCloud Spring是一个轻量级的Java开发框架,它能使用基本的JavaBean代替EJB。SpringBoot是由Pivotal团队提供的全新框架,用来简化新Spring应用的初始搭建和开发过程。
在工作中遇到一个需求,需要定时自动执行某项功能,这就需要用到定时任务了。 定时任务调度:基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行任务。 定时任务调度的几种实现方式: Timer: Timer由JDK自带,不需要引入多余的jar。
必备条件 1.linux服务器,可以是CentOS/Ubuntu/Redhat 2.web服务器,可以是nginx/apache/tomcat 3.一个独立域名(cn/com/org) 服务器选择: 推荐用linux,相比window更加稳定,性能更加优越 Ubuntu官网地址:https://www.
在Java开发中,多多少少会遇到过端口被占用,然后启动项目就报错的情况 其中最常见的就是tomcat端口占用,很多情况下强制关闭编译器就会导致端口没有正常关闭,依然在使用的情况 先上异常 org.
单体架构 什么是单体架构 一个归档包(例如war格式或者Jar格式)包含了应用所有功能的应用程序,我们通常称之为单体应用。架构单体应用的方法论,我们称之为单体应用架构,这是一种比较传统的架构风格。
在现今的项目开发中,虽然数据的传输大部分都是用json格式来进行传输,但是xml毕竟也会有一些老的项目在进行使用,正常的老式方法是通过获取节点来进行一系列操作,个人感觉太过于复杂、繁琐。
有时候后端需要接收别人的数据时,springboot也可以做到,一般是使用RestTemplate 需要先引入httpclient依赖 在pom.xml中加入如下代码(版本一般选择比较新的) org.
反向代理负载均衡(如Apache+JK2+Tomcat这种组合) 使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的。
在启动tomcat的过程中,控制台报以下错误 An incompatible version [1.2.12] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14] 这是tomcat在安装本地APR库时的版本不兼容所导致的,这里显示版本最好为1.2.14,不过这个错误不影响程序的正常运行。
在项目开发中,肯定少不了异常的出现,作为后台开发人员,我们总是在不停的写各种接口提供给前端调用,然而不可避免的,当后台出现BUG时,前端总是丑陋的讲错误信息直接暴露给用户,这样的用户体验想必是相当差的 先写一个错误请求 @GetMapping("api...
在实际的项目开发中,常常需要使用到分页,分页方式分为两种:前端分页和后端分页。前端分页:一次ajax请求数据的所有记录,然后在前端缓存并且计算count和分页逻辑,一般前端组件(例如dataTable)会提供分页动作。
对于前后端分离的项目来说,如果前端项目与后端项目部署在两个不同的域下,那么势必会引起跨域问题的出现。 什么是跨域? 跨域,指的是浏览器不能执行其他网站的脚本。
TCP与UDP的主要区别: TCP—传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。
TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。
最近我打算把我Mysql数据库5.5版本换成最新的5.7.20版本 首先需要在官网上下载:https://dev.mysql.com/downloads/mysql/ image.
shiro是一个权限框架,具体的使用可以查看其官网 官网地址:https://shiro.apache.org/Shiro是Apache下的一个开源项目,我们称之为Apache Shiro。
SpringSecurity是专门针对基于Spring项目的安全框架,充分利用了依赖注入和AOP来实现安全管控。在很多大型企业级系统中权限是最核心的部分,一个系统的好与坏全都在于权限管控是否灵活,是否颗粒化。
Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。
自定义用IDEA编程创建一个新的文件时自动产生的名字和时间 File→Settings image.png 第一次设置的时候${USER}为自定义名字 根据最新的阿里巴巴Java开发手册应这样设置 /** * * @author ...
首先,很多第三方短信验证码都可以,为什么我要选择mob的呢? 因为mob的短信验证码是完全免费mob的官网:http://wiki.mob.com/ MOB支持IOS,Android,Unity3d,Cocos2d-X的集成, 那Java怎么用呢? 其实MOB开发文档中有详细的介绍。
有时候我们需要导入Excel文件,并读取里面的数据 在springboot中我们通常使用POI读取解析Excel文件 在使用POI之前我们需要引入必要的依赖 org.
HttpSession是通过Servlet容器创建和管理的,像Tomcat/Jetty都是保存在内存中的。而如果我们把web服务器搭建成分布式的集群,然后利用LVS或Nginx做负载均衡,那么来自同一用户的Http请求将有可能被分发到两个不同的web站点中去。
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
方法级别的注释:首先点开设置面板,左上角文件->设置选择添加模板组 Paste_Image.png 输入一个组名(可以随便输入) 然后可以看到模板组已经加上去了 Paste_Image.
这次安装是基于腾讯云ubuntu操作系统 当你第一次在在linux中输入docker version时 Paste_Image.png 由于你没安装docker所以查询不了 在ubuntu中安装docker首先先看下系统的内核版本 uname -r 一定要大于3.
在做项目的时候,遇到这样的问题org.springframework.web.multipart.MultipartException 是上传文件大小大于默认大小了,springboot默认单次上传的文件不超过1M,如果要上传更大的文件需要在application.properties文件中更改设置。
Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。在java web开发中使用非常多,经常用来测试接口。 使用postman模拟json数据的发送 第一步:在header里边设置发送数据的类型 Paste_Image.
由于之前电脑还原系统了,注册信息被清空,所以很多软件都要重新安装,安装完mysql后,我试着运行之前的java web项目,发现存入的数据有乱码的现象。 首先可以排除的是我项目的代码问题,接着就是我mysql的问题,我试着输入查询编码 show VAR...
我使用Google Chrome后就对它爱不释手,Google Chrome功能强大,有着丰富的插件扩展,如果利用好这些,做事效率会事半功倍的,这里推荐下我正在使用的Chrome插件。
github是一个基于git的代码托管平台,付费用户可以建私人仓库,一般的免费用户只能使用公共仓库,也就是代码要公开。这对于一般人来说公共仓库就已经足够了。
Editplus官方地址:https://www.editplus.com/ 不过一般在官网下载都挺慢的,所以建议在百度下载 EditPlus 是我在使用的文本编辑器,用来编辑一些程序代码、网页是非常轻便的,感觉比 UltraEdit 要快,功能稍弱。
可以设置其他的页码和条数测试,均可以通过,所以分页的接口已经完成。单独拿出一个页面来实现 其实分页列表也没什么,重点在于做出列表局部刷新,减少页面请求。 具体的流程图如下: 按照上图中,可以看到我们只需要把上一页和下一页的ajax调用写好就能完成我们这个简单分页的网络请求。
行为日志的列表的分页显示 功能设定: 记录基本主机信息操作系统,IP地址,访问的浏览器内核,Session的Id还有操作时间 首先要设定要数据库字段,唯一的注意的地方是这边把记录行为日志的表做了个自增的ID。
拦截器的使用 SpringMVC中的Interceptor拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登陆 拦截器的详细介绍,请参阅这里 先要在spring-web.
登录注册 首先,我们webapp要实现用户登录,必须得能新建用户。所以先把注册用户放在前面。 预期功能:打开注册页面 填写注册信息 点击注册 显示注册后的提示信息 一个web注册页面 web页面能进行基本的数据效验 服务器能存储用户的注册信息 注册动作完成后,返回提示页面。
UserService实现(注意编程思维的养成) 根据面向接口编程的思维来讲,在Service中核心是实现Dao层,并调用Dao层。UserDao层通过单元测试了,现在中心就应该放在业务逻辑的实现,毕竟数据持久化已经实现了。