2005年09月28日

Jbuilder的TCP Monitor是用监视端口并转发数据的,

并且把客户请求和服务端请求的数据记录下来.

用它来分析http请求和回复非常方便,

而我巧妙的吧它用来做下面一件事情.

http://torrez.net/projects/konstructor/Konstructor.exe

是一个xmlrpc调试工具,美中不足的地方,是无法设置端口,

只能够用80端口访问,于是突然想到用TCP Monitor来进行端口转发.

用 TCP Monitor 监听80端口,并转发数据到远程的服务和指定端口.

呵呵

后来想到其实连这个调试工具都省了,直接用TCP Monitor来监视xmlrpc调用.

当然,也可以用IE的插件 ieHTTPHeaders 来分析http请求,但是ieHTTPHeaders 不记录content内容:(

2005年09月21日

tomcat5.5 中 JasperException: Failed to load or instantiate TagExtraInfo class:org.Apache.struts.taglib.html.MessagesTei

JasperException: Failed to load or instantiate TagExtraInfo class: com.acme.tag.IterateTEI

等等…

原因是 web-inf/lib/下出现了jsp-api.jar和,serverlet-api.jar,把它们删除,然后重新启动 web应用即可。

曾经见过有人给出的最蠢的一个做法,是在ActionForm里放了20个Formfile 类型的变量。
其实只需要下面一段代码即可。

        String dirPath = getServlet().getServletContext().getRealPath("/")
                         + "/upload";
        Hashtable fileh = actionForm.getMultipartRequestHandler().
                          getFileElements();
        for (Enumeration e = fileh.keys(); e.hasMoreElements(); ) {
            String key = (String) e.nextElement();
            try {
                FormFile formfile = (FormFile) fileh.get(key);
                String filename = formfile.getFileName().trim(); //文件名
                if (!"".equals(filename)) {
  //不同的浏览器传上的文件名可能有区别,有的是全路径的
//在这里保存文件
                    InputStream ins = formfile.getInputStream();
                    OutputStream os = new FileOutputStream(dirPath +
                            File.separatorChar
                            + filename);
                    int bytesRead = 0;
                    byte[] buffer = new byte[8192];
                    while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
                        os.write(buffer, 0, bytesRead);
                    }
                    os.close();
                    ins.close();

                }
            } catch (Exception ex) {
                logger.debug("出错了", ex);
            }
        }

2005年09月06日

java.lang.SecurityException: Unsupported keysize or algorithm parameters
            at javax.crypto.Cipher.init(DashoA6275)
的解决

在使用 bouncycastle的时候,会遇到

java.lang.SecurityException: Unsupported keysize or algorithm parameters
            at javax.crypto.Cipher.init(DashoA6275)

这个错误信息,是keysize长度被限制的缘故。

需要下载下面的文件了;来更新jdk的策略文件。

http://java.sun.com/j2se/1.4.2/download.html

Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files 5.0

jce_policy-1_4_2.zip

Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files 1.4.2

http://java.sun.com/j2se/1.5.0/download.jsp

jce_policy-1_5_0.zip


具体可以参考:
http://www.bouncycastle.org/specifications.html