|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点,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推出以后,性能上又有了很大提高。 |
|