
Java
文章平均质量分 52
王的盛饭
这个作者很懒,什么都没留下…
展开
-
在struts2上应用httpclient上遇到的诡异事件,
控制台报错如下: Could not find action or resultNo result defined for action example.HelloWorld and result input - action -此时如果添加result,name等于input则不再报错,但是action的方法不执行;后经过多次调试才明白,原来是在httpclient的method中赋原创 2008-03-24 19:33:00 · 1304 阅读 · 2 评论 -
字符编码之困惑(Unix/DOS)
<br />问题发生情景:<br />文件编码为UTF-8,最初文件使用eclipse编辑,再远程使用UE编辑Linux上的同名后,格式由DOS变成了Unix; 此时里面的中文,在window下测试都有没有问题,当将web应用部署到linux下后 会发生乱码问题。<br /> <br />解决,使用UE转换,从Unix到DOS, OK原创 2010-12-29 14:36:00 · 2993 阅读 · 0 评论 -
c3p0详细配置
c3p0详细配置转载 2010-11-17 13:26:00 · 1013 阅读 · 0 评论 -
AES与XOR加解密效率比较
<br />import javax.crypto.Cipher;<br />import javax.crypto.spec.SecretKeySpec;<br /><br />public class AES {<br /> private static final int KEY_LENGTH = 16;<br /><br /> public static void main(String[] args) throws Exception {<br />原创 2010-11-25 11:21:00 · 3876 阅读 · 0 评论 -
IE8中table中个td不能对齐的问题
<br />如果行,或者表格的长度设置为100,而各列的宽度设置加起来却超过了100,就会出现第一行无法跟其他行对齐的情况原创 2011-02-12 16:15:00 · 3160 阅读 · 0 评论 -
AES 加密及兼容
<br />JCE中AES支持五中模式:CBC,CFB,ECB,OFB,PCBC;支持三种填充:NoPadding,PKCS5Padding,ISO10126Padding。不支持SSL3Padding。不支持“NONE”模式。其中AES/ECB/NoPadding和我现在使用的AESUtil得出的结果相同(在16的整数倍情况下)。不带模式和填充来获取AES算法的时候,其默认使用ECB/PKCS5Padding。<br />算法/模式/填充 16字节原创 2011-04-29 16:05:00 · 5122 阅读 · 1 评论 -
Log4j Best Practices
Log4j Best PracticesJulius Davies, June 9th, 2008Before You Do Anything ElseTake a look at this logging checklist by Anton Chuvakin.IntroductionLogs must be thought out. An application's log design should probably besigned-off by a software arc转载 2011-05-05 17:16:00 · 2151 阅读 · 0 评论 -
Path expected for join!错误处理
在Hibernate中,进行连接查询时,如果使用join语句,就容易产生标题所示的错误。比如from Content o left join Mcp mcp where o.mcp.id=mcp.id and mcp.id=2正确的做法应该是在A中建立private Mc原创 2011-08-16 15:25:46 · 51887 阅读 · 0 评论 -
HQL hibernate容易出错的细节
实体映射类如果使用符合主键(非自生成ID),那么取得总量的HQL,不能用count(o),o是实体类的别名;只能用count(*)复合主键的操作方式类定义上加注释,@IdClass(类名.主键子类.class)每个主键加注释@Id将主键子类定义为static类型,这样才能使用第一条的写法,并在列名加数据库映射@Column(name = "APP_ID")使用符合主键时,如果用?替原创 2012-10-29 13:34:15 · 614 阅读 · 0 评论 -
Struts2设置开发模式控制台错误信息
在struts2的struts.properties中默认配置struts.devMode = false,此时不在控制台上显示错误信息。 struts.properties可以从官网下的包内找到,然后编译到classes下面开发时,需要将改为true,以便调试。原创 2010-11-24 09:48:00 · 1515 阅读 · 2 评论 -
Hibernate3 采用注解方式做数据库映射的一些误区
如果Id的注解定义到了字段上,那么其他的注解也必须都定义到字段上,反之亦然,都定义到get方法上如果不定义注解,会按照get后面的字符做映射如果注解到get方法上,且get返回的值类型与字段类型不一致,比如字段定义为int,而返回的是枚举(get方法内通过自定义方法进行转换),那么会按照get方法返回的值去存库们可能会与字段值不一致。原创 2013-01-07 18:53:44 · 1004 阅读 · 0 评论 -
正则表达式30分钟入门教程
补充,正常匹配路径中的/时,直接写,如果卸载中括号里面需要做转移([\/]*),来自nginx实践:)http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html正则表达式30分钟入门教程版本:v2.31 (2009-4-11) 作者:deerchao 转载请注明来源转载 2013-07-24 10:19:45 · 567 阅读 · 0 评论 -
struts2漏洞原理及解决办法
漏洞由来已久,2012年9月13日发表的如下帖子http://www.2cto.com/Article/201209/154990.html1、原理Struts2的核心是使用的webwork框架,处理 action时通过调用底层的getter/setter方法来处理http的参数,它将每个http参数声明为一个ONGL(这里是ONGL的介绍)语句。当我们提交一个http参数转载 2013-07-24 11:23:11 · 2029 阅读 · 0 评论 -
RSS协议中,时间字段格式要求
Date now = Calendar.getInstance().getTime();DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z");format.setTimeZone(TimeZone.getTimeZone("GMT+8"));System.out.println(format.原创 2013-09-06 10:57:35 · 1339 阅读 · 0 评论 -
通过log4j关闭memcached的日志
在使用java API使用memcached时,日志会自动打印,关闭方式可参考其官方文档,如下http://code.google.com/p/spymemcached/wiki/LoggingUsing log4jSet the logger impl to net.spy.log.Log4JLogger. For example: -Dnet.spy.log.Log原创 2013-09-22 10:12:22 · 6339 阅读 · 2 评论 -
Java JVM 内存组成
<br />1) 堆<br /><br /> 运行时数据区域,所有类实例和数组的内存均从此处分配。Java 虚拟机启动时创建。对象的堆内存由称为垃圾回收器 的自动内存管理系统回收。<br /> 堆由两部分组成:<br /><br /> 其中eden+fromspace+tospace也叫年轻代(young),old space叫旧生代.<br /><br /> 其中还有S1,S0(在JDK的自带工具输出中会看到),分别指的是Survivor space,存放每次垃圾原创 2010-12-21 10:08:00 · 1543 阅读 · 0 评论 -
Java 6 JVM参数选项大全
<br />本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Options 编写的译文。主要介绍JVM中的非稳态选项及其使用说明。<br />为了让读者明白每个选项的含义,作者在原文基础上补 充了大量的资料。希望这份文档,对正在研究JVM参数的朋友有帮助!<br /> <br />另外,考虑到本文档是初稿,如有描述错误,敬请指正。<br /> <br />非稳态选项使用说明<br />-XX:+<option> 启用选项<br />-XX:-<optio转载 2010-12-06 12:46:00 · 619 阅读 · 0 评论 -
JVM启动参数
jdk1.4.2 JVM官方地址:http://java.sun.com/j2se/1.4.2/docs/guide/vm/index.html<br />标准和非标注参数(for windows):http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/java.html<br />非stable参数:http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp<br /><br />中文地址:转载 2010-12-06 12:39:00 · 1419 阅读 · 0 评论 -
httpclient 上传文件
3.0版本用MultipartRequestEntity方式,怎么搞都不行。最后还是用了MultipartPostMethod,才算搞定总之,不好使啊.具体使用方式如下:1,MultipartPostMethod post = new MultipartPostMethod("http://localhost:8080/admin/ResourceAnd.action");2,原创 2008-03-24 20:35:00 · 1340 阅读 · 0 评论 -
在eclipse 的console中正确显示中文
如果在eclipse控制台出现乱码,大多是encoding引起。eclipse console的encoding配置是在Run...的“common” 选项卡(Tab)中设置里面有一项叫做Console Encoding,默认是设置成GBK,如果我们的控制台输出的字符是UTF-8编码的话,就需要在这里UTF-8;同理,可以根据实际情况改成其他的编码方式。原创 2008-03-25 16:55:00 · 5709 阅读 · 0 评论 -
java中的字符编码
java中的字符编码都是按照Unicode编码的。比如在调试的时候,我们可能关注某一个Stringleixing的字符的编码,这时候从调试窗口看到的就是从Unicode经过再编码得到的。例如String abc=“字符编码”;byte[] gbk=abc.getBytes("GBK");//得到GBK编码的数组。每两个字节表示一个汉字byte[] utf=abc.getBytes("UTF-8")原创 2008-04-24 11:46:00 · 766 阅读 · 0 评论 -
Tomcat报错Error reading tld listeners
严重: Error reading tld listeners java.lang.NullPointerException java.lang.NullPointerException at org.apache.log4j.Category.isEnabledFor(Category.java:746) at org.apache.commons.logg原创 2008-04-24 13:39:00 · 5193 阅读 · 4 评论 -
认识session
http://www.javaeye.com/topic/96490 以往我们认为在servlet中通request.getSessioin()就可以得到session,设置一些属性,就是session的功能;当客户端关闭浏览器时,session就“消失”了。这些看上去都很合理,但有些细节必须搞清楚。1、会话跟踪的原理。 Java Servlet API通过Session转载 2008-10-27 16:34:00 · 775 阅读 · 0 评论 -
Java 通过JNI调用C或者CPP代码
网上搜罗到一个JNI的例子,不错。用cygwin的环境搞了下,在原作上添加了点注释。如下:最近在公司里做了一个手机的项目,需要JAVA程序在发送短信的时候和第三方的短信服务器连接。短信接口是用C++写的。琢磨了三天,大致搞懂了JNI的主体部分。先将心得整理,希望各位朋友少走弯路。首先引用一篇文章,介绍一个简单的JNI的调用的过程。JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的转载 2009-02-16 11:07:00 · 18805 阅读 · 6 评论 -
eclipse 字符编码
在开发过程中,有时候文件会使用不同的编码方式,如果是日文字符,而此时系统打开的编码方式是GBK的话,就会显示成乱码。如果以前文件是按照UTF-8编码的,那么将编码改成UTF-8就能正常显示了。如果是使用shift-jis编码的,那么改成shift-jis就可以了。对应起来有以下:简体中文gb2312,繁体GBK,日语shift-jis或者MS932...选择编码时,需要的编码未必出现在下拉原创 2008-12-26 10:50:00 · 1482 阅读 · 0 评论 -
Java的垃圾回收及算法
http://www.blogjava.net/Jack2007/archive/2008/04/11/192288.html引言 Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式转载 2009-05-06 15:47:00 · 664 阅读 · 0 评论 -
JVM堆大小的调整
JVM堆大小的调整 Sun HotSpot 1.4.1使用分代收集器,它把堆分为三个主要的域:新域、旧域以及永久域。Jvm生成的所有新对象放在新域中。一旦对象经历了一定数量的垃圾收集循环后,便获得使用期并进入旧域。在永久域中jvm则存储class和method对象。就配置而言,永久域是一个独立域并且不认为是堆的一部分。 下面介绍如何控制这些域的大小。可使用-Xms和-Xmx 控制整个堆的原始转载 2009-05-06 15:49:00 · 2154 阅读 · 0 评论 -
http header connection,address already in use
当应用服务器提示address already in use 时,可考虑http客户端的连接问题,如下http rfc描述。此时需要设置http headerConnection为close14.10 Connection The Connection general-header field allows the sender to specify原创 2009-08-19 10:56:00 · 1540 阅读 · 0 评论 -
JAVA 自带测试vm工具TOOLS——jps、jinfo、jstat、jmap、jconsole
JAVA 自带测试工具TOOLS——jps、jinfo、jstat、jmap、jconsole 收藏 最近压力测试和调优Liferay portal,所以需要找到一种工具,可以比较好的监测VM工具。本来想使用商用工具,但偶然间发现SUN 的JDK中新添了几个工具,并且非常好用。秉承着有免费,不用商用的原则。开始使用新的JDK工具,以下简单介绍一下这几种工具。(注:本文章下的所有工具都存在JDK转载 2009-09-10 09:05:00 · 1357 阅读 · 0 评论 -
java,String.replaceAll中在替换路径(含有/或者/)容易出现的问题
在使用replaceAll(p,str)方式时,如果str中带有分隔符和$,则会出现很多问题。1,在str中,对分隔符(File.separator),前面加上"//",然后使用replaceAll(p,str),此时在windows没问题。在linux下,不会替换后面的$(即,替换后会得到$2,而不是匹配的字符串)。(例子,str = "$1"+"abc"+"//"+File.sep原创 2010-01-18 11:29:00 · 5227 阅读 · 0 评论 -
tomcat5 session保存问题
tomcat5 session问题,没验证tomcat其他版本tomcat在重启后,默认是恢复session数据的,它在tomcat目录下的work目录下,每个应用程序会有一个Session.ser文件,用来保存session数据。当重启后,会加载。此时如果客户端没有清除cookie数据,或者清除不了(iPhone下的Safari),就会导致用户使用使用以前的那个session。原创 2009-12-10 17:33:00 · 973 阅读 · 0 评论 -
cannot simultaneously fetch multiple bags 解决方式
<br />病理特征:Caused by: org.hibernate.HibernateException: cannot simultaneously fetch multiple bags,<br /><br /> 堆栈信息:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'initSystemDataBySpringListeren': Injectio翻译 2010-07-22 19:34:00 · 1434 阅读 · 0 评论 -
Mac系统的JDK8默认安装路径
在苹果电脑设置最新Android Studio的JDK路径时,需要将路径指向由系统自带的JDK6路径/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/转为我们自己从ORICAL下载的最新JDK8安装路径。JDK8以及JDK7安装的默认路径为:/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk原创 2015-04-03 10:35:54 · 54395 阅读 · 1 评论