6 longwentao1999

尚未进行身份认证

正在通往架构师的路上.....

等级
TA的排名 4w+

Shiro权限控制之整合thymeleaf做细粒度的权限校验(五)

一、前言在Shiro的官方文档中,默认介绍的是与JSP整合来做页面上的权限控制,Shiro有一套自己的标签库,能与JSP无缝整合,只需要在JSP页面上引入Shiro的标签库即可<%@taglibprefix="shiro"uri="http://shiro.apache.org/tags"%><%@taglibprefix="c"uri="http://jav...

2019-04-11 22:57:00

Shiro权限控制之注解验证异常处理(四)

一、目标权限验证异常时,对异常进行封装,使之不直接抛给用户二、前言在前面的一篇博文中《Shiro权限控制之注解验证(三)》,权限验证异常时,异常信息直接抛到页面显示,如何处理验证时的异常信息呢,请看下面的介绍三、定义异常处理类异常有两种,登录认证异常和权限认证异常,分别对应的异常类是登录认证异常:UnauthenticatedException,AuthenticationExcept...

2019-04-11 00:01:47

Shiro权限控制之注解验证(三)

一、目标通过注解方式实现URL的权限验证二、前言在前面的一篇博文中《Shiro权限控制之自定义Filter(二)》,我们的权限验证是配置在shiro配置文件中的,即在spring-shiro-web.xml中的ShiroFilterFactoryBean的filterChainDefinitions属性中,如下<!--Shiro的web过滤器--><...

2019-04-10 23:56:42

Shiro权限控制之自定义Filter(二)

通过自定义Filter实现权限配置,如某个URL需要某个角色的某个权限才能操作

2019-04-07 13:07:41

Shiro权限控制之整合Spring(一)

1.介绍如何在SpringMVC中整合Shiro权限框架2.介绍如何使用Shrio进行身份验证,如常见的登录3.介绍如何控制哪些服务登录后才能访问,哪些服务不需要登录就可以访问

2019-03-30 14:37:56

使用 Maven profiles实现不同环境打包

在项目开发过程中,通常会有多套环境,如dev环境,SIT环境,uat环境,演练环境及生产环境,每个环境的配置都不相同,如何根据需要打不同环境的包呢,Maven的profile为我们提供了简单快捷的配置方式,通过激活不同的配置,就可以打出相应环境的包一、工程结构我的工程结构如下在src/main/resources/prop/目录下,分别有dev,sit,prod三个环境的配置,接下来,我们...

2019-03-16 01:03:44

性能优化之通过Aspose组件将Word/Excel/PPT/PDF转成HTML文件,解决大附件预览性能问题

在最近的一个项目中,遇到一个非常棘手的性能问题,场景是这样的:有PC端和手机端两个应用,用户在PC端上传的附件,如word,Excel,pdf等,当用户出差或不在电脑边上时,上传的附件在手机端能够打开预览。然后问题就来了,当在PC端上传的附件比较大,在手机端想要预览就比较慢,有时候甚至打不开,怎么解决这个性能问题呢?一、多线程分段下载分析:在预览的时候,将原文件切分成多分,使用多线程分段下载,...

2019-01-25 15:03:23

Java POI实现Excel导入-通用组件

在工作中,会经常大量使用到Excel导入,如果每个开发人员都自己实现一套Excel导入,带来的问题是研发效率降低,项目中存在大量重复的代码,这时就有必要将Excel导入写成通用组件,开发人员使用该组件,便可轻松实现导入功能设计思路:1.将Excel导入设计成模板形式,导入前需要配置此模板2.通过反射的形式调用对应VO的属性的set方法,给属性赋值3.返回解析后的结果集Excel导入模板设...

2019-01-10 11:23:07

Spring MVC实现文件上传功能

平时在工作中,我们会经常使用到文件上传的功能,刚好前一段时间,正好用过这段

2019-01-05 08:43:27

《架构系列四:一键部署应用到Tomcat集群中》

基于前面两遍文章,我们配置了nginx+Tomcat集群,这时候怎么将应用部署到集群中呢,用手工一个一个的部署,这即费时,又费力,这里,我们通过脚本方式,一键将应用部署到群集中集群信息VM1:192.168.130.128VM1:192.168.130.129物理机:MacTomcat路径:/home/ubuntu/dev_tools/apache-tomcat-7.0.62...

2018-12-28 11:00:06

那个16岁盗走马化腾QQ 震惊央视的农村男孩去哪了

十几年前,还没有微博、微信、知乎。但在网络上却有这样一个无人不知,无人不晓的江湖——“天涯社区”,和它的名字一样,这里鱼龙混杂,又有情有义,有无数大神。当年的天涯孕育了一个又一个爆点:慕容雪村和他的《成都,今夜请将我遗忘》、芙蓉姐姐、奇葩小月月、天下霸唱和他的《鬼吹灯》……如今,论坛的黄金时代落下帷幕,逐渐走向衰落的天涯或许只能成为天涯“沦落人”共同的回忆,成为互联网历史中的一段传奇。...

2018-08-27 08:27:10

使用slf4j和logback记录日志

前言Logback是由log4j创始人设计的一个开源日志组件,性能比log4j的性能还好,将会逐步地替代掉log4j,Logback需要和slf4j一起使用,slf4j只提供接口,没有提供具体的实现,Logback很好的实现slf4j中的接口,现在来看看如何使用logback记录日志导入依赖logback依赖如下几个Jar包slf4j-api.jar,logback-core....

2018-07-14 12:34:54

架构系列四:Maven实现动静分离打war包及zip包

目标:实现Maven动静分离打包,静态资源打成zip包,动态资源打成war包工程结构打包前先看下工程结构我的静态资源都是放在webapp目录下面,有css,fonts,html,images,js,根目录下的login.js,login.html,打包时需要将这些静态资源文件打成单独的zip包,动态资源打成单独的war包打war包pom.xml文件内容如下<bui...

2018-07-14 06:14:20

Callable+ThreadPoolExecutor实现多线程并发并获得返回值

前言经常会遇到一些性能问题,比如调用某个接口,可能要循环调用100次,并且需要拿到每一次调用的返回结果,通常我们都是放在for循环中一次次的串行调用,这种方式可想而知道有多慢,那怎么解决这个问题呢?多线程为了解决以上问题,我使用的方式是多线程。多线程常规的有两种实现方式,即继承Tread类,实现Runnable接口,但是这两种实现方式,有一个共同的问题,就是没有返回值,对于我们来说,获...

2018-06-20 00:05:49

架构系列三:使用Keepalived+Nginx+tomcat实现集群部署

在前面的一篇文章《架构系列二:使用Nginx+tomcat实现集群部署》,介绍了通过Nginx配置Tomct集群,当其中一个Tomcat服务停止后,Nginx可自动识别并选择另一个服务器响应用户请求,达到了Tomcat集群的效果,那如果Nginx服务器停掉后,就会导致整个应用不可用,因此引入了keepalived,通过keepalived配置Nginx集群,保证Nginx的高可用性。一、环境介...

2018-06-18 17:48:46

架构系列二:使用Nginx+tomcat实现集群部署

在前面的一篇文章《架构系列一:系统架构的演变》中,简单介绍了系统架构的演变,从单机到集群部署,现在的企业级项目,可以说99.99%以上的项目,都是集群部署,作为一个程序员,这是一个不得不会的技能,现在就基于keepalived+nginx+tomcat搭建一套完整的集群一、环境介绍虚拟机1:Ubuntu-S100IP:192.168.130.128主要部署Tomcat应用虚拟机2...

2018-06-10 20:38:00

架构系列一:大型项目架构演进过程

作为一名程序员,单单只为了Coding是远远不够的,想要走的更高更完,还必需懂Coding之外的其他东西,如架构设计,系统分析等,今天就架构这块,谈谈自己的理解一、单机时代单机时间的应用,都很简单,一个应用,一台服务器,就搞定了,大至的架构设计如下图用户通过Internet访问某个网站,经过DNS服务器解析,找到对应的服务器地址,请求服务器,响应用户请求的信息优点:1.部署...

2018-06-09 12:20:11

在CentOS中安装JDK1.8

1.下载JDK在官网中下载JDK1.8,官网地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html2.安装JDK新建/usr/java文件夹,使用rpm-qa|grepsz或rpm-qa|greprz命令,将jdk-8u171-linu...

2018-05-15 22:57:43

在CentOS中卸载MySQL

1.登录数据库,showdatabases命令查看之前已经创建好的数据库mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||mairuan||mysql...

2018-05-14 15:23:59

在CentOS中安装mysql5.7

1.卸载原有的mysql数据库使用如下命令查看系统中是否有安装mysql数据库[root@mair-001~]#rpm-qa|grepmysql如果有的话,通过rpm-e命令或者rpm-e–nodeps命令来卸载掉[root@mair-001~]#rpm-emysql  //普通删除模式[root@mair-001~]#rpm-e–...

2018-05-09 23:21:30

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!