JAVA网页编程之IBM 开辟职员办理计划:开辟利用了 Jav...
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点,js|办理IBM开辟职员办理计划:开辟利用了JavaBeans和JSP组件的portlet利用PortalToolkitPluginforWebSphereStudioApplicationDeveloperV4.0.3轻松完成它。
BaluRamachandran(balur@us.ibm.com)
初级软件工程师,IBM
2003年2月
本文叙说了WebSphereStudioApplicationDeveloperV4.0.3能成为开辟portlet的首选J2EE开辟工具的启事。文章扼要地会商了流派网站、WebSpherePortalServerV4.1.2、portlet和PortalToolKitPluginV4.x。作者将为您具体解说怎样利用PortalToolkitPlugin一步一步地编写portlet。文中的示例流派网站使用程序就是一个portlet,这个portlet能挪用一个JavaBeans组件把存储在Java属性文件中的特定于的客户信息会萃在一同。这个portlet将利用JavaBeans信息并经由过程JavaServerPages(JSP)页面将了局前往给哀求者。当必要向用户显现时,这个JSP页面将被嵌进到portlet中。
弁言
流派网站是一个经由过程把基于Web的资本会萃一处利用户能够单点会见那些资本的Web站点。用户不再必要独自登录每一个他们想要利用的使用程序而只必要登录流派网站自己就能够了。
WebSpherePortalServerV4.1
IBMWebSpherePortal是WebSphere软件平台的一个构成部分,它次要完成下述三种功效:
经由过程一系列用户、设备和定制选项供应对信息的会见。
集成并主动实行营业历程。
构建、毗连并办理使用程序。
WebSpherePortalServer是一个高度可伸缩流派网站服务器,它完成了一个计谋上的开放源代码流派网站框架。PortalServerV4.1创建在WebSpherePortalFamilyV2.1的中心服务之上。PortalServer供应以下服务:
对各种流派网站和贸易服务举行会见,好比:会见用于电子买卖(eCommerce)的WebSphereCommerceSuite、会见用于信息分类(informationcategorization)的EIP和会见用于初级合作(advancedcollaboration)与团体信息办理(personalinformationmanagement(PIM))的Lotus工具(比方:Calendar、Mail和Sametime)。
经由过程事情流、EAI等办法对旧体系的毗连。
WebSpherePortal也供应以下别的服务:
单点登录
平安性
Web内容公布
搜刮
本性化处置
合作服务
企业使用程序集成
撑持挪动设备
站点剖析
Portlet
Portlet是IBMWebSpherePortal的主要构成部分。作为一种特别的可重用的Javaservlet,portlet被作为已界说地区显现在流派网站页面上。portlet能够会见很多分歧的使用程序、服务和Web内容。WebSpherePortal配有一个丰厚的尺度portlet集,它包含了用于显现辛迪加内容、用于转换XML和用于会见搜刮引擎与Web页面的portlet。您也能够利用一些第三方供应的portlet,比方企业资本企图(ERP)和客户干系办理(CRM)。PortalServer还供应您一个能用于创立自界说portlet的API。经由过程把portlet会萃在一同并授与用户界说他们本人的桌面的权利,PortalServer为贸易同伴、客户大概雇员供应了一条能更高效更中意地处置商务举动的捷径。
WebSphereStudioApplicationDeveloperV4.0.3
不久以后,WebSphereStudio产物套件会代替现有的Java和Web使用程序开辟工具(VisualAgeforJava和WebSphereStudio-classic)。新的工具创建在一个开放的平台之上而且具有最前沿的EnterpriseJavaBeans(EJB)手艺和基于J2EE1.2标准的J2EE加工手艺。它还具有以下功效:
企业毗连
内置单位测试情况(WebSphereApplicationServer和Tomcat)
增量编译
多种调试办法(包含远程调试)
集成小组开辟情况
WebSphereStudioDevelopmentEnvironment是创建在高度可插的WebSphereStudioWorkbench开放源代码平台之上。在这个平台的顶层,IBM完成了WebSphereStudioApplicationDeveloper,而且IBM还勉励其他供给商将他们的工具也集成到这个平台上。这个开辟情况合适基于脚色的开辟,而且开辟历程带有合适于特定脚色的用户界面功效。一切资本都存储在一个基于文件的资本库中。在不久的未来,VisualAgeforJava和WebSphereStudio-classic一切的功效将都能在ApplicationDeveloper中完成。新的工具已能撑持Web服务。
PortalToolkitPlugin
PortalToolkit是ApplicationDeveloperV4.0.3的一个插件,用于开辟portlet使用程序。PortalToolkit供应:
Portlet项目,您能在这个项目中创立笼统portlet、JSPportlet、servletinvokerportlet、XML/XSLportlet和多-设备/视图(multi-device/view)portlet。
PortalServer项目,您能在这个项目中将你的portlet使用程序公布到你的方针PortalServer呆板上。你的portlet将呈现在你的PortalServer的调试页面上。
用于企业使用程序的Portlet使用程序示例。
开辟并部署一个JSP会话portlet
作为一个示例,我将为您解说怎样开辟一个利用了名为PortalBean的JavaBeans组件的portlet,使它能附属性文件中检索已存储的值。这个portlet实例化一个已存储的JavaBeans类并把这个JavaBeans实例存储在portlet会话的哀求属性中。这以后,portlet就挪用一个JSP组件并传出哀求属性与呼应属性的值。然后该JSP组件将会利用被传来的JavaBeans类并在portlet中输入得当的值。
为ApplicationDeveloper安装PortalToolkitPlugin
假如您还没有PortalToolkitPlugin,请在这里下载PortalToolkitPlugin。
依据提醒将插件安装到ApplicationDeveloperV4.0.3中。请注重安装的先决前提。
将WebSphereApplicationServerJVM增加到AplicationDeveloper的可用JVM列表中:
翻开Windows-Preferences。选择Java-InstalledJRE。
单击AddNew。
扫瞄并选择X:WebSphereAppServerjava。
一旦它被显现在已安装JRE列表中,选中WASJRE旁的复选框将它设置为缺省的JRE。
单击OK保留您所做的变动。
开辟MyJSPPortalPortlet
创立一个名为JSPPortal的新项目:
单击Opennewprojectwizard>PortletDevelopment>PortletApplicationProject。
在Projectname栏中输出MyJSPPortal。
承受企业使用程序项目称号(EnterprseApplicationProjectname)的缺省值
单击Next.
安装一个基础的portlet基本架构,选择PortletTypeNone。单击Finish。
创立一个名为MyJSPPortal的Java类:
单击Opennewprojectwizard>Java>Javaclass。
将包定名为portal。
将类定名为MyJSPPortal。
单击Finish。
为MyJSPPortal类复制并粘贴代码:
请确认用于编纂MyJSPPortal的编纂器是翻开的。
复制并粘贴上面的代码:
MyJSPPortal
packageportal;
importjava.io.*;
importjava.util.*;
importorg.apache.jetspeed.portlet.*;
publicclassMyJSPPortalextendsAbstractPortlet{
publicMyJSPPortal(){
super();
}
publicvoiddoView(PortletRequestrequest,PortletResponse
response)throwsIOException,PortletException
{
//readthevaluesfrompropertiestextfile
getPropertiesFile(request);
PrintWriterwriter=response.getWriter();
FileInputStreampropFile=null;
//Usecreatedsessiontoretrievevalues
PortletSessionsession=request.getPortletSession(false);
//whenvalidsessionisreturned,getthevaluesfrom
thesession
StringlName="";
StringfName="";
StringeMail="";
if(session!=null)
{
lName=(String)session.getAttribute("LName");
fName=(String)session.getAttribute("FName");
eMail=(String)session.getAttribute("Email");
}
PortalBeanbean=newPortalBean();
bean.setlName(lName);
bean.setfName(fName);
bean.setEMail(eMail);
request.setAttribute("MyBean",bean);
getConfig().getContext().include("MyPortal.jsp",request,
response);
}
publicvoidinit(PortletConfigportletConfig)
throwsUnavailableException
{
super.init(portletConfig);
}
publicvoidgetPropertiesFile(PortletRequest
request)throwsPortletException
{
//Intializemethodvariables
Stringfname="";
Stringlname="";
Stringemail="";
FileInputStreamfi=null;
//CreateanewSession
PortletSessionsession=
request.getPortletSession();
//Initializeapropertiesfilewithnodefault
properties
PropertiesmyProp=newProperties();
//Loadthepropertiesclasswithkey-value
pairsfrom//thetextfile
try{
fi=newFileInputStream
("C: empmyProperties.txt");
myProp.load(fi);
fi.close();
}catch(FileNotFoundExceptionfe)
{
System.out.println("FileNotFound");
}
catch(IOExceptionfe)
{
System.out.println("IOException");
}
//Retreivetheindividualkey-valuepairsand
storetheminthesession
if(myProp.containsKey("FirstName"))
{
fname=myProp.getProperty("FirstName");
session.setAttribute("FName",fname);
}
if(myProp.containsKey("LastName"))
{
lname=myProp.getProperty("LastName");
session.setAttribute("LName",lname);
}
if(myProp.containsKey("Email"))
{
email=myProp.getProperty("Email");
session.setAttribute("Email",email);
}
}
publicvoidservice(PortletRequestportletRequest,
PortletResponseportletResponse)throwsPortletException,
IOException
{
doView(portletRequest,portletResponse);
}
}
编译上述代码(CTRL-S)。
创立以下所示的一个名为MyProperties.txt的文本文件,并将它保留在C: emp目次中。
MyProperties.txt
FirstName=Joe
LastName=Generic
Email=com
创立另外一个名为PortalBean的Java类:
就象您先前所做的那样,创立另外一个名为PortalBean的新Java类,并将它翻开。
将上面的代码剪切并粘贴到PortalBean中:
PortalBean
packageportal;
/**
*Insertthetypesdescriptionhere.
*Creationdate:(1/12/20026:34:35PM)
*@author:Administrator
*/
publicclassPortalBean{
/**
*PortalBeanconstructorcomment.
*/
publicStringfName;
publicStringlName;
publicStringeMail;
publicPortalBean(){
super();
}
/**
*Insertthemethodsdescriptionhere.
*Creationdate:(1/14/200210:28:20PM)
*@returnjava.lang.String
*/
publicStringeMail(){
returnnull;
}
/**
*Insertthemethodsdescriptionhere.
*Creationdate:(1/14/200210:28:20PM)
*@returnjava.lang.String
*/
publicStringgetEMail(){
returneMail;
}
publicStringgetfName()
{
returnfName;
}
/**
*Insertthemethodsdescriptionhere.
*Creationdate:(1/14/200210:35:04PM)
*@returnjava.lang.String
*/
publicStringgetlName(){
returnlName;
}
/**
*Insertthemethodsdescriptionhere.
*Creationdate:(1/14/200210:29:41PM)
*@paramemailjava.lang.String
*/
publicvoidsetEMail(Stringemail){
eMail=email;
}
publicvoidsetfName(StringmyName)
{
fName=myName;
}
publicvoidsetlName(StringmyName)
{
lName=myName;
}
}
在把持台屏幕的下半部分会呈现两条毛病信息―个中一条信息标明您必要将一个servlet援用增加到portlet.xml文件中而另外一个信息则标明存在对portlet.xml文件中portlet的一个毛病援用。按以下步骤举行操纵您将能修改这些毛病。
将portlet增加到Web部署形貌符中:
双击web.xml,翻开web.xml举行编纂。
单击servlet选项卡并选择Add。
在AddServlet中,找到MyJSPPortalservlet并单击OK。
单击Servlet窗口并单击Add举行URL映照。
编纂新的URL并将它的值设置为:/MyJSPPortal/*。
单击CTRL-S保留您所做的变动。
单击web.xml的source选项卡检察增加了servlet后响应的变动。
增加MyJSPPortal.jsp文件:
右单击webApplication并增加New>JSPFile。
输出文件名MyPortal.jsp。
单击Finish。
双击早先创立的MyPortal.jsp,将上面的代码复制到文件中,然后单击CTRL-S保留这些代码。
MyPortal.jsp
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<%@pagesession="false"%;>
<jsp:useBeanid="MyBean"class="portal.PortalBean"scope="request"/>
<METAhttp-equiv="Content-Type"content="text/html">
<METAhttp-equiv="Content-Style-Type"content="text/css">
<TABLEclass="Portlet"width="100%"border="0"cellspacing="0"
cellpadding="0">
<TR>
<TD>
<b>LastName:<%=MyBean.getlName()%></b>
</TD>
<TD>
<b>FirstName:<%=MyBean.getfName()%></b>
</TD>
<TD>
<b>EMail:<%=MyBean.getEMail()%></b>
</TD>
</TR>
</TABLE>
将参考servlet增加到portlet.xml文件中:
双击portlet.xml,翻开portlet.xml举行编纂。
单击portlet选项卡。
双击PortletApplications并右单击Portlet_2。
单击servlet旁的Browse并找到MyJSPPortalservlet。它的形态应当是未被利用。
凸起显现servlet并单击OK。
利用CTRL-S保留并提交您方才所做的变动。
当您完成上述步骤后,您就不会在把持台屏幕上看到毛病信息了。
从头编译MyJSPPortal项目:
右单击MyJSPPortal并选择RebuildProject。
导出完全的WAR文件:
右单击MyJSPPortal并选择ExportWAR。
关于导出文件的寄存地位,扫瞄并选择C: emp(或其他任何符合的地位)作为导出文件地位,并输出MyJSPPortal作为文件名。
单击Finish。
编译代码(CTRL-S)。
部署MyJSPPortalPortlet
要部署MyJSPPortalportlet,请按以下步骤举行操纵:
以流派网站办理员身份登录流派网站:
翻开InternetExplorer并输出以下地点:http://portal.ibm.com/wps/portal(或符合的URL)。
单击右上角的key图标登录。
利用wpsadmin/wpsadmin作为用户标识/暗码,从而以办理员身份登录。
会见AdministrationPortlet:
单击左上角的下拉菜单,它包括一个暗示以后所显现Home页的条目,并选择PortalAdministration。
单击Browse找到您在后面一节中导出的MyJSPPortal.war文件(C: empMyJSPPortal.war),然后单击Next。
单击Install安装portlet。您应当瞥见一条标明portlet已被乐成安装的动静。
将MyJSPPortalportlet增加到Home-Welcome页面:
单击屏幕左上角带有PortalAdministration条目标下拉菜单。
选择WorkwithPages。
单击PageGroup下拉菜单并选择Home。
单击Page下拉菜单并选择Welcome。
单击屏幕上方的GetPortlets
选择Showallportlets并单击Go。
如今您将能瞥见一个已部署好的portlet的列表。向下转动并找到MyJSPPortalportlet。单击该行最左一栏的+标记选择MyJSPPortalportlet举行部署。
向上转动页面并单击页首左上真个OK。
一旦你前往到本来的页面,找到并凸起显现MyPortalportlet。单击+标记将MyPortalportlet增加到Welcome页面。
最初,单击屏幕左下真个Activate图标激活增加了MyPortalportlet的Welcome流派网站页面.
检察Home页面,看看您所作的变动:
找到并单击左上角的下拉菜单并选择检察Home页面。
先说优点,首先和C,C++这些语言比起来,java很简单,去掉指针的java,非常好理解,自动垃圾回收机制也很好,自从JDK1.5推出以后,性能上又有了很大提高。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 是一种为 Internet发展的计算机语言
页:
[1]