人生,即使在最困难的时期,也不能放弃学习, 不能与时代脱节 ---- 勉励处于困难时期的自己.
分类: Java预览模式: 普通 | 列表

java 自定义注解 (custom annotation)

最近几年写程序,越来越流行注解方式,比如 spring,hibernate 都从原来的xml配置方式转向了注解方式,原因在于写注解很方便,减少了XML 文件的配置,如果全部用XML 配置,一个大型的应用,怎么也得有成百上千的XML文件。那么怎么自定义类似于spring 的注解方式呢。

查看更多...

Tags: annotation

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 713

java 获取HttpRequest Header 的几种方法

在开发应用程序的过程中,如果有多个应用,通常会通过一个portal 门户来集成,这个portal  是所有应用程序的入口,用户一旦在portal 登录之后,进入另外一个系统,就需要类似的单点登录(SSO). 进入各个子系统的时候,就不需要再次登录, 当然类似的功能,你可以通过专业的单点登录软件来实现,也可以自己写数据库token 等方式来实现。其实还有一个比较简单的方法,就是通过 portal 封装已经登录过的用户的消息,写到http header 之中,然后把请求forward 到各个子系统中去,而各子系统从 http header 中获取用户名,作为是否登录过的校验或者合法的校验。总结了几种处理http Header 的方法

查看更多...

Tags: http header

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4393
最近在做一个程序的性能测试分析,UAT 压力测试感觉比较慢,但又没有系统的测试真正的瓶颈在什么地方,客户也不愿意花时间去专业的测试,就用chrome浏览器,看timeline 测试,很笨吧,没办法,客户就这么干,期间也用过jmeter测试,但也只是说结果不理想,也没给出具体的参数。一个真正好的完整的测试,应该包括从发起请求开始,DNS 解析,路由寻址时间,http server 响应时间,应用程序处理时间,包括数据库执行时间,以及IO 分析,当然网络带宽也要分析。由于我们是负责程序部分的,所以程序执行时间部分的操作日志由我们自己来负责分析,用到spring mvc写的程序,所以理所当然的想到用spring inteceptor 来实现,具体看每个controller 的执行时间是多少,这中间包括了数据库部分。

查看更多...

Tags: spring mvc

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3399
一对一映射是最基本的对象之间的关系之一,严格的说来一对一有一下几种对应关系:
1, 一对一 单向关联(分主键,外键两种)
2, 一对一 双向关联(主键,外键两种)
3, 还可以采用中间表方式来实现,但一般不使用,先直接看看双向主键关联的测试.

查看更多...

Tags: hibernate

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 576
前面的例子中记录了利用传统的hibernate XML 隐射方式配置, 但这种处理方式在近几年已经不流行了,因为要维护太多的XML 配置文件,而且修改之后还得重启应用服务器。近年流行的是用注解方式写程序, 直观,对程序员来说更容易维护,代码更少。所以在前一个例子的基础上,改写成hibernate 注解方式.

查看更多...

Tags: hibernate annotation

分类:Java | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 3843

Hibernate4 mysql 采用XML 配置方式入门例子

温故而知新, 既然hibernate4 已经出来了,就把以前hibernate3 的例子重新修改一下,再跑一遍,检验下有什么新的变化, 以前没有记录笔记的习惯,现在记录下来.

查看更多...

Tags: hibernate

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1927
以前一直在用Hibernate3 做应用系统,包括目前很多应用程序都是基于Hibernate3 写的,不过 Hibernate 4 都出来好久了,今天下载Hibernate 4.3 Final 版本,下来玩了一下, 发现 得到 sessionFactory 的方法过失了,虽然还是能用,但总感觉不爽. 所以看了下怎么写Hibernate4下的 Util类

查看更多...

Tags: hibernate

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5466

自定义ehcache工具类实现缓存

缓存是为提升性能而开辟的内存空间, 其主要目的是暂存数据的处理结果,以供下次使用。缓存的使用很多,比如浏览器会缓存网页,在服务器后台的API 中加入缓存提高系统的性能,在常用的开发中,经常会用到hibernate, hibernate 开启二级缓存就有可能用到ehcache, 当然现成的缓存框架很多,比如:ehcache,oscache,jboss cache等。这些缓存框架其实也是可以单独使用的。比如下面用使用ehcache 做的缓存。

查看更多...

Tags: ehcache

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1234
在前面用 srpng security  hibernate, mysql 做了一个简单的例子,仅仅用户和和角色,用户与角色的关系用数据库来保存,而对资源管理仍然用XML 配置方式来实现,对于某些特殊要求的项目来说,仍然没办法满足要求,于是就有了5张表的 Spring security  的扩展实现。在网上参考过别人很多文章以及博客,但总是没怎么成功过,关键是人家也不提供整个代码下载,所以很多细节不知道。好不容易试验出来,特地放出代码在本文最后下载。

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2215
利用业余时间初步研究了几天 spring security, 现在是时候做一个阶段性总结了,利用 spring mvc , spring security, hibernate, mysql 实现一个基于数据库的简单权限系统, 功能不复杂,但麻雀虽小,五脏俱全。目标如下:
1. 用户和角色存储在数据库中
2. 不同的角色访问不同的页面. 如果不没有权限,则出 403 错误页面 (可以参考前面的文章定制一个.), ROLE_USER  角色的用户,只能访问user 页面,而 ROLE_ADMIN 角色的用户可以访问 admin1,admin2 user页面.

提供整个程序的代码下载。在本文的最后,应该本文只挑重点的讲,其他的可以看代码.

查看更多...

Tags: spring security hibernate mysql

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3892
spring security 做的登录程序,不同角色的用户登录之后,可能会跳转到不同的页面,在默认情况下的配置,都是跳转到同一个页面,因为在 form-login 中设置的 default-target-url 就是登录后应该跳转到的页面。如何使得不同角色的用户登录后跳转到不同的页面呢? 至少有两种方法:
1. 方法一, 就在 form-login 的 default-target-url 上做处理,比如如果用 spring mvc 的controller 来做的话,就比较容易。
2. 方法二, 实现 spring 提供的 AuthenticationSuccessHandler 接口.

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 5719

在 spring security 中使用自定义的错误消息

在使用 spring security 的过程中, 当认证失败的时候,会提示这样的错误: "Bad credentials", 但实际上我们需要显示这样的消息:"错误的用户名或密码", 有什么办法解决呢, 我知道的至少有两种方法.
第一种方法, 直接替换 spring security 自身的message properties.
第二种方法, 自定义properties 方式 覆盖 spring security 的 key 和消息

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2174

spring security 得到用户名的几种方法

如果用 spring security 做权限检查框架,怎么得到当前登录用户的用户名呢,这是一个必然遇到的问题,一般来说,有三种方法.
方法一, SecurityContextHolder + Authentication.getName()
方法二, SecurityContextHolder + User.getUsername()
方法三,  UsernamePasswordAuthenticationToken

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2121

spring secruity 教程自定义 403 页面

前面一篇文章试验了ROLE_USER,ROLE_ADMIN 不同的权限,当不满足权限的时候,spring security 会出现一个 很丑陋的 403 页面,一点都不友好,所以在很多情况下,需要定制一个 403的页面来显示用户没有权限访问

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1707
通过前面的学习,已经知道初步用数据库来管理用户的权限,一个最简单的例子,我们用了ROLE_USER 这个角色来控制访问的页面。但在实际应用中,并不是只有这样一个角色的,在一个系统中有多个角色,比如用普通用户,有超级用户,有系统管理员,等等。

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 1867