![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
服务器应用
iSunshine
这个作者很懒,什么都没留下…
展开
-
Spring Security统计在线用户
在web.xml中将原先的那个监听器替换为自己写的这个就可以了,检测在线用户的只有一个表,里面只有一个id字段。如果用户不是很多,这个表可以是一个MySQL的内存表,或者Oralce的表存储修改为内存。package com.yourcompany.service.security;import javax.servlet.http.HttpSessionEvent;impor...2010-03-09 14:46:42 · 1361 阅读 · 0 评论 -
Apache2.2.11+Tomcat6.0.20集群配置
这几天一直在看Apache和Tomcat的集群配置。配置了很久,终于成功!Apache2.x和Tomcat配置可以采用反向代理的方式(mod proxy),也可以采用JK模块,最终采用了JK模块,JK模块的效率要比反向代理高,这是Apache官方网站上说的,我没有测试过。JK配置虽然复杂,但更加灵活。首先,下载Apache2.2.11,Tomcat6.0.20解压版,以及mod_jk-1....2009-07-26 21:42:26 · 115 阅读 · 0 评论 -
发一个Hibernate工具类
为了简化分页查询的条件参数,写了一个工具类。前提是,页面的参数命名必须按照一定规则,这个规则是f_dataType_property以及s_sortType_property。f_前缀代表这是一个过滤器(filter),s_前缀代表这是一个排序器(Sort)。dataType是数据类型,可以写一个枚举来定义这些类型,sortType是排序类型,也可以写一个枚举来定义。接下来,页面提...原创 2010-03-01 19:10:03 · 140 阅读 · 0 评论 -
Struts2注解Action方法安全
用过Spring Security的朋友一定不会陌生,有个@Secured注解,可以将其加在Service层的方法上,保护某个方法的安全,确保只有授权的角色可以调用该方法。 但是,如果要对Struts2的Action方法进行保护呢?看似加注解是个不合理的需求。但是,有些情况下,例如,一个命名空间下用星号匹配有多个角色,而用精确地址匹配又导致数据太多,数据库不太好维护。在这种情况下,如果一个...2010-05-17 03:19:57 · 131 阅读 · 0 评论 -
万恶的sync-binlog=1
查看MySQL手册,说将sync-binlog设置为1,可以提高复制的可靠性,为了确保客户数据的高可靠性,我将此项设置为1。有一个表涉及到和外界数据的同步,每隔一个小时都有一次PreparedStatment的批量数据写入。未开启二进制日之前,一直速度很快。打开了之后,批量插入的速度下降了130倍。 郁闷了几天,终于找到原因,是设置sync-binlog=1引起的,将其关掉后,一切恢复正常...原创 2010-06-05 09:53:31 · 530 阅读 · 0 评论 -
自己写一个增强的JdbcDaoTemplate,欢迎拍砖
应用场景如下,一个实体,需要对应N个表,这N个表的结构一致,但是后缀不同。用户登录后,取得用户的组,组名即为那张表的后缀。Hibernate做这个不容易,所以考虑采用JDBC来完成。自己胡乱写了一个增强的JdbcDaoTemplate类,可以实现一些简单的查询,不必写sql语句。也是靠我自己的想法来写的,有什么不妥之处,欢迎拍砖。/** * 提供一些简单的方法供子类使用 * 其...原创 2010-06-11 11:51:50 · 255 阅读 · 0 评论 -
关于Ajax的重复提交
在页面的POST提交请求时,如果不做特殊处理,用户刷新一次页面,就会导致重复提交一次。 在Ajax里面,这个问题也是尤为严重的,用户只要重复点击那个按钮一次,就会重复提交一次。很多人会说,加屏蔽层或者将按钮灰掉。好,这个对付普通用户是可以的,如果是恶意用户呢,自己构造请求,用程序来反复提交,会搞死人的。 通常,方法执行需要时间,一般比较短,但是某些和WebService打交道以及和...原创 2010-06-20 16:20:51 · 167 阅读 · 0 评论 -
使用Hibernate、Spring和MySQL时,谨慎选择MySQL的表类型
Hibernate采用的是write-behind的策略。MySQL的MyISAM类型,是不支持事务的,InnoDB类型支持事务。现在有如下方法,假设表类型为MyIASM。@Transactionpublic void someMethod(User user) { user.setAge(28); update(user); flush(); ...原创 2010-06-20 21:55:53 · 127 阅读 · 0 评论