整理赵龙ssh2
摘要:一、新建web项目1.创建web项目ssh22.将项目添加到tomcat中3.测试 http://localhost:8080/ssh2/二、给项目添加jar包1.手动添加struts所需jarcommons-fileupload-1.2.1.jarcommons-io-1.3.2.jarcommons-logging-1.0.4.jar(在hibernate中存在可以不添加)freemarker-2.3.15.jarongl-2.7.3.jarstruts2-core-2.1.8.jarstruts2-spring-plugin-2.1.8.jar(主要用于sptruts与spring的整合
阅读全文
posted @
2013-06-25 14:39
垦荒牛
阅读(318)
推荐(0)
java 动态代理深度学习(Proxy,InvocationHandler),含$Proxy0源码
摘要:一.相关类及其方法:java.lang.reflect.Proxy Proxy用于提供创建动态代理类的实例的静态方法newProxyInstance(),newProxyInstance()返回一个指定接口的代理类实例,该接口可以将方法调用指派到指定的调用处理程序(详见api文档) java.lang.reflect.InvocationHandler, InvocationHandler 是代理实例准备调用的处理程序必须实现的接口。 invoke()主要用于代理实例上处理方法调用并返回结果。在与方法关联的代理实例上调用方法时,将在调用处理程序上调用此方法。(详见api文档)二.源代码:1.被
阅读全文
posted @
2012-08-15 15:04
垦荒牛
阅读(448)
推荐(0)
JAVA动态代理
摘要:在目前的Java开发包中包含了对动态代理的支持,但是其实现只支持对接口的的实现。其实现主要通过是java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口。Proxy类主要用来获取动态代理对象,InvocationHandler接口用来约束调用者实现,如下:HelloWorld接口定义的业务方法,HelloWorldImpl是HelloWorld接口的实现,HelloWorldHandler是 InvocationHandler接口实现。代码如下:业务接口: public interface HelloWorld {void s
阅读全文
posted @
2012-08-15 11:37
垦荒牛
阅读(163)
推荐(0)
关于hibernate导致tomcat内存暴涨,页面反应速度减慢
摘要:2012年6月23日今天追踪一个关于页面内存暴涨,页面响应过慢的问题。花了4个多小时,总算找到问题出在哪了。一、问题描述最近我们在一台独享服务器上搭建了Tomcat6.0.19环境,发现访问首页时,内存暴涨,一直不退。每次刷新内存增加近10M。一个人狂刷新一分钟就可以把tomcat搞死机。然后,找各种办法解决问题。整了几天,每天中午轮流监控Tomcat服务器,发现它挂了后就重启。累坏了。每天到google上面搜索答案,有人说是程序的问题,程序内存泄露。甚至问到“有没有数据库没有释放”、“有没有使用死循环”、有没有写“System.gc()自动释放内存”、有没有“在Service层查询时使用al
阅读全文
posted @
2012-06-23 16:50
垦荒牛
阅读(1528)
推荐(0)
hibernate 3.* C3P0配置
摘要:Hibernate自带的连接池算法相当不成熟。 它只是为了让你快些上手,并不适合用于产品系统或性能测试中。 出于最佳性能和稳定性考虑你应该使用第三方的连接池。只需要用特定连接池的设置替换 hibernate.connection.pool_size即可。这将关闭Hibernate自带的连接池。 例如, 你可能会想用C3P0. C3P0是一个随Hibernate一同分发的开源的JDBC连接池, 它位于lib目录下。 如果你设置了hibernate.c3p0.*相关的属性, Hibernate将使用 C3P0ConnectionProvider来缓存JDBC连接。 如果你更原意使用Proxool.
阅读全文
posted @
2012-06-19 17:52
垦荒牛
阅读(361)
推荐(0)
Eclipse/MyEclipse Java注释模板设置详解
摘要:设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素啦。现就每一个元素逐一介绍: 文件(Files)注释标签:/** * @Title: ${file_name} * @Package ${package_name} * @Description: ${todo}(用一句话描述该文件做什么) * @author A18ccms A18ccms_gmail_com * @date ${date} ${time} * @ver...
阅读全文
posted @
2012-05-21 09:00
垦荒牛
阅读(267)
推荐(0)
用MiddleGenIDE工具生成hibernate的POJO(根据数据表生成POJO类)
摘要:推荐:MiddlegenIDE插件, 是一个Eclipse 插件. 用它可以直接连接到数据库, 根据表按照一定的HIBERNATE规则作出BEAN和对应的XML ,用完后你可以手动删除它加载的JAR包和XML文件! 今天开始试着使用MiddleGenIDE工具了,真的挺方便的,节省了很多时间,它的安装方法是下载一个middlegenide_1.3.3.zip文件,然后把它解压到eclipse的根目录下面,解压到dropins里面也行,再重启一下eclipse就能使用了,安装很方便,然后新建一个MiddleGenIDETest的项目,在项目上右击-新建-other找到middlegen...
阅读全文
posted @
2012-05-17 15:46
垦荒牛
阅读(710)
推荐(0)
根据JAVA的POJO类生成AS3的VALUEOBJECT类
摘要:package tool;import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.lang.reflect.Field; import org.apache.commons.lang3.StringUtils;/** * @author Administrator * */ public class VoUtils { public VoUtils() ...
阅读全文
posted @
2012-05-17 15:21
垦荒牛
阅读(264)
推荐(0)
java中Class.forName的作用
摘要:Class.forName(xxx.xx.xx) 返回的是一个类 一.首先你要明白在java里面任何class都要装载在虚拟机上才能运行。 1. forName这句话就是装载类用的(new是根据加载到内存中的类创建一个实例,要分清楚)。 至于什么时候用,可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它? A a = (A)Class.forName("pacage.A").newInstance(); 这和 A a = new A(); 是一样的效果。 2.jvm在装载类时会执行类的静态代码段,要记住静态代码是和class绑定的,class
阅读全文
posted @
2012-05-17 15:08
垦荒牛
阅读(3040)
推荐(0)
通过数据库表反向生成pojo类
摘要:import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import com.onedear.util.database.DataBaseType; /** * 数据库工具类 * * @author onedear * @...
阅读全文
posted @
2012-05-17 08:45
垦荒牛
阅读(992)
推荐(0)
如何用Apache TCPMon来截获SOAP消息
摘要:注:以下是关于TCPMon的一些使用常识,如果不需要或是已经熟悉就不用往下看了。 在WebService服务器和客户机之间会传递SOAP消息,有时我们需要得到这些消息以便调试,而Apache的TCPMon可以帮助我们做到这一点。 TCPMon的下载地址在http://ws.apache.org/commons/tcpmon/download.cgi,找到Binary Distribution, 下载后会得到一个tcpmon-1.0-bin.zip的包,解开后进去\tcpmon-1.0-bin\build目录,双击tcpmon.bat就可以执行程序了。 这里有必要对tcpmon...
阅读全文
posted @
2012-05-14 10:23
垦荒牛
阅读(341)
推荐(0)
AsyncToken模式替换通用的Listener模式
摘要:对于一个异步的方法调用,我们需要异步的得到调用结果,通常我们会使用Listener模式,用于监听方法异步调用的结果.但应用该方法在实际使用中其实并不灵活.1.因为由于Service的方法很多,可能会导致Listener要监听的事件过多.2.一般Listenner都是事先设置好监听器,不能在方法调用的过程中灵活的增加新的监听器3.对如发送消息失败再次发送消息这种需求处理会比较别扭.以下为应用AsyncToken的使用示例:Java代码 publicvoidtestSendEmail(){ finalStringaddress="badqiu(a)gmail.com"; fin
阅读全文
posted @
2012-05-02 23:52
垦荒牛
阅读(390)
推荐(0)
解压版Tomcat配置为服务,自测试成功
摘要:一 配置JDK 1、下载jdk(这个不需要多说了,能看到这篇文章的人都会吧) 下载后,解压,假设为d:\JAVATOOLS\JDK6,要确保bin目录在这个目录里,下面的JAVA_HOME即为此目录d:\JAVATOOLS\JDK6. 2、配置系统变量 (1) 右键单击“我的电脑”,选择“属性”-“高级”,点击“环境变量”。 (2) 在“系统变量”框中,新建 “JAVA_HOME”,变量值填写jdk解压后所在的目录。 继续添加CLASSPATH变量值为 .;%JAVA_HOME%\lib\tool.jar;%JAVA_HOME%\lib\rt.jar; (3) 在“用户变量”框下面点击“新建”
阅读全文
posted @
2012-04-29 13:16
垦荒牛
阅读(329)
推荐(0)