今天遇到一个webwork文件上传的问题,上传 txt 文件的时候,如果文件内容为空,则上传后的文件为null,上传不成功。试了一下,如果给txt文件写一个二进制的0x00字符,即可以上传成功,如果是上传一个没有内容的word文档,也可以成功,分析原因应该是word格式自带了很多隐藏格式数据,所以其实没有文字内容的word文档也是有东西的。这样看来,只要文件实际内容为空,即不带任何字符,上传就有问题。 随后,我查看了一下webwork.properties文件,发现我们项目的webwork.multipart.parser选用的是jakarta,于是我依次换用了另外两种par ...
这两天在学习Acegi,正好要用到Glassfish,据说glassfish不需要热启动,所以在开发效率上要高于tomcat。而且glassfish是Java EE 5的标准实现,听了不少关于它的好话,一直没时间用一下。今天有点时间,就下载了一个安装,记录一下步骤。提醒一下,glassfish要求是jdk1.5或1.6,你需要事先装好并配置好JAVA_HOME等,最好是连 Ant 也装好了。 先到官方网站https://glassfish.dev.java.net 下载一个最新版的glassfish,现在是v2的。我下载的是windows操作系统的mutilingual版本, ...
最近我们在一个小项目作了一点新的尝试,改变以往传统的做法,用Base类统一注入管理Bean的方式来简化编程。 这个项目使用的是Webwork + Spring + Hibernate的框架,每个功能模块都有对应的一套Webwork Action、Service和Hibernate Dao。我们使用这种框架的传统做法是,在每个Action中注入需要用到的Service Bean,这样需要在Action中声明要用到的Service成员变量,并提供set方法,也要在对应的Spring配置文件中(比如application.xml)为每个Action写上<property na ...
今天为了弄清楚一个新的方案,作了几个试验。 经试验确认,webwork的Action不是线程安全的,要求在多线程环境下必须是一个线程对应一个独立的实例,不能使用singleton。所以,我们在Spring配置Webwork Action Bean时,需要加上属性scope=”prototype”或singleton=”false”。 经试验确认,singleton模式指的是对某个对象的完全共享,包括代码空间和数据空间,说白了,如果一个类是singleton的,假如这个类有成员变量,那么这个成员变量的值是各个线程共享的(有点类似于static的样子了),当线程A往给变量赋了 ...
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是为了Java程序访问命名服务和目录服务而提供的统一API。 命名服务,说白了就是提供一个名称键值对的管理,即Key-Value对,Key代表一个资源的名称,Value代表资源的真实地址,命名服务允许大家通过唯一的名称找到对应的对象或资源。这样程序只需要知道某种资源的名称,就可以通过JNDI来访问到它,而不需要知道这个资源真实的物理地址。这有点类似于DNS服务,DNS服务将域名解析成IP地址,这样大家只需要在浏览器中输入网站的唯一名称(即域名)就可以访问到该网站,而不需要 ...
这两天部门入职了一位测试工程师,拉开了我们部门建设测试团队的序幕。Bug管理我们打算使用Bugzilla或者Clear Quest。由于两年前,我就曾在公司外网的服务器上安装过Bugzilla,所以这次我们也打算从Bugzilla入手。但事情没有想象的那么顺利。 两年前,我是在32位中文版的Windows 2003 Server上安装的Bugzilla,版本好像是2.20 cn,我电脑上还保留着当时的安装程序,用的Active Perl 5.8.7,mysql 4.1。可这周,我们是打算在32位英文版的Windows 2003 Enterprise Server上安装,我把老 ...
这两天一直在看一本书《深入Java虚拟机》,从底层来审视整个Java,贯通和学会了很多新的知识点。虽然还没有看完,但已经有了很多的收获。 Java体系结构包括Java语言、Java API、Java class文件、Java虚拟机四个部分。Java设计的初衷在于实现网络化应用,想避开Microsoft和Intel在桌面领域的统治地位,转而主要应用于嵌入式设备和消费类电器设备,只是没想到现在桌面应用和Web应用反而成了其最火的地方。为了实现其最初设定的目标,即便于网络化应用,Java的设计着重考虑了三个方面:平台无关性、安全性和网络移动性。 平台无关性,主要通 ...
这两天把PHP5好好的看了一下,从语法到常用的函数库、到smarty模板和一些应用的例子,感觉PHP和ASP很像,没什么太大的区别。从语言的角度来看,PHP和其他脚本语言或动态语言的差别不是那么大,虽然PHP已经支持面向对象了,但我估计现在很多人拿起PHP还是用面向过程的编程方法,估计很多对数据库的访问就直接写在界面逻辑里了。 感觉PHP没有什么应用分层的概念,顶多是把一些功能抽取出来,独立于一个php文件中,比如数据库访问,权限处理等。如果真的是这样,只能说PHP追求开发速度,而对架构设计有所忽略,我觉得这种设计理念真的不如J2EE、.NET好。但也许你也可以按照多层结构 ...
今天上午没有去公司,下午到公司的时候发现上不了Internet网,同事告诉我早上大家就都上不了,研发的同事帮每个人都设成了固定IP,并指定网关为路由器的IP地址192.168.1.1,才搞定。 我发现我的电脑也上不了Internet网,用ipconfig一看,发现自己的子网掩码不对,ADSL路由器的子网掩码是255.255.255.0,局域网内其他电脑要想通过这个宽带路由器访问Internet,就必须也在同一个子网中。一看自己的IP设置,是DHCP阿,按道理如果是从路由器分配的IP地址,应该是在这个子网内阿。 于是,继续用ipconfig /all查看了 ...
最近在一个J2EE项目的开发过程中,遇到了这样的问题: 在服务器上部署好这个Web系统后,这时访问系统是很正常的。当把服务器的时间(例如:2008-03-31)加一天或更多天(例如:2008-04-01,2008-04-02...),这时再访问这个Web系统,报出如下的异常: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java. ...
fencering
搜索本博客
最近加入圈子
存档
最新评论