- 博客(102)
- 收藏
- 关注
原创 Shiro架构
外部图 从应用程序角度来观察如何使用Shiro完成工作 • Subject 应用代码直接交互的对象是Subject,也就是说 Shiro 的对外API 核心就是Subject。Subject 代表了当前“用户”, 这个用户不一定是一个具体的人,与当前应用交互的任何东西都是Subject,如网络爬虫,机器人等;与 Subject的所有交互都会委托给 Sec
2017-07-31 19:52:45
596
6
原创 Shiro概述
Apache Shiro 是 Java的一个安全(权限)框架。可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在 JavaEE 环境。Shiro 可以完成:认证、授权、加密、会话管理、与Web 集成、缓存等。 • Authentication 身份认证/登录,验证用户是不是拥有相应的身份; • Authorization 授
2017-07-31 16:28:02
613
9
原创 json web token的构成
JWT长什么样? JWT是由三段信息构成的,将这三段信息文本用.链接一起就构成了Jwt字符串。就像这样:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFO
2017-07-31 16:06:32
987
9
原创 json web token概念
什么是JWT Json webtoken (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token
2017-07-30 21:59:11
500
12
原创 get和post
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 上面
2017-06-30 23:30:10
350
14
原创 jar文件
定义jar文件(Java Archive File),即Java档案文件。当开发了一个应用程序后,这个程序包含了很多类,如果需要把这个程序提供给别人使用,通常会将这些类文件打包成一个jar文件,把这个jar文件提供给别人使用。只要别人在它的CLASSPATH环境变量中添加这个jar文件,则JVM就可以自动在内存中解压这个jar包,把这个jar文件当成一个路径,在这个路径中查找所需要的类或包
2017-06-30 23:28:44
456
13
原创 泛型
定义所谓泛型,就是运行定义类、接口时指定类型参数,这个参数将在声明变量、创建对象时确定。jdk1.5改写了集合框架中的全部接口和类,为这些接口、类增加了泛型支持,从而可以在声明集合变量、创建集合对象时传入类型实参,比如:List和ArrayList背景java集合有个缺点:当把一个对象“丢进”集合后,集合就会“忘记”这个对象的数据类型,当再次取出该对象时,该对象的编译类型就变成了o
2017-06-30 23:28:13
839
11
原创 堆和栈
为什么有栈和堆当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会逐个放入这块栈内存里。随着方法的执行结束,这个方法的内存栈也将自然销毁了。因此,所有在方法中定义的变量都是放在栈内存中的。当我们在程序中创建一个对象时,这个对象将被保存到运行时数据区中,以便反复利用(因为对象的创建成本通常较大),这个运行时数据区就是堆内存。堆内存中的对象不会随方法的结束而销毁,
2017-06-30 23:27:36
362
12
原创 http与https的区别
超文本传输协议http被用于在web浏览器和网站服务器之间的信息传递。http以明文方式发送内容,不提供任何方式的数据加密。如果攻击者截取了web浏览器与网站服务器之间的传输报文,就可以直接读懂其中的信息,因此http不适合传输一些敏感信息,比如银行卡号、密码等。 为了解决http这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议https。为了数据传输的安全,http
2017-04-30 19:24:03
973
17
原创 keepalived概述
背景 Nginx具有单点故障的风险,为了避免这种问题的发生,所以引入Keepalived做心跳检测,这样可以实现Nginx的高可靠。是什么 Keepalived是一个高性能的服务器,可提供高可用和双机热备解决方案,可用来防止服务器单点故障的发生。作用 它的作用是检测web服务器的状态。如果有一台web服务器死机,或者
2017-04-30 19:21:03
983
15
原创 Nginx概述
背景 当网站的访问量达到一定的数量后,单台服务器不能满足用户的请求,需要多台服务器时,这时候就可以用Nginx来做反向代理。并且多台服务器可以平均分担负载,不会因为一台服务器闲置,而另一台服务器负载高而怠机。 如图所示:当用户访问地址时,通过阿里云服务器,可以代理到Nginx服务器上,利用Nginx内置的算法(轮询和weight算法),将发送的请求转发到最底层的
2017-04-30 19:17:44
782
14
原创 数据库连接池
如果是一个简单的应用,对于数据库的访问不频繁,当我们访问数据库时,就新建一个连接,用完后就关闭。这样不会带来性能上的明显开销。但是对于一个复杂的数据库应用,频繁的建立、关闭连接,会极大降低系统的性能。
2017-04-30 19:13:59
726
16
原创 二级缓存原理
原理 首先开启mybatis的二级缓存。 sqlSession1去查询用户id为1的用户信息,查询到用户信息会将查询数据存储到二级缓存中。 如果SqlSession3去执行相同mapper下sql,执行commit提交,清空该 mapper下的二级缓存区域的数据。 sqlSession2去查询用户id为1的用户信息,去缓存中找是否存在数据,如果存在直接从缓存
2017-03-31 22:01:15
1015
11
原创 缓存概念
mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。 mybaits提供一级缓存,和二级缓存。 一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。 二级缓存是mapper级别的缓存
2017-03-31 21:56:51
548
11
原创 [sql映射]resultMap和resultType
resultType 作用 将查询结果按照sql列名pojo属性名一致映射到pojo中 场合 常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示在页面时,此时可直接使用resultType将每一条记录映射到pojo中,在前端页面遍历list(list中是pojo)即可 resultMap 使用
2017-03-31 21:49:23
924
12
原创 mybatis概念
定义 mybatis是一个持久层的框架,是Apache下的顶级项目 它让程序员将主要经历放在sql上,通过自身提供的映射方式,自由灵活生成满足需要的sql语句 它可以将向preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象 执行过程 1.配置mybatis的配置文件,SqlMapC
2017-03-31 21:39:38
719
10
原创 DataGrid显示后台数据
由于这两三周都非常的忙,不仅是公司还是考研,弄得我没有了之前的节奏感。现在研考完了,公司也不忙了,写篇博客吧 。。 这篇博客很简单,主要写的是 DataGrid显示后台数据,通过这篇博客会了解到datagrid的用法、json的用法、以及json特殊字符过滤。 一、JS中的DataGrid ta为table标签 二、json获取数据 三、js
2016-12-26 21:18:21
3053
26
原创 Cookie、Session浅析
一、Cookie 1、概念 存在于客户端,cookie就是服务器在你的电脑上保存了一些数据,并且是文本文件。当你下一次访问同一个服务器的时候,这个服务器会将一些键值对返回给客户端浏览器,从你的cookie资料里读出它上次保存的文本内容,进行判断,如果符合条件,就会给你相应的内容。 2、作用 在一个很短的时间内,如果与用户相关的数据被频繁访问,可以针对这个数据做缓存,
2016-11-27 10:46:55
959
29
原创 【.NET】<% %>的使用
asp.net中的代码分离模式我们肯定都不陌生,c#(或者其它语言)写的代码一般不会和设计语言html混在一起,但是有的时候也避免不了,这时就会在UI页面里用来绑定显示、绑定变量数据了。 一、 %> 这种格式实际上javascript有异曲同工之妙。 特别注意:服务器控件中不能包含的语法,否则出错。 如下,我们可以在.aspx页面里出现如下代码:<%int
2016-11-20 14:22:51
1037
28
原创 【.NET】EsayUI-Tree与后台的交互
关于树形结构显示的内容有两种,一种是显示的内容直接来自于前台页面的固定文本,另一种是来自于数据库,就是将数据库里的内容进行提取,在页面进行显示。 第一种很容易实现,所以在这里不在多说。要实现第二种的效果,也有很多的实现方法。接下来我要介绍的这种方法是需要使用EasyUI-Tree。关于前台的树加载的文本是由固定的Json格式的,也就是说我们从后台获取的数据库内容是不能直接显示的,需要进行J
2016-11-19 20:05:55
1342
23
原创 SpringMVC框架搭建
SpringMVC是spring框架的一个模块,SpringMVC和Spring无需通过中间整合层进行整合。SpringMVC是一个基于MVC的web框架一、web.xml配置 msh org.springframework.web.context.ContextLoaderListener contextConfigLocation cl
2016-11-16 17:25:26
610
25
原创 JQuery Ajax实例
JQuery在异步提交方面封装的很好,直接用Ajax非常麻烦,JQuery大大简化了我们的操作,不用考虑浏览器的差异了。 一、ajax的一般格式$.ajax({ type: 'POST', url: url , data: data , success: success , dataType: dataType
2016-11-13 10:28:05
553
22
原创 JSON对象与JSON字符串的区别
JSON对象是直接可以使用JQuery操作的格式,和js中的对象一样,可以用对象(类名)点出属性(方法)。 JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert()它 JSON对象var str1 = { "name": "Dwyane", "sex": "man" }; JSON字符串var str2
2016-11-12 16:01:44
1169
18
原创 JSON浅析
在实习的这几天中,遇到了一个问题,代码中出现了大量的用stringbuilder拼接而成的JSON字符串,而且值中还嵌套着值,捋的时候非常费劲。这也是我之前欠下的,所以要及时的还上。。 一、定义 JSON(JavaScriptObject Notation),是轻量级的文本数据交换格式。JSON使用JavaScript语法来描述数据对象,但是它仍然独立于语言和平台,所以,JSON解
2016-11-12 11:35:41
512
21
原创 Mybaits的优缺点
通过上篇介绍mybatis与hibernate区别,我们已经能得出一些mybatis的优缺点,但那只是相对于hibernate的,并不全面,我来继续总结mybatis的优缺点,以便大家对于mybatis的了解能更全面些。但我所说的优缺点,仅是我个人总结并结合使用体验后得出的结果,并不能代表大众想法,因此才以“浅谈”作为文章标题。如果大家的见解与我不同,欢迎积极提出来一块讨论,我也借以弥补自己认识的
2016-10-31 22:42:54
808
13
原创 SpringMVC常用注解
一、使用 @Controller定义一个 Controller控制器@Controller//用于标注控制层组件在SpringMVC中,Controller用来处理请求,它把用户请求的数据,经过service层处理之后,封装成一个Model,然后再把该Model返回给对应的View进行展示。在SpringMVC中,用“@Controller”标记一个类是Controller,然
2016-10-31 22:36:13
488
11
原创 eclipse最常用的15中快捷键
引言 做Java开发的,经常会用Eclipse或者MyEclise集成开发环境,一些实用的Eclipse快捷键和使用技巧,可以在平常开发中节约出很多时间提高工作效率,下面我就结合自己开发中的使用和大家分享一下Eclipse中常用到的快捷键和技巧。 1、alt+?或alt+/:自动补全代码或者提示代码这个是我最得意的快捷键组合了,尤其是当输入syso几个字
2016-10-31 22:33:47
902
13
原创 Struts2原理
定义 1、优秀的MVC框架,基于Model2设计模型 2、由传统的Struts1和WebWork两个经典框架发展而来核心功能 1、允许POJO(Plain Old Java Objects)对象作为Action 2、Action的execute方法不在于ServletAPI耦合,更易测试 3、支持更多视图技术(JSP、FreeMarker、Vel
2016-09-30 23:04:54
595
13
原创 SSH(Struts2)框架搭建
SSH框架,是当今比较流行的项目开发框架,那么掌握他的第一步自然是学习如何配置环境,javaWeb开发的无论哪种框架都离不开各种xml配置,虽然说配置在网上到处都有,但是要成为高手,必须要明白配置中每一部分的意义,分析它的规律,因此走好这第一步至关重要。
2016-09-30 22:13:58
1210
14
原创 【Jmeter】参数化设置
参数化的主要作用是为高并发模块添加不同用户在录制的脚本中有登陆操作时,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。。这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问。
2016-08-31 22:18:17
2430
12
原创 Jmeter性能测试
Jmeter是Apache组织开发的基于Java的性能测试工具。用于模拟大量用户的并发访问,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。
2016-08-31 21:59:42
801
11
原创 性能测试
一个合理的平均响应时间会给用户良好的体验效果,通过大量的数据分析,得出了2/5/10原则。该原则指出,在2秒内给客户响应被用户认为是“非常有吸引力”的用户体验。 在5秒之内响应客户被认为“比较不错”的用户体验,在10秒内个用户响应被认为“糟糕”的用户体验。如果超过10秒还没有得到响应,那么大多用户会认为这次请求时失败的。。
2016-08-31 21:32:06
542
11
原创 【DRP】oracle彻底卸载
由于项目的需要,所以前一段时间安装了oracle。根据网上查的教程,轻轻松松的就安装上了,但是在PL/SQL与oracle连接配置的时候,出了问题,自己根据网上查的各种解决方案乱调,一下午过去了,还是没有解决。所以就决定卸载重装。。以前卸载SQLServer的时候吃过亏,就怕卸不干净,所以很是谨慎呀,最后终于总结出了一套方案。。
2016-08-07 22:17:02
733
16
原创 SSH框架流程
网上商城项目不仅让我学到了SSH框架的应用,还让我对以前的知识进行了回顾,让我收获很多。在这期间遇到了很多错误,花费了很长时间,但几乎都是自己不细心造成的。。所以,我在想是应该庆幸,遇到了这么多的错误,让自己提升了很多;还是应该警醒,细节决定成败!
2016-07-31 22:35:10
684
11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人