jetspeed-2 初试心得

Jetspeed2 Portal 门户技术开发文档 Apache的门户技术 Jetspeed2的详细开发文档,包含框架介绍,技术内容,各种入门资源链接等 立即下载
 
jetspeed-2 初试心得
jetspeed是apache的portlet的一个平台。apache很牛,整个jetspeed平台都是在apache的其他几个框架上搭建的。
jetspeed中使用了velocity模版框架,制作了一个portlet容器,使其最大的功能就是整合其他框架的建的网站。,而且在一个平台上可以相互通信。在网上它的资料不多,很是难弄,2个星期的研究,终于有点收获。
  jetspeed我重点研究一下jetspeed整合struts框架网站的操作。
 在里是重点介绍在struts框架建好后整合到jetspeed的过程。
首先在web.xml中servlet的设置改成
 <servlet>
  <servlet-name>action</servlet-name>
  <servlet-class>
   org.apache.portals.bridges.struts.PortletServlet
  </servlet-class>
  <init-param>
   <param-name>config</param-name>
   <param-value>/WEB-INF/struts-config.xml</param-value>
  </init-param>
  <init-param>
   <param-name>debug</param-name>
   <param-value>2</param-value>
  </init-param>
  <init-param>
   <param-name>detail</param-name>
   <param-value>2</param-value>
  </init-param>
  <load-on-startup>2</load-on-startup>
 </servlet>
 <servlet>
  <servlet-name>JetspeedContainer</servlet-name>
  <display-name>Jetspeed Container</display-name>
  <description>
   MVC Servlet for Jetspeed Portlet Applications
  </description>
  <servlet-class>
   org.apache.jetspeed.container.JetspeedContainerServlet
  </servlet-class>
  <init-param>
   <param-name>contextName</param-name>
   <param-value>ProjectDemo</param-value>
  </init-param>
  <load-on-startup>0</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>action</servlet-name>
  <url-pattern>*.do</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>JetspeedContainer</servlet-name>
  <url-pattern>/container/*</url-pattern>
 </servlet-mapping>
 <session-config>
  <session-timeout>20</session-timeout>
 </session-config>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
 <taglib>
  <taglib-uri>http://java.sun.com/portlet</taglib-uri>
  <taglib-location>/WEB-INF/tld/portlet.tld</taglib-location>
 </taglib>
其中org.apache.portals.bridges.struts.PortletServlet是jetspeed使用portlet-bridges把struts和portlet连接起来。
<param-name>contextName</param-name>
<param-value>ProjectDemo</param-value>中ProjectDemo是自己取得的名字。
<taglib-uri>http://java.sun.com/portlet</taglib-uri>
<taglib-location>/WEB-INF/tld/portlet.tld</taglib-location>是jetspeed的标签库定义。
接下来是struts-config.xml中加入:
<controller pagePattern="$M$P" inputForward="false"
  processorClass="org.apache.portals.bridges.struts.PortletRequestProcessor" />
因为requst在传入后台时,被jetspeed的portlet获得,要通过org.apache.portals.bridges.struts.PortletRequestProcessor才能传到struts中。
建立一个portlet.xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<portlet-app id="projectdemo" version="4.0.5">
 <portlet id="ProjectDemoPortlet">
  <init-param>
   <name>ServletContextProvider</name>
   <value>
    org.apache.jetspeed.portlet.ServletContextProviderImpl
   </value>
  </init-param>
  <init-param>
   <name>ViewPage</name>
   <value>/index.jsp</value>
  </init-param>
  <portlet-name>ProjectDemoPortlet</portlet-name>
  <display-name>ProjectDemoPortlet</display-name>
  <description>ProjectDemoPortlet</description>
  <portlet-class>
   org.apache.portals.bridges.struts.StrutsPortlet
  </portlet-class>
  <expiration-cache>-1</expiration-cache>
  <supports>
   <mime-type>text/html</mime-type>
   <portlet-mode>VIEW</portlet-mode>
   <portlet-mode>HELP</portlet-mode>
  </supports>
  <portlet-info>
   <title>ProjectDemo</title>
   <keywords>Struts</keywords>
  </portlet-info>
 </portlet>
</portlet-app>
portlet-app id和portlet id在你的jetspeed应该唯一。ViewPage是在jetspeed中见到的网页。portlet-name中的ProjectDemoPortlet是自己取得,在portlet中这个框架以这个名字被实例化。
建立struts-portlet-config.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<config>
  <render-context>
    <attribute name="dataBean"/>
  </render-context>
  <portlet-url-type>
    <action path="/"/>
    <render path="/shop/"/>
    <action path="/shop/"/>
    <resource path="/images/"/>
  </portlet-url-type>
</config> 
因为struts中的到前台的咚咚都要经过portlet,如果不要struts-portlet-config.xml,struts用bean传到View层就不会传到,在jetspeed下就会报没有找到bean的错。
<render-context>
    <attribute name="dataBean"/>
  </render-context>就是你在jsp中调用的bean的名称,因为我只做了个例子,就只做一个bean。
<portlet-url-type>
    <action path="/"/>
    <render path="/ProjectDemo/"/>
    <action path="/ProjectDemo/"/>
    <resource path="/images/"/>
  </portlet-url-type>同样因为是struts到portlet在url上也要定向。通过struts-config中action path的前缀相同的就转到render的路径上去。
在jsp中的加入<%@ taglib uri=" http://portals.apache.org/bridges/struts/tags-portlet-html" prefix="html" %>
<%@ taglib uri=" http://portals.apache.org/bridges/struts/tags-portlet-html-el" prefix="html-el" %>
使用<html:form action="/input.do" method="post">把body中内容包起来,使用的是portlet的标签,是在web.xml中定义。
在struts的环境中加入jetspeed-api-2.0,jetspeed-commons-2.0,pluto-1.0.1,portals-bridges-common-1.0,portlet-api-1.0这些包,在一般环境下struts先可以正常能跑起来,再打成war包放入jetspeed的wehapp中。好像是做的差不多了,接下来就是在jetspeed中的设置了。
建立projectDemo.psml文件在Jetspeed/webapps/jetspeed/WEB-INF/pages中
<?xml version="1.0" encoding="UTF-8"?>
<page id="/ProjectDemo.psml" hidden="false">
    <security-constraints>
        <security-constraints-ref>public-view</security-constraints-ref>
    </security-constraints>
    <title>Project Demo</title>
    <short-title>Project Demo</short-title>
    <defaults skin="orange" layout-decorator="tigris" portlet-decorator="gray-gradient"/>
    <fragment id="Project-1" type="layout" name="jetspeed-layouts::VelocityTwoColumns">
        <fragment id="P-10f9d7d3e0f-10000" type="portlet" name="ProjectDemo::ProjectDemoPortlet">
            <property name="row" value="0"/>
            <property name="column" value="0"/>
        </fragment>
    </fragment>
    <metadata name="title" xml:lang="ja">Project デモ</metadata>
    <metadata name="title" xml:lang="es">Demo de portlets de sindicación Project</metadata>
    <metadata name="short-title" xml:lang="es">Demo Project</metadata>
    <metadata name="title" xml:lang="hu">Project hírolvasó</metadata>
    <metadata name="title" xml:lang="zh">Project 示例</metadata>
</page>
可以在psml中设置在哪个role中显示。在psml中加入
  <security-constraints>
    <security-constraints-ref>public-view</security-constraints-ref>
  </security-constraints>
这是在role管理中有显示。
看看你的struts在jetspeed中跑出来没有。
有时间再研究了。看了一周的英文文档,看到什么都只有英文了。 
S32K344 Bootloader实战:一个按键实现从Boot到App的无缝跳转(附完整代码) 本文详细介绍了基于NXP S32K344微控制器的Bootloader开发实战,重点解析如何通过一个硬件按键实现从Boot到App的可靠跳转。内容涵盖内存分区规划、中断向量表重映射、外设初始状态管理等核心要素,并提供了完整的代码示例和调试技巧,适用于汽车电子和工业控制等高可靠性应用场景。 阅读详情

相关推荐

Delta-Sigma调制(DSM)技术

前言 数字信号处理和通信系统的性能很大程度上受到了模拟信号到数字信号转换接口——ADC的精度和分辨率的限制。而传统的线性脉冲编码调制(PCM)ADC受到了制造工艺的限制,无法达到很高的分辨率。但基于Delta-Sigma调制技术的ADC可以在现有工艺下实现高分辨率(大于16位),同时由于结构简单,所以易于实现。低成本高性能使得Delta-Sigma调制技术得到了广泛的应用。 Delta-Sigma型ADC的结构原理图如下图所示: 它最大的优势在于仅用1位ADC进行数据转换,同时其模拟电路部分结构简单不需要

阿星的博客 2万+

JetSpeed2.0 概述

Jetspeed2.0最终release版本发布于2005年12月, 可以从以下网址下载源代码和捆绑tomcat的压缩文件: http://www.apache.org/dist/portals/jetspeed-2/   。 与Jetspeed1.x比较,Jetspeed2.0 (以下简称J2)的架构发生了很大变化, J1.x使用了Turbine,在J2中Turbine不再使用,

xywlzd的专栏 1151

pgsql行列转换

‌是PostgreSQL中的一个函数,用于将一个字符串根据正则表达式进行分割,并将结果返回为一个表格,每个分割后的部分作为一行‌‌。string_agg() 函数是 PostgreSQL 中的一个聚合函数,用于将一个列中的值连接成一个字符串。

chimchim66的博客 3503

Apache 门户项目组介绍

 

北冥有鱼 其名为鲲 化而为鸟 其名为鹏 1197

NCBI Datasets CLI优化:解决基因组数据下载报错与速度问题

基因组数据下载是生物信息学分析的关键环节,其稳定性和效率直接影响研究进度。NCBI Datasets CLI作为官方命令行工具,常面临连接中断和下载速度慢两大痛点,这主要源于服务器连接限制和网络传输问题。通过自动重试机制和校验修复流程可提升稳定性,而连接复用与CDN加速等技术能显著提高下载效率。在植物基因组等大规模数据场景中,结合脱水模式和增量更新策略可减少70%传输量。本文以艾草基因组项目为例,展示如何通过并行下载和API优化将100个基因组的下载时间从18小时缩短至2小时,为生物信息学研究提供可靠的数据

weixin_29051245的博客 243

SAP FICO实操:如何修改已发生业务数据的成本中心公司代码(附RKACOR06程序运行指南)

本文详细解析了SAP FICO系统中使用RKACOR06程序修改已发生业务数据的成本中心和公司代码的实操方法。通过实战案例分享,提供从前期准备到后期验证的全流程指南,帮助企业应对组织架构重组或财务核算体系调整时的数据迁移挑战,特别适用于跨公司代码的成本中心划转场景。

weixin_27303545的博客 190

Jetspeed-2 心得隨筆(3)

转自:http://www.javaworld.com.tw/jute/post/view?bid=11&id=137914&sty=3Jetspeed1是我接觸到第一個Portal Server。可惜其獨特的架構,我一直沒辦法接受。後來因為工作上的需要,弄了很久的WebSphere Portal Server,卻總是有一種被IBM欺負的感覺。最近和Jetspeed2相處一陣子後,覺得J2蠻不

努力工作,快乐生活 1148

通过python下载西门子技术中心文档

本篇文章纯粹记录如何下载通过python下载西门子技术中心文档,所下载文档完全自己学习使用,非商业用途

John_09040211的博客 561

利用maven部署apache的jetspeed门户一

我所使用的版本为: Jetspeed-2 2.2.1;manen-2.2.1;apach-tomcat-6.0.18;jdk6;mysql5 (参考官方文档。) 第一部分:主要是自定义门户的生成。 第二部分:自定义自己的portal设计; 第三部分:Portlet的开发 第四部分:Jetspeed Services 准备工作之下载软件: 1、下载jets...

inotgaoshou的专栏 811

路径跟踪 | 图解分析人工势场算法APF(附ROS C++/Python/Matlab仿真)

人工势场法的基本思想是在机器人运动环境中创建一个势场,再搜索一条势函数下降的方向,寻找一条无碰撞的最优路径。本文介绍APF算法的基本原理,并提供势场可视化实现,基于ROS C++/Python/Matlab进行算法仿真实验加深理解

FRIGIDWINTER的博客 7394

408 | 408常用计算公式与方法 —— 计组篇 汇总

408常用计算公式与方法 —— 计算机组成原理篇 汇总

"You are worthy! You can do it!" 4655

JetSpeed学习笔记(一)

JetSpeed学习笔记(一)fuweilin 2005-4-7前言参加了公司的portal的兴趣小组,今天对portal进行学习。首先上网看了看一些portal的资料,对portal、portlet、portlet container以及JSR168等概念有个基本的了解。决定进一步实战的方式感受portal,于是学习JetSpeed.  1、  JetSpeed介绍JetSpeed是Apache

camel的blog 1956

WOFOST作物模型(1):PCSE环境配置

get_summary_output() 方法通常用于在 PCSE 模拟过程结束后,获取模拟结果的摘要信息,例如模拟期间的总产量、总水分需求等。它可以提供对模拟结果的快速总结,方便用户进行后续的分析和处理。用.get_output来获取过程参数,并将这些参数转为dataframe显示。用run_till_terminate()代表终止。安装好之后,打开jupyter notebook。也可以指定运行时间,并获取最后一天的参数。首先还是打开之前建好的gee虚拟环境。

所有专家都曾始于新手 681

Jetspeed项目的介绍

Jetspeed项目的介绍 出处 CN-JAVA原创:jurich     1 Jetspeed介绍Jetspeed是Apache组织开发的一个采用Java和XML的开放源代码的企业信息门户的实现。门户可以让终端用户可以很方便的访问网络资源(应用、数据库等)。用户可以通过Web浏览器、WAP手机、寻呼机以及其它一些智能设备来访问Portal。Jetspeed就像是中心的控制器,可以很方便地以各种形

云溪飘叶的专栏 1542

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JetSpeed源码分析

导读:  类功能分析:  1. Request相关:  1.1. Interface org.apache.jetspeed.request.RequestContext  这个接口定义了许多可获取的上下文组件:  包括:  1.HttpRequest/Response;  2.ServletConfig;  3.ProfileLocater  4.Pip

zl198183的专栏 1295

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

jetspeed2教程

框架 jetspeed使用=velocity(推荐)也可是jsp+spring+ojb的框架. 安装 1.下载jetspeed(我用的2.1.3). 2.切换到install.jar存放的目录下,执行java -jar jetspeed-install.jar安装 3.选择jetspeed要使用的数据库(这里我使用的是oracle,可根据具体情况) 启动 因为jetspeed安装时把tomca...

neptune 485

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Jetspeed2学习笔记

1、 Jetspeed系统的配置文件在《JetSpeed2 home》\conf\Catalina\localhost下的jetspeed.xml文件中,此文件中定义了JAAS验证的配置及数据库连接模式(包括连接语句) 2、配置一个居于IFrame的应用: 1、 引入jar包:jetspeed-components-2.0.jar jetspeed-rewriter-2.0.jar j...

helloklzs 441

JetSpeed学习笔记(二)

 昨天说到了在用Maven创建新的项目时候,需要注意版本号的问题,这是因为maven在构建(build)项目的时候,所有需要的包都是从网络上临时下载的,所以你所制定的资源在网上肯定要存在的.经过昨天下午的摸索终于通过JetExpress Tutorial里和http://blog.fourthspace.net/200707/28_15.html博客里的说明将JetExpress给配通了,你只

kungstriving的专栏 879

06 基于v5-resources在macos系统搭建a8服务

5. 安装mysql(5.x) 和 数据库gui管理工具(navicat或dbeaver),同时登录navicat建立连接并建好数据库(假设为V8.0SP2)3. 下载jdk1.8并放到ApacheJetspeed同级目录(注意软连接系统的java执行文件是不行的)# 8.1三元分离前使用group-admin/123456登录配置单位、管理员、人员等。6. 执行A8配置,设置http端口和数据配置信息后,保存并推出。9. 配置单位和管理员,管理员配置部门、人员和权限等。假设A8运行在A8目录。

Mr_GGI的博客 542

JetSpeed学习笔记(一)

 JetSpeed是ASF旗下的一款开源软件,面向portals开发首先是配置,刚开始的时候我下载的是一个JetSpeed1.6的一个war包,直接拷贝到Tomcat的webapp目录下就可以运行的,启动tomcat之后,直接在浏览器中输入http://localhost:8080/jetspeed/就可以看到运行效果了。对于最新版本JetSpeed2.1.3,可以在http://port

kungstriving的专栏 1324

Jetspeed学习笔记

最近到了portal的开源项目jetspeed网页中去看了下他的介绍,顺便记下了这些jetspeed的学习资料,   Jetspeed初识学习Jetspeed要求初学者了解Apache Maven项目管理工具以及Apache Ant打包脚本工具。项目需要如下配置:Ant1.5或者更改版本Maven1.0.2或者更高Java1.4.2_02或者更高Servlet2

机场信息系统研究员的专栏 7334

JetSpeed2的开发手记(一)

上手jetspeed2已经几个月了,因为本人比较懒,前期一直处于分析它的源代码阶段。加上本身对Java语言是半路出家,没有打好基础,所以进展缓慢。为了以后回顾在此总结本人在开发中遇到的种种问题。JetSpeed2是apache的一个项目,它本身其实用到了apache里的好多其他项目的支持,具体的我就不说了,JetSpeed2的网站上有详细的说明刚开始时发现,JetSpeed是用maven来

小忍之家 2150

windows环境jetspeed2安装和配置

1、jetspeed2的安装 首页 http://portals.apache.org/jetspeed-2/ 下载文件 jetspeed-installer-demo-2.2.0.jar 安装 java -jar jetspeed-installer-demo-2.2.0.jar 打开了图形化安装界面 命令行安装 java -jar jetspeed-installer-minimal-2.2.0.jar text 我的安装路径 d:/tool/Jetspeed-2.2.0 选择数据库 mysql 下载m

ON THE ROAD 3734

jetspeed 安装

 关键字: jetspeed portal中间件作业选了Portal,研究Jetspeed,借助前人的经验,很快搞定安装,后面再继续研究jsr168编程,先说一下安装步骤,以后再装就不用麻烦了。安装步骤:前提:本身已安装JDK1.5并配置好环境变量;安装好MySql,默认用户名“root”,密码root,并建一个新的库“jetspeed”。下载相关文件:     需要文件1、ant

X-HILBERT的专栏 1377

jetspeed配置mysql,Jetspeed2 - PORTALS - Apache Software Foundation

Welcome to the Jetspeed 2 WikiWhat's NewWhat's new in Jetspeed-2 (J2)?Everything Jetspeed-2 is a complete rewrite of Jetspeed-1. It is the next-generation enterprise portal at Apache Portals. It's har...

weixin_36480303的博客 220

【致远FAQ】致远OA启动不起来了(中集)

database disk image is malformed 问题现象: 协同服务启动失败,ApacheJetspeed/logs/localhost.2021-XX-XX.log日志记录关键异常: [SQLITE_CORRUPT] The database disk image is malformed (database disk image is malformed) 1.4.2、解决方法 1)更名base/monitor目录名为base/monitor_error_2021XXXX; .

致远OA的博客 2689
apache_xiaocai
博客等级 码龄20年 0粉丝 1原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值