国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

使用Netbeans部署和測試Portlets

開發 后端
本文使用Netbeans部署和測試Portlets,Portal是一個包含很多自定義的、可定制網頁的Web應用。具體的部署過程看下文。

Portal是一個包含很多自定義的、可定制網頁的Web應用。一個Portal應用里面包含有多個Portlets,而Porlets是一些web組件,可以嵌入到Portal應用里面。在上一篇文章《SOA概念的一些個人見解》中,我提到過SOA的服務包含表示層服務,這些Portlets可以看作是表示層的服務。下圖是一個Portal的應用的例子:

在這個網站中,我們可以看到,整個網站又多個小窗口組成,這些窗口可以最小化,最大化和關閉,這些小窗口就是一個個的Portlets。Portlets和Servelet一樣,需要一個容器來管理,Servelet需要一個WEB容器來管理,而Portlets則需要用一個Portal容器來進行管理。在這篇文章里,我將介紹如何在Netbeans里創建和管理Portlets。

Netbeans部署和測試軟件需求:

1、JDK1.6以上版本

2、OpenPortal Portlet Container 2.0 beta

3、Netbeans 6.0以上版本(我使用的是Netbeans 6.1),并安裝這些插件:jMaki Ajax Support,OpenPortal Portlet Container, Generic Portlet。

Netbeans部署和測試實驗步驟

1、把Portal容器配置到glassfish中:下載OpenPortal Portlet Container 2.0 beta,下載的文件是一個jar包,把該jar包的路徑拷貝到命令行中,用java -jar portlet-container-configurator.jar命令執行安裝,并選擇glassfish的安裝路徑,如下圖所示:

點擊OK即可進入下一步。

2、配置Portal服務器:打開"Service"窗口,右鍵單擊"server"-"Add Server",在彈出的窗口中選擇"OpenPortal Portlet Container 2",點擊下一步,這一步要選擇WEB容器,默認是GlassFish Server,在GlassFish Home中把路徑指向glassfish的安裝目錄即可,如:C:\Program Files\glassfish-v2ur2。另外還需要輸入admin的口令,默認是adminadmin。點擊下一步并完成即可配置好。

3、新建一個web工程:File - New - Web - Web Application,命名為MyPortlet,點擊下一步,其中Server選擇"OpenPortal Portlet Container 2.0",點擊下一步,選擇框架時,必須把Portlet Support及jMaki Ajax Framework選中,在選中Portlet Support時,注意要把"Create Portlet"選中,并把Portlet Class Name和Portlet Name都改為MyPortlet,注意,這兩個名稱必須一致,如下圖所示:

選中jMaki時,把CSS Style選為No CSS Style,如下圖所示:

4、工程建立完畢以后,我們展開WEB-INF文件夾,可以看到以下結構:

在一個Portlet里面,我們不再需要index.jsp,因此可以先把index.jsp刪除。Portlet的視圖是在WEB-INF下的jsp目錄下的MyPortlet_view.jsp。Netbeans IDE為我們生成了一個非常重要的源文件,那就是源包中的com.test.MyPortlet.java。這個java文件相當于Portlet的一個控制器,它繼承了GenericPortlet這個基類,doView,doEdit,doHelp方法分別會被GenericPortlet里的render()方法調用,為Portlet指定視圖、編輯頁面及幫助頁面。

5、右鍵單擊項目的"Build",生成項目并運行,你可以看到如下的頁面:

由于MyPortlet_view.jsp中只有一句:MyPortlet - VIEW MODE,因此,我們看到窗口中只有一句話:MyPortlet - VIEW MODE。注意MyPortlet窗口右上角的那些按鈕,都是可以使用的,大家可以嘗試點按一下它們,體驗一下Portlet的含義。

6、下面我們來為該Portlet添加一些動態和靜態的內容,包括RSS訂閱的功能。

首先,打開WEB-INF/jsp/MyPortlet_view.jsp,我們來在主視圖中添加一個多頁選項卡:
把MyPortlet - VIEW MODE這行去掉,在組件面板中拖一個Yahoo的ViewTab到jsp代碼中,在jsp代碼中生成了以下代碼:

  1. value="{items:[  
  2. {label : 'My Tab', content : 'Some Content'},  
  3. {id : 'bar', label : 'My Tab 2', include : 'test.jsp ', lazyLoad : true },  
  4. {label : 'My Tab 3', content : 'More Content', selected : true}  
  5. ]  
  6. }" /> 

點擊項目的右鍵,選擇Undeploy and deploy,再運行一下項目,你可以看到以下的頁面:

點擊MyTab2時,得到一個消息"Unable to load URL test.jsp .",那是因為MyTab2指向一個jsp文件,而我們并沒有創建這個文件。將MyPortlets_view.jsp的那段Widget的代碼用以下的替換:

現在,我們來創建3個jsp文件。點擊Web Pages的右鍵,注意,是Web Pages的右鍵,而不是WEB-INF/jsp的右鍵,因為我們現在不是要創建Portlet的視圖,而是在Portlet中引用其他的頁面,注意到上面這段代碼中,Tab里面的URL的上下文都是MyPortlet。分別創建download.jsp,fundamentals.jsp和whatsnew.jsp三個jsp文件。

打開download.jsp,用以下這段代碼來替換body里面的代碼:

  1. Downloads for New Developers 

 


Sun SITE下載中心

NetBeans IDE

MySQL Database

打開fundamentals.jsp,把正文部分的
JSP Page
去掉,從組件面板中拖一個jMaki Widgets的Blog List到正文body部分,生成如下代碼:

生成的代碼只是一些示例的文本,我們把代碼替換為以下:

 

  1. Java Technology Fundamentals  

如果你需要完成RSS訂閱的功能,必須把service設置為service="/xhp?id=rss",而每一個使用jMaki框架的應用,在應用上下文中(也就是web.xml)都配置了一個jmaki.xhp.XmlHttpProxyServlet的Servlet,其URL映射為/xhp。因此,我們在請AJAX代理時,一定要引入這個上下文。你可以修改xhp.json文件來自定義需要訂閱的內容。打開xhp.json,我們可以看到最后一項數據是:

  1. {"id": "rss",  
  2. "url":"http://weblogs.java.net/blog/ludo/index.rdf",  
  3. "xslStyleSheet": "rss.xsl"  

在這段代碼中,url指定了RSS訂閱的地址是http://weblogs.java.net/blog/ludo/index.rdf,這里,我們改為:
http://blogs.sun.com/JavaFundamentals/feed/entries/rss
另外,我們還需要在whatsnew頁面中訂閱另外一個RSS,因此,把原有的那段代碼用以下的替換:


 

  1. {"id": "rss", "url":"http://blogs.sun.com/JavaFundamentals/feed/entries/rss", "xslStyleSheet": "rss.xsl" }, {"id": "rss2", "url":"http://developers.sun.com.cn/blog/scut/feed/entries/rss", "xslStyleSheet": "rss.xsl" } 

注意,兩個id之間必須要有個逗號分隔開來。接下來,打開whatsnew.jsp,用以下靜態內容替換body部分的代碼:What's PopularThe Java Tutorial
Java Technology Fundamentals
Core Tech Tips
Easy Web Site Creation in the NetBeans IDE
The Java EE 5 Tutorial
What's New然后,在組件面板中拖一個Blog list出來,并替換為以下:7、配置Widget的樣式。打開resources/jmaki/bloglist/component.css,把height : 75px; 替換為height : 25px; 另外,在component.htm中,把
@{description}
刪掉,因為我們只需要保留標題,而不需要顯示詳細的內容。 8、重新部署項目,點擊項目右鍵,選擇Undeploy and deploy,再運行,就可以看到自己定制的Portlet了:

9、再新建一個Portlet,創建的順序與上一個Portlet相同,在編輯Portlet的View時,簡單地拖兩個widget進去進行調試,這里,我拖的是Yahoo的Search和Dojo的Clock,部署并運行,我們在Portlet管理頁面上就可以同時看到這兩個Portlet了:

【編輯推薦】

  1. NetBeans 6.0模塊快速入門教程
  2. Netbeans 6.0發布,支持Ruby、移動開發和集成的剖析器
  3. NetBeans 6.0預覽版發布 Sun再引驚呼
  4. NetBeans成為Ruby開發者的新伙伴(3)
  5. 八大技術牛人點評NetBeans 6.5
責任編輯:張燕妮 來源: csdn
相關推薦

2009-05-27 14:31:53

NetBeansEclipsPHP

2009-06-15 15:26:00

NetBeans連接數使用JSTL

2009-06-11 10:06:50

NetBeans使用

2009-06-09 13:02:30

NetBeans使用教程

2009-06-11 09:39:33

netbeans 生成Webservice

2009-06-12 11:36:42

Netbeans插件DTrace GUI

2009-06-15 14:28:00

NetBeansJavafx

2009-06-04 15:59:53

Netbeans操作MMySQL數據庫

2015-02-11 09:15:46

云部署嵌套虛擬化PaaS

2023-06-29 08:00:40

藍綠部署策略Docker

2009-06-15 15:16:00

netbeans sw平臺開發

2009-06-09 16:01:36

NetBeansIDEjava

2009-06-05 15:22:28

NetbeansEclipse

2011-05-24 10:30:31

PythonNetBeans ID

2009-08-07 10:27:45

Eclipse和Net

2020-03-24 07:00:00

UbuntuLinuxNetbeans

2020-03-20 18:19:05

UbuntuLinuxNetbeans

2009-10-09 13:22:47

Eclipse 3.6Netbeans 6.

2009-06-11 09:24:59

NetBeans入門

2009-06-09 16:41:46

NetBeans快捷鍵java
點贊
收藏

51CTO技術棧公眾號

一区二区三区日韩在线| 欧美精品日韩www.p站| aa在线免费观看| 久久先锋影音| 国产91|九色| 日韩精品一页| 日韩欧美中文字幕一区| 在线成人一区| 亚洲黄色在线视频| 国产又黄又猛又粗又爽的视频| 美女视频一区在线观看| 久久另类ts人妖一区二区| 久久精品欧美一区| 国产精品你懂得| 亚洲aaa级| 欧美精品激情blacked18| 午夜激情成人网| 亚洲精选一区二区| 成年人视频免费在线播放| 国产高清亚洲一区| 伪装者在线观看完整版免费| 国内精品久久久久影院色| 久久手机精品视频| 97se综合| 在线不卡免费av| 日本午夜在线视频| 国产精品v欧美精品∨日韩| 五月开心婷婷久久| 伊人精品视频| 成人香蕉社区| 黄瓜视频成人app免费| 伪装者免费全集在线观看| 这里只有精品久久| 日韩午夜电影网| 日韩av第一页| 成人一二三区视频| 极品美乳网红视频免费在线观看| 亚洲男人的天堂网站| 伊人久久精品一区二区三区| 亚洲.国产.中文慕字在线| 可以在线看黄的网站| 91在线视频播放地址| 宅男午夜视频| 8050国产精品久久久久久| 亚洲影视资源网| 欧美一区二区三区免费看| 97蜜桃久久| 最近中文字幕mv2018在线高清| 精品欧美一区二区三区久久久| 欧美激情免费视频| 一区二区三区高清在线| 日本91福利区| sdde在线播放一区二区| 国产欧美88| 岛国毛片av在线| 日本在线免费| 国产视频网站在线| 亚洲精品少妇久久久久久| 小说区视频区图片区| 国产精品xxxx| 91av视频在线播放| 亚洲韩国日本中文字幕| 精品日韩中文字幕| 欧美激情亚洲| 在线天堂新版最新版在线8| 欧美一级爽aaaaa大片| 777久久久精品| 久久久精品五月天| 厕沟全景美女厕沟精品| 岛国大片在线播放| 97在线免费观看| 欧美美女黄视频| 亚洲在线一区| 欧美巨大xxxx做受沙滩| 成人av在线不卡| 色婷婷综合成人| 一区二区久久久久| 毛片一区二区三区| 精品国产亚洲一区二区三区大结局| 99视频在线免费| 69精品人人人人| 视频精品在线观看| 在线免费观看一区二区三区| 精品久久久久久久人人人人传媒| av中文字幕一区| 最新日本在线观看| 四虎精品欧美一区二区免费| 欧美一级生活片| 国产在线观看a| 日韩精品一二三四区| 中文在线不卡| 穿情趣内衣被c到高潮视频| 欧美国产精品一区| 牛牛在线精品视频| 国产成人欧美在线观看| 亚洲一区欧美一区| 夜夜精品视频| a成人v在线| 国产精品区一区二区三区| 欧美亚洲国产精品久久| 亚洲男人av| 激情综合网五月| 久久人体大尺度| 亚洲成人1区2区| 精品久久久久一区二区三区| 午夜电影久久久| 国产高清免费av在线| 国产福利亚洲| a级国产乱理论片在线观看99| 国内精品伊人久久久久av影院| 两个人看的免费完整在线观看| 按摩亚洲人久久| 免费成人在线网站| 水中色av综合| 国产激情999| 中文天堂在线一区| 精品国产一区二区亚洲人成毛片| 亚洲人成人77777线观看| 无码av中文一区二区三区桃花岛| 日韩中文字幕| 男人的天堂狠狠干| 亚洲免费电影在线观看| 久久福利一区| 精品国产丝袜高跟鞋| 99久热re在线精品996热视频| 精品国产鲁一鲁一区二区张丽| 欧美91在线| 中文字幕无码不卡免费视频| 中文字幕在线亚洲| 国产精品亚洲午夜一区二区三区| 国产蜜臀在线| 亚洲乱码一区二区三区| 日韩免费一区二区三区在线播放| 亚洲一区欧美激情| 国产欧美黑人| 日韩欧美精品一区二区三区经典 | 色999日韩欧美国产| 国内久久精品视频| 九色porny丨首页入口在线| 欧美下载看逼逼| 日韩亚洲欧美成人一区| 免费永久网站黄欧美| 水莓100在线视频| 国产精品久久久久影院日本| 亚洲一级不卡视频| 99久久久久| 男生女生差差差的视频在线观看| 91麻豆国产语对白在线观看| 在线免费亚洲电影| 99精品国产一区二区青青牛奶 | 91久久精品美女| 色播五月激情综合网| 一区在线视频| 主播国产精品| 97精品电影院| 999久久久国产精品| 久热精品视频在线观看| 久久精品青草| 欧美日韩第一| 免费看精品久久片| 国产成+人+日韩+欧美+亚洲| 日本亚洲三级在线| a级精品国产片在线观看| 韩国精品久久久| 一区二区三区在线不卡| 久久夜色精品国产噜噜av| 国产精品美女久久久久久久久久久 | 欧美一级午夜免费电影| 亚洲精品美女久久久久| 伊人青青综合网站| 91精品国产99久久久久久| 国产精品wwww| 正在播放日韩精品| 成人av免费网站| 不卡视频免费播放| 中文字幕在线一区二区三区| 亚洲另类一区二区| 欧美亚洲禁片免费| 欧美大片免费观看| 欧美日韩综合精品| 成年人免费大片| 在线视频婷婷| 特黄特色欧美大片| 日韩高清一区在线| 曰韩精品一区二区| www.色综合| 欧美主播一区二区三区美女 久久精品人| 国产aaa一级片| av中文字幕一区二区三区| 精品精品视频| 草草在线视频| 伊人久久亚洲影院| 懂色aⅴ精品一区二区三区蜜月| 99国产精品久久久久久久久久久| 日本a√在线观看| 日日夜夜免费精品| 精品女同一区二区三区在线播放| 欧美精品在线观看91| 国产在线视频2019最新视频| www.av毛片|