- 博客(191)
- 资源 (3)
- 收藏
- 关注
原创 Cas(09)——通过Proxy访问其它Cas应用
通过Proxy访问其它Cas应用 目录1.1 原理1.2 配置1.2.1 代理端1.2.2 被代理端1.3 请求示例 考虑这样一种场景:有两个应用App1和App2,它们都是受Cas Server保护的,即请求它们时都需要通过Cas Server的认证。现需要在App1中通过Http请求访问App2,显然该请求将
2014-10-27 17:41:52 1213
原创 Cas(08)——单点登出
单点登出 目录1.1 Cas Client端配置单点登出1.2 Cas Server端禁用单点登出 1.1 Cas Client端配置单点登出 单点登出功能跟单点登录功能是相对应的,旨在通过Cas Server的登出使所有的Cas Client都登出。Cas Server的登出是通过请求“/logout”发生的,即如果你的Cas
2014-10-27 17:41:47 3208
原创 Cas(07)——建立使用Cas进行单点登录的应用
建立使用Cas进行单点登录的应用 目录1.1加入cas-client-core-xxx.jar到classpath1.2配置Filter1.2.1AuthenticationFilter1.2.2TicketValidationFilter1.2.3HttpServletRequestWrapperFilter1.2.4AssertionThreadLocalFil
2014-10-27 17:41:41 849
原创 Cas(06)——基于数据库的认证
基于数据库的认证 目录1.1 BindModeSearchDatabaseAuthenticationHandler1.2 QueryDatabaseAuthenticationHandler1.2.1 PrefixSuffixPrincipalNameTransformer1.2.2 DefaultPasswordEncoder1.
2014-10-27 17:41:35 726
原创 Cas(05)——修改Cas Server的其它配置
修改Cas Server的其它配置 目录1.1 修改host.name1.2 修改SSO Session的超时策略1.3 修改允许管理service的角色1.4 修改logout后的重定向1.5 禁用logout后的回调1.6 修改service ticket的超时时间 1.1 修改hos
2014-10-27 17:41:29 947
原创 Cas(04)——更改认证方式
在Cas Server的WEB-INF目录下有一个deployerConfigContext.xml文件,该文件是基于Spring的配置文件,里面存放的内容常常是部署人员需要修改的内容。其中认证方式也是定义在这个文件中的,id为authenticationManager的bean的authenticationHandlers即定义了需要使用的AuthenticationHandler列表。默认使用
2014-10-27 17:41:23 1025
原创 Cas(03)——Cas Server中各配置文件介绍
Cas Server中各配置文件介绍 Cas Server中所有的配置文件都是放在WEB-INF目录及其子目录下的。 在WEB-INF/classes下的配置文件有:l cas-theme-default.properties:该文件存放的是css文件的路径,用户可以在这里指定使用的css文件为自定义的css文件,也可以更改配置文件中对应的css文件已更
2014-10-27 17:41:18 931
原创 Cas(02)——部署Cas Server
部署Cas Server Cas应用都需要有一个Cas Server。Cas Server是基于Java Servlet实现的,其要求部署在Servlet2.4以上版本的Web容器中。在此笔者将其部署到tomcat7中。Cas Server是要求使用https协议进行访问的,所以如果你的Web容器没有开启https通道,则需先开启。1.1 开启tomcat7的h
2014-10-27 17:41:12 621
原创 Cas(01)——简介
Cas的全称是Centeral Authentication Service,是对单点登录SSO(Single Sign On)的一种实现。其由Cas Server和Cas Client两部分组成,Cas Server是核心,而Cas Client通常就对应于我们的应用。一个Cas Server可以对应于多个Cas Client。它允许我们在一个Client进行登录以后无需再让用户输入用户名和密码
2014-10-27 17:41:07 1069
原创 Spring使用Cache、整合Ehcache
Spring使用Cache 从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用
2014-10-27 17:41:02 1117
原创 Ehcache(09)——缓存Web页面
页面缓存目录1 SimplePageCachingFilter1.1 calculateKey1.2 可配置的初始化参数1.2.1 cacheName1.2.2 blockingTimeoutMillis2 SimpleCachingHeadersPageCachingFilter3 Simpl
2014-10-27 17:40:56 962
原创 Ehcache(08)——可阻塞的Cache——BlockingCache
可阻塞的Cache—BlockingCache 在上一节我们提到了显示使用Ehcache锁的问题,其实我们还可以隐式的来使用Ehcache的锁,那就是通过BlockingCache。BlockingCache是Ehcache的一个封装类,可以让我们对Ehcache进行并发操作。其内部的锁机制是使用的net.sf.ehcache.concurrent.ReadWriteLock
2014-10-27 17:40:50 1092
原创 Ehcache(07)——Ehcache对并发的支持
Ehcache对并发的支持 在高并发的情况下,使用Ehcache缓存时,由于并发的读与写,我们读的数据有可能是错误的,我们写的数据也有可能意外的被覆盖。所幸的是Ehcache为我们提供了针对于缓存元素Key的Read(读)、Write(写)锁。当一个线程获取了某一Key的Read锁之后,其它线程获取针对于同一个Key的Read锁不会受到限制,但其它线程(包括获取了该Key的R
2014-10-27 17:40:45 1712
原创 Ehcache(06)——监听器
监听器 Ehcache中监听器有两种,监听CacheManager的CacheManagerEventListener和监听Cache的CacheEventListener。在Ehcache中,Listener是通过对应的监听器工厂来生产和发生作用的。下面我们将来介绍一下这两种类型的监听器。 1 CacheManager监听器 Ehca
2014-10-27 17:40:39 851
原创 Ehcache(05)——缓存的查询
缓存的查询目录1. 使Cache可查询1.1 基于Xml配置1.2 基于代码的配置2 指定可搜索的属性2.1 可查询属性类型2.2 属性的提取2.2.1 定义自己的AttributeExtractor2.2.2 JavaBeanAttributeExtractor2.2.3 Reflection
2014-10-27 17:40:33 872
原创 Ehcache(04)——设置缓存的大小
设置缓存的大小 目录1 CacheManager级别2 Cache级别3 大小衡量4 配置大小示例 缓存大小的限制可以设置在CacheManager上,也可以设置在单个的Cache上。我们可以设置缓存使用内存的大小,也可以设置缓存使用磁盘的大小,但是使用堆内存的大小是必须设置的,其它可设可不设,默认不设就是无限制。在设置
2014-10-27 17:40:27 1353
原创 Ehcache(03)——Ehcache中储存缓存的方式
Ehcache中储存缓存的方式 目录1 堆内存(MemoryStore)1.1 指定可用内存1.2 驱除策略1.3 元素过期2 非堆内存(BigMemory)3 磁盘(DiskStore)3.1 指定可用容量3.2 元素过期 在Ehcache中对于缓存的存储主要有三种方式:
2014-10-27 17:40:21 2221
原创 Ehcache(02)——ehcache.xml简介
ehcache.xml简介 ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信息参数创建CacheManager时,CacheManager将首先在
2014-10-27 17:40:16 711
原创 Ehcache(01)——简介、基本操作
Ehcache简介目录1 CacheManager1.1 构造方法构建1.2 静态方法构建2 Cache2.1 Cache的创建 Ehcache是用来管理缓存的一个工具,其缓存的数据可以是存放在内存里面的,也可以是存放在硬盘上的。其核心是CacheManager,一切Ehcache的应用都是从Cac
2014-10-27 17:40:10 588 1
原创 使用connect by进行级联查询
使用connect by进行级联查询 connect by可以用于级联查询,常用于对具有树状结构的记录查询某一节点的所有子孙节点或所有祖辈节点。 来看一个示例,现假设我们拥有一个菜单表t_menu,其中只有三个字段:id、name和parent_id。它们是具有父子关系的,最顶级的菜单对应的parent_id为0。现假设我们拥有如下记录:id
2014-10-27 17:40:05 515
原创 decode—对case的简化
decode—对case的简化 现假设我们有一个用户表t_user,其中拥有一个表示性别的字段gender,该字段对应的值可能为0、1或者空,其中0表示“男”,1表示“女”,空表示“未填”。现需要我们在查询t_user的gender时不是显示对应的0和1,而是显示对应的文本,“男”或“女”。很显然,我们可以使用case when else来实现,对应的SQL语句如下
2014-10-27 17:39:59 706
原创 intersect的用法简介
intersect的用法简介 在Oracle中,“A minus B”用于将结果集B中含有的记录从结果集A中移除,即用于获取存在于结果集A中而不存在于结果集B中的记录;“A union B”和“A union all B”用于获取结果集A和结果集B的并集,其中前者将只保留重复记录中的一条,而后者将保留所有的记录;“A intersect B”用于获取结果集A和结果集B共有的记
2014-10-27 17:39:53 54643
原创 minus的用法简介
minus的用法简介 “minus”直接翻译为中文是“减”的意思,在Oracle中也是用来做减法操作的,只不过它不是传统意义上对数字的减法,而是对查询结果集的减法。A minus B就意味着将结果集A去除结果集B中所包含的所有记录后的结果,即在A中存在,而在B中不存在的记录。其算法跟Java中的Collection的removeAll()类似,即A minus B将只去除A跟
2014-10-27 17:39:48 19274
原创 MySQL导入导出
MySQL的导入导出 1 导出1.1 导出脚本和数据 MySQL的导出是利用MySQL安装目录的bin目录下的mysqldump指令来进行的,该命令需要在Windows的cmd命令窗口执行。语法如下: mysqldump –uusername –ppassword database_name > export_path
2014-10-27 17:39:42 524
原创 实现对properties文件的有序读写
实现对properties文件的有序读写 最近遇到一项需求,要求把properties文件中的内容读取出来供用户修改,修改完后需要再重新保存到properties文件中。很简单的需求吧,可问题是Properties是继承自HashTable的,直接通过keySet()、keys()或entrySet()方法对Properties中的元素进行遍历时取出来的内容顺序与prop
2014-10-27 17:39:37 1369
原创 使用FactoryBean接口实现自定义bean初始化
使用FactoryBean接口实现自定义bean初始化 本文所要介绍的FactoryBean是Spring中定义的一个接口,当把它的实现类定义为BeanFactory中的一个bean,我们在获取其对应的bean时实际上获取的是FactoryBean所包含的那个对象,而不是它本身。我们先来看一下FactoryBean的定义。public interface FactoryB
2014-10-27 17:39:32 1519
原创 Maven简介(七)——整合Eclipse
8 Maven整合Eclipse Maven整合Eclipse就是在Eclipse中安装Maven的插件,这样我们就可以直接在Eclipse上使用Maven,而不需要去命令窗口敲Maven命令了。有两个Maven插件我们可以用来整合Eclipse,实际应用中安装其中一个就可以了。8.1 Eclipse m2e 给Eclipse安装m2e插件的好处:
2014-10-27 17:39:26 654
原创 Maven简介(六)——Dependency
7 Dependency介绍7.1 依赖的传递性当项目A依赖于B,而B又依赖于C的时候,自然的A会依赖于C,这样Maven在建立项目A的时候,会自动加载对C的依赖。依赖传递对版本的选择假设A依赖于B和C,然后B依赖于D,D又依赖于E1.0,C直接依赖于E2.0,那么这个时候A依赖的是E1.0还是E2.0,还是这两个都依赖呢?两个都依赖是肯定不行的,因为它们可
2014-10-27 17:39:21 461
原创 Maven简介(五)——pom.xml
6 Maven的pom.xml介绍6.1 简介 pom.xml文件是Maven进行工作的主要配置文件。在这个文件中我们可以配置Maven项目的groupId、artifactId和version等Maven项目必须的元素;可以配置Maven项目需要使用的远程仓库;可以定义Maven项目打包的形式;可以定义Maven项目的资源依赖关系等等。对于一个最简单
2014-10-27 17:39:15 421
原创 Maven简介(四)——仓库
5 Maven仓库介绍5.1 简介Maven仓库是用来存储工件的。Maven仓库主要包括本地仓库和远程仓库。当Maven需要一个工件的时候,它会先从本地仓库取,只有在本地仓库不存在对应的工件的时候,才会从远程仓库把对应的工件下载下来保存在本地仓库,并从本地仓库获取所需的工件。默认的本地仓库位置是用户家目录下面的“.m2/repository”,我们可以在Maven
2014-10-27 17:39:10 721
原创 POI读写Word docx文件
使用POI读写word docx文件目录1 读docx文件1.1 通过XWPFWordExtractor读1.2 通过XWPFDocument读2 写docx文件2.1 直接通过XWPFDocument生成2.2 以docx文件作为模板 POI在读写word docx文件时是通过xwpf模块来进行的,
2014-10-27 17:39:04 1165
原创 Weblogic读不到Word文件
Weblogic读不到Word文件 之前遇到一导出word文件的需求,我的做法是把对应导出内容放到一个word文件中,把其中变化的内容作为变量,然后把该word文件放在WEB-INF目录下用来作为模板。在导出时通过ServletContext的getRealPath()方法获取到作为模板的word文件的真实路径,然后针对该路径new一个FileInputStream。之后通过
2014-10-27 17:38:59 1171
原创 POI写Word换行
POI写Word换行 本文旨在描述基于变量替换生成Word doc文件的换行方式。Word换行主要有两大类,一类是表格单元格文本的换行,另一类是表格之外的文本的换行。对于表格外的文本我们可以使用“\r”或者“(char)11”来换行,然而对于表格内的文本我们只能使用“(char)11”来进行换行操作。 下面来看一个示例,我们有如下这样一个word文件作
2014-10-27 17:38:53 3632
原创 使用POI转换word doc文件
使用POI转换word doc文件目录1 转换为Html文件2 转换为Xml文件3 转换为Text文件 在POI中还存在有针对于word doc文件进行格式转换的功能。我们可以将word的内容转换为对应的Html文件,也可以把它转换为底层用来描述doc文档的xml文件,还可以把它转换为底层用来描述doc文档的xml格式的te
2014-10-27 17:38:47 2359 1
原创 使用POI读写Word doc文件
使用POI读写word doc文件目录1 读word doc文件1.1 通过WordExtractor读文件1.2 通过HWPFDocument读文件2 写word doc文件 Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的。在hwpf里面我们使用HWPFDocument来表示一个word
2014-10-27 17:38:42 1449
原创 Spring bean处理——回调函数
Spring bean处理——回调函数 Spring中定义了三个可以用来对Spring bean或生成bean的BeanFactory进行处理的接口, InitializingBean、BeanPostProcessor和BeanFactoryPostProcessor。通过实现这三个接口我们就可以对Spring bean进行处理了。 InitializingBean接
2014-10-27 17:38:36 1871
原创 Servlet3.0模块化支持
Servlet3.0模块化支持 Servlet3.0现在已经支持各Web组件的模块化了。也就是说现在我们可以把各Web组件单独拿出来进行开发,之后把它们打成对应的jar包放到主项目中就可以了,而不必像之前那样——所有的内容都必须在web.xml文件中进行定义。有了对模块化的支持后我们在实际应用中就可以把某些通用功能的Filter、Listener、Servlet作为一个单独的
2014-10-27 17:38:31 1265
原创 通过Spring Resource接口获取资源
通过Spring Resource接口获取资源目录1 Resource简介2 通过ResourceLoader获取资源3 在bean中获取Resource的方式 1 Resource简介 在Spring内部,针对于资源文件有一个统一的接口Resource表示。其主要实现类有ClassPathResource
2014-10-27 17:38:25 575
原创 Servlet3.0过滤器
Servlet3.0过滤器 Servlet3.0里面的过滤器跟以前版本的一样,还是需要实现javax.servlet.Filter接口。Filter接口中定义了三个方法,init(FilterConfig filterConfig)、destroy()和doFilter(HttpRequest request, HttpServletResponse response, Fi
2014-10-27 17:38:20 778
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人