Liferay portal基础知识

一、优点

(1)以应用整合和消除信息孤岛为最终目的

(2)单点登录

(3)内容聚集

(4)个性化门户聚集

 

二、组成

(1) Portal 容器

(2)Portal服务器

(3)Portlet

 

三、Portlet和Servlet比较

 相同之处

(1)都是Java组件

(2)都有特定的container

(3)可以动态产生各种内容

(4)生命周期由container管理

(5)和客户端通信是通过request/response机制

 

不同之处

(1)Portlet只产生markup信息片段,不是完整的网页文件,而portal会将所有的Portlet markup信息片段放到一个完整的Portal网页

(2)Portlet不会和URL有直接的关系

(3)客户端必须通过portal系统才能和Portlet互动

(4)Portlet有一些预定义的request处理。action request以及render request

(5)Portlet默认定义Portlet modes及窗口状态可以指出在网页中该Portlet的哪个功能正在执行及现在的状态。

(6)Portlet可以在同一个portal网页之中存在多个。

(7)Portlet能够存取及储存永久配置文件及定制资料

(8)Portlet可以存取使用者数据

(9)Portlet具有URL的重写功能在文件中去动态建立连结,允许portal server不用去知道如何在网页的片段中建立连结及动作。

(10)Portlet可以存储临时性的数据在Portlet session之中,拥有两个不同的范围:

application-wide scope 及 Portlet private scope

(11)Servlet具有设置输出的文字编码

(12)Servlet可以设置HTTP输出的header

(13)Servlet才能够接受客户对portal发出的URL请求

 

四、安装

 

1、简单安装

(1)安装JDK

(2)安装Liferay/Tomcat bundle

(3)Login: test@liferay.com password: test

 

2、扩展安装

(1)安装Jikes

(2)安装Ant

(3)解压Liferay source code到{portal}

(4)添加一个配置文件release.{username}.properties到{portal}目录下依次执行

ant clean start build-ext

(5)在ext下添加

app.server.{username}.properties

 

五、二次开发

 

HelloWorldPortlet

web.xml

Portlet.xml

liferay-portal.xml

liferay-display

 

部署已经编译好的portlet

 

(1)继承GenericPortlet

(2)重写doview()和doEdit()方法

res.setContentType("text/html");

res.getWritter().println("HelloWorld!");

(3)Portlet配置

<listener>

        <listener-class>com.liferay.portal.servlet.PortletServlet</listener-class>

</listener>

<servlet>

        <servlet-name>HelloWorldPortlet</servlet-name>

        <servlet-class>com.liferay.portal.servlet.PortletServlet</servlet-class>

        <init-param>

                <param-name>portlet-class</param-name>

                <param-name>com.educhina.portal.HelloWorldPortlet</param-name>

        </init-param>

        <load-on-startup>0</load-on-startup>

</servlet>

<servlet-mapping>

        <servlet-name>HelloWorldPortlet</servlet-name>

        <url-pattern>/HelloWorldPortlet/*</url-pattern>

</servlet-mapping>

 

配置portlet独有的

(1) Portlet.xml

主要定义了portlet的初始化信息

portlet-name

display-name

portlet-class

init-param

expiration-cache

supports

portlet-info

security-role-ref

 

(2) Liferay-portlet.xml

主要定义portlet的模版实例总数是否允许重复定义等功能。

portlet-name

struts-path

use-default-template

instanceable

 

(3) Portlet-display

主要定义portlet的所属类别

<category name="category.test">

        <portlet id="EXT_1"/>

        <portlet id="HelloworldPortlet"/>

</category>

 

 JSPPortlet开发流程

(1) 创建目录myjspportlet

(2) 配置Portlet

(3) 配置Portlet实例属性

(4) 定义Portlet名称

(5) 归类Portlet

(6) 创建JSP页面

(7) demo

 

StrutsPortlet开发流程

(1)配置Portlet

(2)配置Portlet实例属性

(3)定义Portlet名称

(4)归类Portlet

(5)定义Struts页面流

(6)定义tiles页面布局

(7)创建目录library

(8)创建init.jsp

(9)创建view.jsp

(10)创建成功错误页面

(11)创建Action类

(12)测试框架部署

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值