![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java入门篇
文章平均质量分 86
史天航
这个作者很懒,什么都没留下…
展开
-
java解析xls文件做报表上传的功能
controller层展示@RequestMapping(value = "/batch", method = RequestMethod.POST)public HttpResult batchAdd(@RequestAttribute User user, @RequestParam MultipartFile file) throws IOException, Bif...原创 2019-05-07 11:38:13 · 335 阅读 · 2 评论 -
SSM框架整合Shiro后的开发
手摸手教你SSM框架整合Shiro后的开发如果你对SSM框架的整合不是很熟悉,你或许可以参看我的这个项目SSM框架整合。下面我们就开始实现一个SSM+Shiro的权限管理项目吧!测试环境IDEA + Tomcat8 + Maven起步初始化数据库,请参考/db中的代码导入依赖导入Shiro框架需要的依赖:shiro-core-1.3.2.jarshi...原创 2018-12-10 16:23:27 · 245 阅读 · 0 评论 -
SSM+Redis+Shiro+Solr+Vue.js整合项目
手摸手教你优雅的实现电商项目中的Solr搜索功能,整合SSM框架和Shiro安全框架;教你用Vue.JS和ElementUI写出超漂亮的页面技术栈 后端: SSM + Shiro + Redis + Solr 前端: Vue.JS + ElementUI 测试环境IDEA + Maven + Tomcat8项目设计ssm-redis-solr├── READ...原创 2018-12-10 16:09:14 · 869 阅读 · 0 评论 -
使用SSM+Solr优雅的实现电商项目中的搜索功能
手摸手教你优雅的实现电商项目中的Solr搜索功能,整合SSM框架和Shiro安全框架;教你用Vue.JS和ElementUI写出超漂亮的页面技术栈 后端: SSM + Shiro + Redis + Solr 前端: Vue.JS + ElementUI 测试环境IDEA + Maven + Tomcat8项目设计 123456789...原创 2018-12-14 10:37:08 · 966 阅读 · 1 评论 -
Redis及Spring-Data-Redis入门学习
我们思考一个问题,使用Solr的目的是什么?肯定是为了加快服务器的相应速度。因为即使不适用Solr,通过请求数据库我们一样能完成搜索功能,但是这样会给服务器造成很大的压力。而Solr仅仅是在搜索功能中用到了,但是大量请求的数据不仅仅出现在搜索中,比如用户的登录信息,虽然数据量很小,但是整个项目每刷新一次页面都要请求一次用户登录的Token信息,也会拖慢服务器的响应速度。我们通常有两中解决方式:...原创 2018-12-14 10:37:14 · 150 阅读 · 0 评论 -
SSM框架整合Shiro后的开发
摸手教你SSM框架整合Shiro后的开发测试环境IDEA + Tomcat8 + Maven起步初始化数据库,请参考/db中的代码导入依赖导入Shiro框架需要的依赖:shiro-core-1.3.2.jarshiro-ehcache-1.3.2.jarshiro-quartz-1.3.2.jarshiro-spring-1.3.2.jarshiro-...原创 2018-12-13 09:14:18 · 328 阅读 · 1 评论 -
Solr及Spring-Data-Solr入门学习
Solr的安装与配置多数搜索引擎应用都必须具有某种搜索功能,而搜索功能往往大量的消耗资源导致应用程序运行缓慢。为此,出现了各种用于构建搜索的应用程序,我们要学习的solr正是其中的一款开源搜索平台。Apache Solr 是建立在Lucene(全文搜索引擎)之上,帮助我从大量的数据中寻找所需信息。不仅限于搜索,Solr也可用于储存目的。像其他NoSQL数据库一样,它是一种非关系数据储存和处...原创 2018-12-13 09:14:07 · 191 阅读 · 1 评论 -
JQuery-zTree.js使用范例
JQuery-zTree.js使用范例实现Tree树的插件很多,比如常见的UI:Layui、ElementUI、iView … 。这里我们介绍一个小巧的构建Tree树的插件 zTree.jszTree.js 官网API介绍的灰常详细了,这里我们实战使用zTree.js构建一棵Tree树。写在前面下列文章中讲述的实例,需要使用的后端数据是已经查询好的,这里我们不讲怎么查询数据,只讲...原创 2018-12-13 09:13:55 · 812 阅读 · 0 评论 -
Shiro实现权限管理之表结构设计
权限框架Shiro学习之表结构设计在学习完基础的Shiro入门知识,我们可以动手写一个小Demo了,这次我们将以一个用户-角色-权限管理的Demo来进一步学习Shiro。起步表设计开发用户-角色-权限管理系统,首先我们需要知道用户-角色-权限管理系统的表结构设计。在用户-角色-权限管理系统找那个一般会涉及5张表,分别为:1.sys_users用户表 2.sys_rol...原创 2018-12-13 09:13:33 · 1657 阅读 · 0 评论 -
Vue+ElementUI+SpringMVC实现分页
Vue + ElementUI + SpringMVC实现分页这一段时间写项目用到了Vue+ElementUI,这里记录一下使用ElementUI内置分页插件结合后端SSM框架的实现思路和实现过程。其中遇到了很多坑,我会尽量把见到的坑都记录下来,希望对你有所帮助。首先 让我们看一下最终效果:起步本博文的主要讲一下Vue+ElementUI结合后端SpringMVC实现分...原创 2018-12-13 09:13:22 · 1069 阅读 · 0 评论 -
Vue实现前后端分离项目的初体验
Vue实现前后端分离项目的初体验经过之前学习的Vue的知识:vue基本指令 vue组件 vue-resource vue路由其实我们已经可以开始实战运用到实际的Web项目中了,由于本人是Java后端开发的,所以后端是基于SpringMVC的。以下我们将演示如何使用Vue组件实现一个用户登录系统。介绍后端后端基于spring、springMVC、mybatis框...原创 2018-12-13 09:13:10 · 2374 阅读 · 1 评论 -
Vue路由
Vue路由什么是Vue路由? 后端路由:即请求的URL地址都对应后端的接口,请求URL响应对应的服务器的资源。 前段路由:对于单页面程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,hash有一个特点:HTTP请求中不会包含hash相关的内容;所以单页面程序中的页面跳转主要通过hash实现。 入门导入类库首先需要导入vue-router...原创 2018-12-13 09:12:55 · 190 阅读 · 0 评论 -
Vue组件
Vue创建组件什么是组件什么是组件?组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样地方功能,就可以去调用对应的组件即可。组件化和模块化的区别:模块化:是从代码逻辑的角度进行划分的,方便代码分层开发,保证每个功能模块的只能单一; 组件化:是从UI界面的角度进行划分的;前端的组件化,方便了UI组件的重用;定义Vue...原创 2018-12-13 09:12:41 · 206 阅读 · 0 评论 -
Vue过滤器和vue-resource
过滤器我们需要了解Vue的过滤器:Vue.js允许你自定义过滤器,可被用作一些常见元素的格式化。过滤器可以用在两个地方:mustache插值和v-bind表达式。用法: 1 {{ 过滤器名称 | function }} 定义:Vue提供了两种方式创建过滤器: 1、全局过滤器 1 ...原创 2018-12-13 09:12:31 · 201 阅读 · 0 评论 -
初识Vue
么是Vue.jsVue.js是目前很火的前端框架;与Angular.js、React.js并称为前端三大主流框架。 Vue.js是一套构建用户界面的框架,只关注视图层(MVC中的V层);它易于上手,便于和第三方库或既有项目整合, 在Vue中,一个核心的概念就是减少对DOM元素的操作,让程序员更多的去关注业务逻辑。后端的MVC和前端的MVVM之间的区别MVC是后端的分层开发概念 ...原创 2018-12-13 09:12:19 · 212 阅读 · 0 评论 -
Shiro实现权限管理之表结构设计
起步表设计开发用户-角色-权限管理系统,首先我们需要知道用户-角色-权限管理系统的表结构设计。在用户-角色-权限管理系统找那个一般会涉及5张表,分别为:1.sys_users用户表 2.sys_roles角色表 3.sys_permissions权限表(或资源表) 4.sys_users_roles用户-角色关联表 5.sys_roles_permissions角色-权限关...原创 2018-12-10 16:27:19 · 4007 阅读 · 0 评论 -
Shiro实现授权
shiro实现授权授权,也叫做访问控制,即在应用中控制谁能访问哪些资源(如访问页面、编辑数据、页面操作等)。在授权中需要了解几个关键对象:主体(Subject)、资源(Resource)、权限(Permission)、角色(Role)。授权的概念主体:主体,即访问应用的用户,在Shiro中使用Subject代表用户。用户只有授权后才允许访问相应的资源。资源:在应用中用户可以...原创 2018-12-10 16:29:51 · 7144 阅读 · 0 评论 -
linux环境搭建整理笔记
mysql启动命令service mysqld start进入mysqlmysql -uroot -p查看ip地址ip addr进入tomcat目录/bin,然后./startup.sh怎么在Tomcatexport JAVA_HOME=/usr/lib/jvm/jdk1.8export JRE_HOME=/usr/lib/jvm/jdk1.8/jreexport CLAS...原创 2018-12-12 11:31:42 · 164 阅读 · 0 评论 -
MySQL基本语句(二)
查询数据基本查询语句 123456789101112 select {* | <字段列表>} { form <表1>,<表2>... [where <表达式>] [group by <grop by definition>...原创 2018-12-12 11:31:33 · 137 阅读 · 0 评论 -
MySQL基本语法(一)
MySQL学习笔记之数据库、数据表的基本操作MySQL是一种小型关系型数据库管理系统1.SQL语言的分类数据定义语言(DDL): DROP、CREATE、ALTER等语句 数据操作语言(DML): INSERT、UPDATE、DELETE 数据查询语言(DQL): SELECT 数据控制语言(DCL): GRANT、REVOKE、COMMIT、ROLLBACK等语句2.数据库访问...原创 2018-12-12 11:31:26 · 219 阅读 · 0 评论 -
基于MySQL的留言回复功能
使用SSM框架实现留言回复功能(基于MySQL)之前一直纠结这个留言回复功能怎么写,在网上也没有找到一个明确的案例,这里我简单介绍一下我写的基于MySQL的留言回复功能。首先我们看一下效果图创建表结构留言表(Words) 1234567891011121314 create table words( #留言id编...原创 2018-12-11 10:05:42 · 3160 阅读 · 1 评论 -
Nginx搭建基于Hexo的Blog
1. 首先我们需要了解一下 Hexo ,官方有详细的介绍,这里不再赘述。我们直接看实战: 2. 搭建注意:MacOS 、 Linux 、Window用户会有所差别,请看一下 Hexo 官网教程。博主这里以MacOS为例。 安装Git 123456 1. Window用户请直接下载Git2. MacOS用户请在终端中输...原创 2018-12-11 10:02:36 · 707 阅读 · 0 评论 -
vim常用命令整理
vim编辑器常用命令整理常用命令 vim test.md 直接新建了一个test.md文件。 保存文件: 12 点击 `ESC` 键,在英文输入法状态下输入:`:wq` 保存并退出;`:wq!`强制保存并退出;`:w`保存但不退出;`:q`退出但不保存 删除: 12 ...原创 2018-12-11 10:00:21 · 135 阅读 · 0 评论 -
Linux常用命令
收集整理Linux系统常用命令(持续更新)1.新增1.mkdir命令 12 在/usr/local/目录下创建test文件夹:mkdir /usr/local/test 2.vim命令 12345678910111213141516 常用Linux的vim编辑器写...原创 2018-12-11 09:59:32 · 117 阅读 · 0 评论 -
Dubbox入门配置
Dubbox框架学习Dubbox是一个分布式服务框架,前身是阿里巴巴的开源项目Dubbo,后来阿里不再维护此框架;进而当当网进行了进一步维护,为了和Dubbo区分就取名为Dubbox。简单而言,在Dubbox中主要存在三种角色:注册中心(Registry)、 提供者(Provider)、消费者(Customer)。而作为分布式框架之一的Dubbox就能够实现消费方和提供方之间的远程调用,...原创 2018-12-17 09:27:48 · 291 阅读 · 1 评论 -
Dubbox入门之环境搭建
创建parent项目parent项目就是一个父类项目,他存在的意义就是管理其所有子项目的pom依赖。1.新建这里需要注意:上面我们已经提到了parent项目存在的意义就是管理子项目的pom依赖,所以这里不需要勾选Create from archetype,即我们不需要在parent父类项目中写代码。然后我们继续next。我们将父类项目名设置为dubbboxdemo-par...原创 2018-12-17 09:25:50 · 295 阅读 · 2 评论 -
DubboxDemo
项目注意细节之处dubbox-xx.jar,特别要要注意,我这里提供了一个版本的jar:dubbo2.8.4.jar传送门: 百度云 密码:k8qs。 注意配置各个模块之间的依赖关系。 运行项目首先运行service模块,然后再运行web模块。且注意两者的Tomcat的端口号不能相同。 运行项目之前首先需要在SecureCRT中打开服务器的zookeeper注册中心。项目测试环境-...原创 2018-12-17 09:23:47 · 196 阅读 · 1 评论 -
AngularJS入门案例
AngularJS入门 AngularJS核心的特性就是:MVC模式、模块化、双向绑定、依赖注入等特性。利用AngularJS,我们能很方便的实现HTML页面和后端的数据交互,让我们逐步脱离JSP页面;HTML+Javascript+AJAX技术让我们能够做出来更轻的Web应用。AngularJS四大特征MVC模式Model:数据,相当于angular中的变量($scop...原创 2018-12-17 09:21:06 · 234 阅读 · 0 评论 -
Solr及Spring-Data-Solr入门学习
Solr的安装与配置多数搜索引擎应用都必须具有某种搜索功能,而搜索功能往往大量的消耗资源导致应用程序运行缓慢。为此,出现了各种用于构建搜索的应用程序,我们要学习的solr正是其中的一款开源搜索平台。Apache Solr 是建立在Lucene(全文搜索引擎)之上,帮助我从大量的数据中寻找所需信息。不仅限于搜索,Solr也可用于储存目的。像其他NoSQL数据库一样,它是一种非关系数据储存和处...原创 2018-12-10 16:35:24 · 166 阅读 · 0 评论 -
Shiro实现身份验证
Shiro实现身份验证身份验证,即在应用中谁能证明他是他本人,一般提供如他们的身份ID、用户名、密码等来证明。在Shiro中,用户需要提供principals(身份)和credentials(证明)给Shiro,从而应用能验证用户身份:principals: 身份,即主体的标识属性,可以是任何东西,如用户名、邮箱,唯一即可。一个主体可以有多个principals,但只有一个Prim...原创 2018-12-10 16:31:37 · 911 阅读 · 0 评论 -
FastDFS系统搭建
手摸手教你搭建FasfDFS分布式文件系统由于正在学习的分布式项目中用到了FastDFS文件系统,因为各种原因就只好手动搭建环境。搭建过程确实很复杂,我也是折腾了好长时间才解决的,看了网上的教程,但很少有直接就能搭建成功得博文教程,所以这里自己写了一个完成的教程,并附带了所需的配置文件。需要注意的是Linux系统、版本的问题,我这里使用的是CentOS7的版本,如果大家搭建请尽量保证版本一...原创 2018-12-12 17:07:40 · 224 阅读 · 0 评论 -
部署神器Docker
-e 代表添加环境变量, MYSQL_ROOT_PASSWORD是root用户的登录密码进入MySQL容器,登录MySQL 1 [root@localhost ~]# docker exec -it docker_mysql /bin/bash 登录MySQL 1 mysql -u root -p ...原创 2018-12-12 17:04:48 · 159 阅读 · 0 评论 -
高性能HTTP服务器Nginx
Nginx是一款高性能HTTP服务器、反向代理服务器及电子邮件(IMAP、POP3)代理服务器,官方测试nginx能够支持5万并发连接。Nginx应用场景:http服务器。Nginx是一个http服务器,可以独立提供http服务。可以做网页静态服务器。 虚拟主机。可以实现在一台服务器虚拟出多个网站。 反向代理,负载均衡。当网站的并发量过大需要配置服务器集群时可以使用Nginx做反向...原创 2018-12-12 17:03:16 · 579 阅读 · 0 评论 -
SpringBoot实现Java高并发秒杀系统之并发优化(四)
本项目中做到了以下优化:秒杀接口采用md5加密方式防刷。 订单表使用联合主键方式,限制一个用户只能购买该商品一次。 配合Spring事务控制实现简单的优化。 使用redis缓存优化。Spring的事务控制Spring的声明式事务通过:传播行为、隔离级别、只读提示、事务超时、回滚规则来进行定义。传播行为事务的第一个方面就是传播行为。传播行为定义了客户端与被调用方法之间的事务边...原创 2018-12-12 17:00:46 · 882 阅读 · 0 评论 -
SpringBoot实现Java高并发秒杀系统之Web层开发(三)
前端交互流程设计编写Controller就是要搞清楚:1.页面需要什么数据?2.页面将返回给Controller什么数据?3.Controller应该返回给页面什么数据?带着这些问题我们看一下秒杀详情页流程逻辑(不再讲基本的findById和findAll()方法):因为整个秒杀系统中最核心的业务就是:1.减库存;2.查询订单明细。我们看一下Controller层的源码: ...原创 2018-12-12 16:58:36 · 909 阅读 · 0 评论 -
SpringBoot实现Java高并发秒杀系统之Service层开发(二)
Service接口的设计之前我们写好了DAO层的接口,这里我们要开始着手编写业务层接口,然后编写业务层接口的实现类并编写业务层的核心逻辑。设计业务层接口,应该站在使用者角度上设计,如我们应该做到: 1.定义业务方法的颗粒度要细。 2.方法的参数要明确简练,不建议使用类似Map这种类型,让使用者可以封装进Map中一堆参数而传递进来,尽量精确到哪些参数。 3.方法的r...原创 2018-12-12 16:57:13 · 247 阅读 · 0 评论 -
SpringBoot实现Java高并发秒杀系统之DAO层开发(一)
秒杀系统在如今电商项目中是很常见的,最近在学习电商项目时讲到了秒杀系统的实现,于是打算使用SpringBoot框架学习一下秒杀系统起步首先我们需要搭建SpringBoot项目开发环境项目设计 12345678910111213141516171819202122232425262728293031 ...原创 2018-12-12 16:54:49 · 319 阅读 · 1 评论