资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
Portlet + WebServices编写简单指南by shootsoftshootsoftchina :/ shootsoft.net本文包含以下内容:1.起步11.1 环境搭建11.2 导入Portlet工程11.3 部署HelloWorldPortlet12.创立自己的Portal33.参加Web Services34.如何打包45.可能出现的部署错误提示51. 起步1.1 环境搭建开发工具:MyEclipse 5.5/6.0 完整版效劳器:Pluto 1.1.4完整版 下载地址: :/apache.mirror.phpchina /portals/pluto/BINARIES/v1.1.4/pluto-1.1.4-bundle.zip同时还要下载Pluto的官方例子HelloWorldPortlet: :/wiki.apache.org/portals/Pluto/Pluto1.1ExamplePortlet注意:你的Web Services必须已经可以正常访问才可以。本文将不涉及到Web Services编写问题。只会阐述如何通过MyEclipse自带的XFire来访问Web Services。1.2 导入Portlet工程首先需要导入官方的HelloWorldPortlet到Eclipse里面来为一个工程。操作步骤如下:1) 解压缩HelloWorldPortlet.zip到一个文件夹,比方c: HelloWorldPortlet2) 在Eclipse的Project Explorer里单击鼠标右键,选择Import(MyEclipse 6.0需要在子菜单里再选Import)3) 选择Existing Projects into Workspace4) 浏览到c: HelloWorldPortlet也有可能是c: HelloWorldPortlet HelloWorldPortlet,在Projects列表内可以看到HelloWorldPortlet,选中,再选中列表下方的Copy Projects into Workspace,点击Finish按钮。5) HelloWorldPortlet已经成功导入。1.3 部署HelloWorldPortlet1官方的例子中已经包含了一个打包好的HelloWorldPortlet.war文件。建议删除自己打包一次!否那么以后自己编写的Portlet打包会出现问题。2在工程中的build.xml上单击鼠标右键选择Run AsAnt Build。如果出现错误提示:BUILD FAILEDD:shootsoftworkspaceHelloWorldPortletbuild.xml:109: The following error occurred while executing this line:java.lang.NoClassDefFoundError: org/apache/xml/serialize/XMLSerializer这时候需要下载一个补丁包: :/mirrors.24-7-solutions.net/pub/apache/xml/xalan-j/xalan-j_2_7_0-bin.zip把压缩包内的4个jar文件拷贝到HelloWorldPortlet目录的lib目录下,比方我的是:D:shootsoftworkspaceHelloWorldPortletlib在Eclipse里面的Project Explorer里面的HelloWorldPortlet工程上单击鼠标右键。首先选择Refersh刷新一下这个工程。然后再选择工程的Properties。在弹出的配置窗口中选择Java Build Path,切换到Libraries页卡,点击第一个按钮Add JARs,在HelloWorldPortlet工程的lib目录下可以看到刚刚拷贝过来的四个jar文件(如果看不到,关闭属性窗口,刷新一下工程即可),将其选中,点击OK按钮。然后再次执行build.xml就不会出错了。3启动Pluto效劳器双击bin/startup.bat即可。访问如下 :/localhost:8080/manager/html/输入用户名:tomcat密码:tomcat4在页面下方的WAR file to deploy中点击浏览按钮,选择刚刚打包好的war文件,点击Deploy按钮,稍微等待片刻,就可以在上方的Applications列表中看到我们部署成功的HelloWorldPortlet了。5HelloWroldPortlet部署成功后可以看一下这个Portlet,访问如下 :/localhost:8080/pluto/portal如果需要登录请输入用户名:tomcat密码:tomcat6访问Pluto Admin页,在最下方的Portlet Applications的下拉列表里就可以看到刚刚部署的HelloWorldPortlet,依次选择/HelloWorldPortletHelloWorldPortlet,然后在Portal Pages选择一个页面,比方About Apache Pluto,然后点击Add Portlet按钮。7接下来访问About Apache Pluto就可以看到刚刚部署成功的Hello World Portlet了。2. 创立自己的Portal因为Portal打包步骤有点稍微复杂,所以我们直接在HelloWorldPortlet工程上动手术修改即可。1在HelloWorldPortlet工程上单击鼠标右键,依次选择RefactorRename,然后输入新的工程名称,比方: GP6PlatformClient。2新建包:edu.pku.group6.protal。在此包下新建一个名称为EHoenstPortlet的类。类的内容可以完全参照HelloWorldPortlet。3翻开/GP6PlatformClient/src/main/webapp/WEB-INF目录下的portlet.xml。将HelloWorldPortlet相关信息全部改成EHoenstPortlet。4再次打包发布即可。5如果想编写复杂一点的Portlet,可以参考: :/ baidu /s?tn=searches_dg&ie=gb2312&bs=portal&sr=&z=&cl=3&f=8&wd=portlet&ct=0推荐一个Portal资料的论坛 :/ portalfan /要注意:如果调用外部jsp文件的话,jsp文件中需要声明portlet标签库:表单的提交地址应当为:如果是想链接到自身页面,可以这样处理portlet:actionURL portletMode= var=urla href=Back3. 参加Web Services新建包:edu.pku.group6.client在此包上单击鼠标右键,新建一个访问Web Services的客户端,具体操作是在包上单击鼠标右键,选择NewOthers,在文本框内输入Client,就可以看到Web Service Client的项,选中,点击Next。客户端选项设定如下:注意: :/localhost:8080/GP6Platform/services/EHonestService?wsdl是我的Web Service的wsdl文件的访问路径。依次Next,最后就可以得到Web Service的客户端了。有了客户端就可以在Portlet中参加访问Web Service的代码了。在此具体代码请参考我给出的例如代码。因为那局部不是我要讲的重点。4. 如何打包生成了可以访问Web Services的客户端之后,此时工程会自动引入三个类库:XFire 1.2 Core LibrariesXFire 1.2 Client LibrariesXFire 1.2 JAXB2 Client Libraries如果你再次运行build.xml那么可能会出错。提示一些XFire的包不存在,这是因为以上三个包并没有放在lib目录下,而是外部引用。这时候需要我们手动将这三个包剔除,然后翻开MyEclipse安装目录的myeclipseeclipsepluginscom.genuitec.eclipse.ws.xfire_5.5.0data1.2lib目录,然后把所有的jar包拷贝到工程lib目录下。使用类似1.3节中使用过的方法将这而包引入。再次运行build.xml就不会出错了。5. 可能出现的部署错误提示因为官方的例子是使用Maven来进行部署操作的。Eclipse的maven插件安装视频教程如下: :/m2eclipse.codehaus.org/Installing_Maven_2.0_plugin_for_Eclipse.html因为我安装后总是提示那个脚本出错,但是部署可以手动解决,所以没有深入研究。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号