J2EE
Matrix_Designer
专注: ArmLinux/.NET开发
展开
-
Tomcat+session复制
一、实验环境:centos 5.3 1、将所需的包下载至/usr/src 目录,首先安装jdk:程序包会提示按回车键,我们根据提示安装即可,解压完毕,会在当前目录生成 jdk1.6.0_18 这个文件夹chmod o+x jdk* && ./jdk* mkdir -p /usr/java && mv jdk1.6.0_18 /usr/java/下 vi /etc/profil转载 2012-10-15 14:53:04 · 693 阅读 · 0 评论 -
JAVA的远程调试方法
首先,JAVA自身支持调试功能,并提供了一个简单的调试工具--JDB,类似于功能强大的GDB,JDB也是一个字符界面的调试环境,并支持设置断点,支持线程线级的调试。JAVA的调试方法如下:1。首先支持JVM,并设置参数,使之工作在DEBUG模式下,加入参数:-Xdebug-Xrunjdwp,transport=dt_socket,server=y,address=5432,suspen转载 2013-01-16 10:31:02 · 1201 阅读 · 0 评论 -
ORACLE分区表的使用和管理
1创建和使用分区表Oracle分区表分为四类:范围分区表;列表分区表;哈希分区表;组合分区表范围分区表创建一个按字段数据范围分区的表,分区置于指定的不同表空间中 示例代码:--为各个分区准备独立的表空间create tablespace test_space01 datafile‘d:/tbs01.dbf’ size 50m create tablespace te转载 2013-02-17 09:39:20 · 311 阅读 · 0 评论 -
Hql的fetch
在我们查询Parent对象的时候,默认只有Parent的内容,并不包含childs的信息,如果在Parent.hbm.xml里设置lazy="false"的话才同时取出关联的所有childs内容. 问题是我既想要hibernate默认的性能又想要临时的灵活性该怎么办? 这就是fetch的功能。我们可以把fetch与lazy="true"的关系类比为事务当中的编程式事务与声明式事务,不太转载 2013-03-08 09:44:56 · 527 阅读 · 0 评论 -
HowTo:Ubuntu11.10 安装Oracle10g备忘录
1,前言 本文也是参照了很多国内外文档写的。 这里面有一个好消息一个坏消息: 好消息是ubuntu下安装文档很多,坏消息是没有跟我环境一样的。 应该说这挺麻烦的,尤其是在不是甲骨文认可的系统里面安装。 我整整折腾了十多遍还是没有解决所有问题,但是最后由于两个错误是用不到一些附件,所以数据库运行使用没有任何问题,主要是我这人总是想弄的很明白,总共转载 2013-02-24 20:30:59 · 365 阅读 · 0 评论 -
Spring的PathMatchingResourcePatternResolver使用classpath*时jar包资源无法匹配BUG
Spring版本:3.0.5Spring提供了一个强大的resource loader,其中的PathMatchingResourcePatternResolver能够处理jar包里的资源。使用ant的正则用起来也应该挺舒服,但是一个看似简单的正则式,匹配jar包的资源却失败了:classpath*:**/*CodeEnum.class乍一看**/*CodeEnum.class这样的表转载 2013-04-07 12:27:47 · 2857 阅读 · 0 评论 -
软件工程:使用路径通配符加载Resource
Spring提供了强大的Ant模式通配符匹配,从同一个路径能匹配一批资源。Ant路径通配符支持"?"、"*"、"**",注意通配符匹配不包括目录分隔符“/”。“?”:匹配一个字符,如"config?.xml"可匹配"config1.xml". “*”:匹配零个或多个字符串,如“com/*/config.xml”将匹配“cn/feng/config.xml”,但不匹配匹配“com/con转载 2013-04-07 15:38:15 · 862 阅读 · 0 评论 -
使用Maven发布项目
发布项目:升级本地snapshot版本,在svn创建标签,向release服务器提交发布包、docs等。如果版本为snapshot,使用mvn deploy发布当前版本到snapshot库。配置pom.xml:1.SCM。Java代码 scm:svn:http://*/repos/*/trunk scm:svn:http://*/re转载 2013-06-24 17:00:27 · 713 阅读 · 0 评论 -
Maven release for Git
1. Update pom.xml file with below scm:git:ssh://@:/ scm:git:ssh://@:/ scm:git:ssh://@:/2. Add Maven plugin in pom.xml file org.apache.转载 2013-06-27 17:34:08 · 2191 阅读 · 0 评论 -
struts2版本升级记[2.1.8->2.3.15]
最近struts2暴安全漏洞,产品紧急升级。记录下升级过程。1:首先修改pom.xml中struts2及其插件的版本,全部改成2.3.15。以前产品依赖于com.opensymphony.xwork-core.2.0.6,现在xwork-core移到struts2的包下了,而且版本也和struts2的版本保持一致。因此直接移掉了对xwork-core的依赖,交给struts2传递依赖吧。2原创 2013-07-23 10:19:37 · 1638 阅读 · 0 评论 -
jetty->请求的操作无法在使用用户映射区域打开的文件上执行
使用jetty-maven-plugin 在eclipse中进行运行调试,碰到无法编辑保存webapp下的文件提示:请求的操作无法在使用用户映射区域打开的文件上执行解决方法:从 jetty 7 开始,jar存放在maven仓库中的路径为org/eclise/jetty/jetty-webapp打开对应的版本的jar包修改jar中的org/mortbay/je转载 2013-01-04 18:19:15 · 1494 阅读 · 0 评论 -
数据库读写分离
随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策 略来改变现状。读写分离现在被大量应用于很多大型网站,这个技术也不足为奇了。ebay就做得非常好。ebay用的是oracle,听说是用Quest Share Plex 来实现主从复制数据。 读写分离简单的说是把对数据库读和写的操作分开对应不同转载 2012-12-18 12:54:50 · 679 阅读 · 0 评论 -
特殊IP地址(保留IP地址)介绍
就像我们每个人都有一个身份证号码一样,网络里的每台电脑(更确切地说,是每一个设备的网络接口)都有一个IP地址用于标示自己。我们可能都知道这些地址由四个字节组成,用点分十进制表示以及它们的A,B,C分类等,然而,在总数大约为四十多亿个可用IP 地址里,你知道下面一些常见的有特殊意义地址吗?我们一起来看看吧: 一、0.0.0.0 严格说来,0.0.0.0已经不是一个转载 2012-11-16 11:44:17 · 740 阅读 · 0 评论 -
Tomcat配置远程调试
相信做过Java Web项目的朋友都非常熟悉MyEclipse(汗,有不知道的?),集成Tomcat一点deploy按钮,直接发布成功,再一个start就可以欣赏自己的大做了。可有些项目或者公司不允许使用MyEclipse(收费的,呵呵),所以部署打包的事完全交给了Ant或者Maven来做,但这两兄弟都得在命令行下来做,对于被MyEclipse惯坏的我来说,用着简直是痛苦之极,就拿Ant来说,往往转载 2012-10-15 15:12:06 · 458 阅读 · 0 评论 -
Tomcat集群之Session复制配置
因为最近的项目要用到多web服务器实现访问负载和集群,负载调度使用的是LVS,而非apache的负载调度,因为在高访问量和大并发量的时候LVS的性能比APACHE好。然后在web服务器上是使用tomcat5.5.25做应用服务器,对于tomcat的集群有两种方式,这个主要是针对 session而言的。一种就是sticky模式,即黏性会话模式;另外一种就是session复制模式了。所谓sticky模转载 2012-10-15 14:45:46 · 622 阅读 · 0 评论 -
springside3概述
主页http://www.springside.org.cn/1.概述 技术框架选型以工业化大规模软件开发为原则---主流的选型、适宜团队分工的架构,同时照顾轻量级快速开发的需求,Java版的约定大于配置的风格。2.主要库栈JDK:JDK 5.0/6.0、 UTF-8.IOC container:Spring 3.ORM:Hibernate 3.3.Web :Str转载 2012-10-22 10:04:55 · 651 阅读 · 0 评论 -
struts2 <s:property/>标签的使用--输出时间格式转换
1.按需输出特定长度的字符例:,只输出name的前四个字符,其中name是我需要输出的字符串。2.格式化输出日期例:,这里说明一下,'format.date'是输出的日期 的格式,这个配置在国际化资源文件中:format.date ={0,date,yyyy-MM-dd } ,其中的格式可以自己配置,createdDt是我要输出的日期。这种格式化输出日期的方法也适用于别的标签,例如转载 2012-10-23 12:04:31 · 1262 阅读 · 0 评论 -
hibernate HQL转换SQL
// 用于hibernate 2.x protected String getCountSql(String originalHql, net.sf.hibernate.SessionFactorysessionFactory) throws Exception { QueryTranslator translator = new QueryTranslator(ori转载 2012-11-13 09:32:29 · 805 阅读 · 0 评论 -
hql语句
HQL:特点:语法类似sql,使用面向对象的封装,直接返回对象或对象数组 1.查询整个实体对象(不加select) String hql="from com.mypack.User4"; Query query=session.createQuery(hql); List lists=query.list(); for(int i=0;i{ User4 user=(转载 2012-11-12 18:46:19 · 407 阅读 · 0 评论 -
OGNL表达式struts2标签“%,#,$”
一、什么是OGNL,有什么特点? OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言。是一种可以方便地操作对象属性的开源表达式语言。OGNL有如下特点: 1、支持对象方法调用,形式如:objName.methodName(); 2、支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路)]@[方法名| 值名],转载 2012-11-13 19:16:17 · 359 阅读 · 0 评论 -
Hibernate Annotation延迟加载的默认策略
Hibernate Annotation默认对于OneToOne、ManyToOne采用的是及时加载,对于OneToMany采用延迟加载。如果要延迟加载OneToOne、ManyToOne,需要使用fetch=FetchType.LAZY,如果要及时加载OneToMany,需要使用fetch=FetchType.EAGER。 注意一点,如果将OneToOne、ManyToOne使用f原创 2012-11-15 12:57:29 · 637 阅读 · 0 评论 -
框架对Hibernate的扩展
为了便于二次开发新增表字段,定义了OverrideExsitsBean,凡是标记此注解的Bean都将覆盖其父类,框架需要实现所有的HQL查询返回的都是派生类的实例。实现此功能,自然要扩展Hibernate。首先是对Hibernate的SessionFactory——AnnotationSessionFactoryBean进行扩展:public class AnnotationSession原创 2013-07-29 15:33:29 · 1269 阅读 · 0 评论 -
框架对静态资源的扩展
为了提高美工的工作效率,提高网站运行效率,将静态资源和代码进行了分离。结合组件化,资源就可能存在于JAR包中、主工程和资源工程三处。为了确保各处能够正确识别资源,做了一个静态资源过滤器:public class StaticResourceFilter implements Filter { public void doFilter(ServletRequest req, ServletRe原创 2013-07-29 15:39:19 · 669 阅读 · 0 评论 -
原生SSH2依赖jar包
前段时间搭建了一个原生的SSH2环境,Struts 2.3.15.1,Spring 2.5.6,Hibernate 3.3.1。发现依赖的JAR还是不少的:antlr-2.7.6.jarasm-1.5.3.jarcglib-2.1_3.jarcommons-collections-3.2.jarcommons-dbcp-1.2.2.jarcommons-fileupload原创 2013-11-22 15:46:10 · 1457 阅读 · 0 评论 -
ORACLE分区表的使用和管理
1创建和使用分区表Oracle分区表分为四类:范围分区表;列表分区表;哈希分区表;组合分区表范围分区表创建一个按字段数据范围分区的表,分区置于指定的不同表空间中 示例代码:--为各个分区准备独立的表空间create tablespace test_space01 datafile‘d:/tbs01.dbf’ size 50mcreat转载 2013-11-24 19:21:55 · 710 阅读 · 0 评论 -
oracle缩小表空间
数据库用久了难免会出现没有回收的空间,如果空间太大可使用以下方法进行回收。查询用个表所占用的空间:[sql] view plaincopySELECT tablespace_name, 100*(sum_max-sum_alloc+nvl(sum_free,0))/sum_max AS capa_per, (sum_max-sum_alloc+nvl(转载 2013-11-12 13:55:14 · 795 阅读 · 0 评论 -
ORACLE收缩表空间
最近导一个空库到数据库后,发现占用的表空间非常大,执行表收缩(SHRINK SPACE CASCADE)后,发现实际占用的空间不到1%。但是收缩表空间大小提示错误 ALTER DATABASE DATAFILE 'D:\ora_tablespace\GCOMM2.dbf' RESIZE 5000M; 提示:ORA-03297: file contains used data转载 2013-11-12 16:43:26 · 905 阅读 · 0 评论 -
从Maven私服获取依赖
通过Internet直接从Maven公用仓库获取依赖包是默认配置。不过对于中国软件公司来讲,访问这些公用仓库通常较慢,对于一些管理严格的不能直接上网的软件公司来讲,这更加是不可能的。Maven项目可以配置成仅从Maven私服上获取依赖。上一篇已经讲述了如何安装Nexus为Maven私服。下面就假定使用S1服务器上的Nexus服务。可以参考官方文档:http://www.sonatype.c转载 2013-12-27 15:59:44 · 1033 阅读 · 0 评论 -
Maven的工程依赖和JAR包依赖
Maven中执行eclipse:eclipse或者eclipse:myeclipse时,maven默认使用原创 2014-04-09 13:56:15 · 1999 阅读 · 0 评论 -
final方法在Spring AOP中的注意事项
注意:Spring AOP默认使用cglib会生成目标对象的子类,然后调用set时会直接设置代理对象的data,所以造成了target的data没有设置。 当你调用get方法时因为是final 所以没有被代理 直接调用的是目标对象的,所以是null。转载 2014-06-05 18:58:20 · 2191 阅读 · 0 评论 -
让Eclipse的TomcatPlugin支持Tomcat 8.x
项目原因,近期要迁移到Eclipse上开发。重新架构,自然打算都用新的版本。发现一个问题:TomcatPlugin已经支持最新的Eclipse 4.4,但Tomcat的版本却只支持到7.x。纠结啊,Tomcat 8.x已经出来许久,用不了岂不是很痛心。于是乎打算深入处理一下。1,直接用DevloaderTomcat7.jar放到tomcat8.x中运行,提示什么getContainer方法找不原创 2014-12-10 16:06:00 · 2582 阅读 · 0 评论 -
OAuth认证原理
User(Browser)-Client(Web Server)-Server(Service Provider)OAuth11: Client->Server:输入client-key;获取ungranted token;2: User->Server:输入ungranted token,callback-url;通过callback-url的参数获取granted token原创 2015-03-31 20:29:48 · 751 阅读 · 0 评论 -
Git中含Submodule时Maven项目如何release
Maven有个release插件,使用它完成发布的流程是:mvn release:clean release:prepare -DpreparationGoals=cleanmvn release:perform -Dgoals="deploy -Dmaven.test.skip=true"mvn release:clean但当使用Git管理源码,并且存在子模块时,maven-re原创 2013-11-06 15:23:01 · 2122 阅读 · 0 评论 -
oracle数据的导入导出,同版本和跨版本
1:同版本exp admin/1234@ORCL file=filename.dmp user=adminimp admin/1234@ORCL file=filename.dmp full=y2:跨版本expdp admin/1234@ORCL dumpfile=filename.dmp schemas=admin version=10.2.0.3.0impdp admin/原创 2013-08-30 18:38:48 · 1460 阅读 · 0 评论 -
框架对Struts2的扩展
近期,想将整条产品线的产品代码进行重构,希望将其组件化。这样对于Struts2希望能够在代价很小的前提下实现组件化。首先定义struts-parent.xml配置文件:原创 2013-07-29 15:00:18 · 1148 阅读 · 0 评论 -
Java EE后台模拟浏览器有状态请求页面
近期,发现Struts2的页面初次加载时很慢,想了个点子,在tomcat启动完后预先访问这些页面。主要出现两个问题:1:什么时候检测到tomcat启动完成?2:页面访问都是需要预先登录的,而且还有验证码,如何绕过去?对于第一个问题,直观的想法是在最后一个Listener中做,但是如果直接在Listener中做会导致死锁,因为Listener不返回Tomcat是不会接受请求的。一个办法是原创 2013-07-26 14:13:50 · 912 阅读 · 0 评论 -
Map缓存适配成带生存期的缓存
前段时间,做了个数据缓存,很简单你,使用一个Map实现:Map mapCacheList = new Hashtable();现在有个需求,就是设置一个生存期,过去的缓存无效。为了不改动以前的代码,做了以下适配:public static Map mapCacheList = new Hashtable(){ @Override public Lis原创 2013-07-26 14:29:08 · 1323 阅读 · 0 评论 -
将Jar包中的文件拷贝到本地文件
protected void copyFileFromJar(String fileRegex, String strDestFileName) { ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver(); String pattern原创 2013-07-26 16:41:37 · 1858 阅读 · 0 评论 -
Struts2、SpringMVC、Servlet(Jsp)性能对比 测试
作者:赵磊博客:http://elf8848.iteye.com Struts2、SpringMVC、Servlet(Jsp)性能对比测试。Servlet的性能应该是最好的,可以做为参考基准,其它测试都要向它看齐,参照它。做为一个程序员,对于各个框架的性能要有一个基本的认知,便于选型时做出正确的决策。在测试中发现了什么也不要大喊大叫,因为这些都是Java程序员的基础知识转载 2013-07-26 17:46:24 · 822 阅读 · 0 评论 -
框架对Spring的扩展
为了便于二次开发定制产品代码,定义了OverrideExsitsBean,凡是标记此注解的Bean都将覆盖其父类,框架需要实现凡是使用到其父类的地方都要创建一个此类的实例。实现此功能,自然从Spring入手最彻底,这样Action、Service/Manager都能够支持这种特性。Spring创建Bean的工厂是DefaultListableBeanFactory,自然扩展此类即可。但是Web原创 2013-07-29 15:20:44 · 866 阅读 · 0 评论