暂无个人介绍
这篇帖子是对《使用Axis发布简单的Web服务》的补充。 可以看出,在Axis里书写deploy.wsdd并利用org.apache.axis.client.AdminClient发布,其主要工作就是把<service>标签中的内容添加在server-config.wsdd里,所以一般直接编辑server-config.wsdd文件会更方便一些。
现在,简单解释一下《使用Axis发布简单的Web服务》中发布的Web服务所对应WSDL文档的内容和结构。请注意,同样的Java类在不同的Web服务开发包中得到的WSDL文档不一定完全相同,这里还是以使用Axis的情况作为例子。
虽然发布的服务很简单,Axis帮我们生成的WSDL文档看起来却是比较复杂的,之所以这样的主要原因是WSDL要考虑到兼容各种实现和具有可扩展性,这就像我们使用一些框架做开发会使代码总量增加,而好处是使逻辑更加清晰。
我发现写日志可以帮助自己整理思路,有些技术在一段时间不用后,如果以日志的形式写出来,对于巩固记忆是十分有效的。比如这个Web服务系列,为了尽量避免错误,我会重新查阅资料,在这个过程中又能学到新的知识。
PPP的全称是专案组合优化管理系统(Project Portfolio Prioritization),目的是为企业管理多个专案时提供方便,这个项目是为台湾一家银行做的。 利用PPP系统,可以管理企业现有的资源,当新加专案的时候,根据这些资源的技能和现有分派比率(即负荷),和一些其他如行事历、某些人员必须参加等等条件,PPP会提出一些分派方案,项目经理可以直接选择某一方案或对它们进行修改后再实施。
对于XML这个名字,我们已经再熟悉不过了。它可以说是既简单又复杂,因为XML本身具有简单明确的规则,但随着越来越多基于XML技术的新应用的出现,它又演化出各种复杂的语言。希望这篇帖子能为你解决以下问题:XML是什么、我们为什么需要它以及怎样使用它。
Web架构师Brett McLaughlin向我们展示了怎样利用JavaBean和JSP技术在Web页面中保存和传递数据,以及如何设计可以得到更大的灵活性。到目前为止,在JSP最佳实践系列里,我们已经讨论了相当一部分基础知识。
Dreamweaver(简称DW)的设计视图里不能显示struts标签,只能手动改代码。为此我找了好久,终于还是在DW网站上找到了,只有8K大,虽然没有漂亮的图标,但显示的信息还是很够用的。现在总算可以用DW编辑含有struts标签的jsp文件了! 图1 在DW里显示struts标签 这个文件我已经放在FTP上了,请点这里下载。
记得几年前汉化软件一般是用二进制编辑工具在编译后的文件中查找和替换英文单词,这个过程需要使用很多技巧,非常的麻烦。而现在,在开发时对应用程序进行国际化处理已经越来越成为一个必不可少的步骤了。例如这次我参与的项目是给台湾客户做的,他们要求英文和繁体中文两个版本,幸好我们使用的开发工具是Eclipse,利用它的国际化功能可以很方便的将写在代码里的字符串提出到独立的资源文件中,这里用一个简单的例子说明一下这个过程。
做示范中心项目时遇到的,类Teacher实现接口BusinessObject,在接口里用@hibernate.class,在类里用@hibernate.joined-subclass-key column="oid"和@hibernate.joined-subclass,执行ant任务时只生成了BusinessObject.hbm.xml,而且在里面没有关于Teacher的定义。
在示范中心项目中,我们把ActionForm中日期类型的字段指定为String类型,而在对应的JavaBean中指定为java.sql.Date类型。当用户提交表单的时候,在Action里使用BeanUtils.copyProperties()方法从ActionForm构造JavaBean对象(详见利用BeanUtils在对象间复制属性)。
在PPP项目中我们组使用PVCS Tracker来跟踪bug,感觉项目组的确是需要这样一套系统的,PVCS虽然功能比较强,但首先不是免费的,另外也比较大,对于示范中心这样的小项目来说有些不够灵活。因此我安装了Mantis,一个十分小巧的bug跟踪工具。
上个周末都在研究怎么用tiles管理示范中心项目的界面,没想到遇到了不少麻烦,到现在也没解决。首先,示范中心项目有很多个模块,我们是用struts的模块功能分开的。本来想的是在缺省模块里定义几个公用的界面定义(definition),然后再各模块里都继承这个定义,并修改必要的tile就可以了。
在本文的上篇里,介绍了使用Eclipse的国际化工具对程序中的字符串进行外向化处理(Extenalize),可以看出步骤是十分简单的。实在是很喜欢Eclipse这样的工具,它可以为你做很多事情,干净漂亮,但绝不会在未经你同意的情况下做任何动作,所谓“利器”也! 现在说说在资源中含有参数的情况怎样处理。
这些基本都是从老大身上学来的,在PPP项目中起到了积极作用,我认为至少是比较适合六人左右的小项目的。也有的不算是经验,或者说是公认的最佳实践,呵呵。 1、尽可能获得详细的需求,最好把界面先画出来让客户确认,形成文档。
一直都不明白反向链接是怎么实现的,今天好像有点懂了。在这个网站看到,原来一段javascript代码就够了,一定是利用了浏览器的什么功能。 <script language="Javascript" src="http://www.downes.ca/referrers.js"></script> 倒,看了一下这个js的内容,原来document还有个referrer属性啊,现在完全没有神秘感了。
今天遇到一个问题,到现在也没能比较圆满的解决,是不是Struts在标签库上还不够完善呢。比如有一个界面是显示课件列表的,在最后一栏里可以对数据进行操作,如下所示: Code Name Author OP 10000001 风洞模型课件 刘金东 View Edit Delete 1000000.
以下所说的struts-config.xml和ApplicationResources.properties等文件名是缺省时使用的,如果你使用了多模块,或指定了不同的资源文件名称,这些名字要做相应的修改。
在上一篇贴子里,我简单介绍了如何写一个TestCase(MockStrutsTestCase是TestCase的一个子类),可以看到是十分简单的,基本上只要写一些testXXX方法就可以运行了。当我们选择运行这个TestCase的时候,实际上运行的是一个Test,Test是TestCase的接口,实现这个接口的还有TestSuite类,使用这个类可以把多个TestCase一起运行,从而更加自动化。
目前,测试驱动开发正变得越来越流行,由于“存在的就是合理的”,这种开发方式必然有其优越之处。作为一个小小程序员,对新鲜技术的追求是工作的重要动力,相信大家都有同感吧。 测试驱动开发是极限编程(XP)的重要组成部分,从字面上就可以看出,它是先有测试再有代码的。
使用struts的一个好处就是,很多传统jsp/servlet开发中十分琐碎的事情都有规范化的方法来处理了。例如表单验证、错误提示、HTML字符过滤等等。今天简单说一说在form类里进行验证。 在上一篇文章里的LogonForm.
开发jsp/servlet最经常遇到的应用其中之一就是在页面上显示一个条目列表(例如用户列表、文章列表、商品列表等等),然后用户才好在浏览的基础上选择对某一个条目进行操作。现在就说一下怎样用struts实现这个功能。
这个Plugin的作用是在Struts应用程序启动时进行hibernate的初始化操作,原文HibernatePlugIn for Struts,步骤很简单: 1、在struts-config.xml里增加: <plug-in className="org.
前两天建的CVS库看来是有点问题,同步时经常提示错误,然后就只能从库里删除相关文件重新提交。不知道是不是这个版本比较不稳定(以前看过文章说新版的CVSNT有什么什么问题来着)。 项目估计涉及30-40个对象,每个对象的属性还比较多,大约8-12个。
问题描述 今天在开发中遇到一奇怪问题,有一个action,在该action里使用request.setAttribute()方法将一个List类型对象放在request中,然后forward到一个jsp文件,该文件的主要内容是使用<logic:iterate>标签将这个List对象中的条目列表显示。
用了这么久的Hibernate了,今天却遇到一个从未遇到的问题,幸好我思维敏捷,善于联想,才得以在短时间内发现并解决了问题。以下是具体描述。 我在HibernateDAO这个类里增加了一个方法如下: public Object getById(Class clazz, String id) throws HibernateException{ return session.
例如有一个模块名为teacher,包含对教师的列表、增、删、改等操作,因此应该有与这些操作相对应的Action。这样就涉及到它们的命名问题。 一开始我为他们的path起名为/listTeachers、/editTeacher和/saveTeacher(删除操作暂时没写),其中listTeachers用于列表,editTeacher判断request中的action参数产生新增或编辑的Form并跳转至Form页,saveTeacher则是在用户提交表单后执行实际的操作。