Spring2的PortletMVC框架构建Portlet应用(一)

本文介绍如何使用Spring2的PortletMVC框架搭建Portlet应用,包括安装配置Tomcat6.0和Pluto,使用Maven2进行项目管理和构建,以及解决过程中遇到的常见错误。
Spring2的PortletMVC框架构建Portlet应用(一)

下载TOMCAT6.0
http://tomcat.apache.org/download-60.cgi

安装pluto
使用Apache Pluto测试我们的Portlet应用程序
Pluto 源代码使用 Maven 2 进行项目管理和构建
首页
http://portals.apache.org/pluto/
下载地址
http://apache.mirror.phpchina.com/portals/pluto/
文件
pluto-current-src.zip

maven2 构建
编辑 D:\apache-maven-2.0.8\conf 目录下的 settings.xml 文件,增加 <pluginGroups> 元素:
<settings>
...
<pluginGroups>
<pluginGroup>org.apache.pluto</pluginGroup>
</pluginGroups>
...
</settings>
运行命令
命令1:D:\>cd D:\tool\pluto-1.1.6
命令2:D:\tool\pluto-1.1.6>mvn install
命令3:D:\tool\pluto-1.1.6>mvn pluto:install -DinstallDir=D:/tool/tomcat6.0
运行命令2的时候报错如下:
[ERROR] Error loading supplemental data models: String index out of range: -1
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1768)
at org.codehaus.classworlds.UrlUtils.normalizeUrlPath(UrlUtils.java:28)
at org.codehaus.classworlds.DefaultClassRealm.getResource(DefaultClassRe
alm.java:284)
at org.codehaus.classworlds.RealmClassLoader.getResource(RealmClassLoade
r.java:237)
at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1159)
at org.codehaus.plexus.resource.loader.ThreadContextClasspathResourceLoa
der.getResourceAsInputStream(ThreadContextClasspathResourceLoader.java:56)
at org.codehaus.plexus.resource.DefaultResourceManager.getResourceAsInpu
tStream(DefaultResourceManager.java:77)

晕,换成
pluto-1.1.4-src.zip
多mvn install几次,好了
命令3:D:\tool\pluto-1.1.6>mvn pluto:install -DinstallDir=D:/tool/tomcat6.0

pluto 1.1.4 的相关文件就被安装到 Tomcat 相应目录下

编辑 D:/tool/tomcat6.0/conf/tomcat-users.xml 文件,添加角色 pluto,并在该角色下新增一个用户,以下为示例文件:

<tomcat-users>
<role rolename="pluto"/>
<role rolename="tomcat"/>
<role rolename="manager"/>
<user username="pluto" password="pluto" roles="pluto,tomcat,manager"/>
</tomcat-users>

启动TOMCAT报错如下:
Loading mapping descriptors from jar:file:/D:/tool/tomcat6.0/lib/pluto-descriptor-impl-1.1.4.jar!/org/apache/pluto/descriptors/services/castor/castor-portlet-xml-mapping.xml
java.lang.RuntimeException: Could not instantiate parser org.apache.xerces.parsers.SAXParser: java.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser
at org.exolab.castor.util.LocalConfiguration.getParser(LocalConfiguration.java:342)
at org.exolab.castor.util.LocalConfiguration.getParser(LocalConfiguration.java:273)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:714)
at org.castor.mapping.MappingUnmarshaller.loadMappingInternal(MappingUnmarshaller.java:215)
at org.castor.mapping.MappingUnmarshaller.getMappingLoader(MappingUnmarshaller.java:124)
at org.castor.mapping.MappingUnmarshaller.getMappingLoader(MappingUnmarshaller.java:99)
at org.exolab.castor.xml.Unmarshaller.setMapping(Unmarshaller.java:526)
at org.exolab.castor.xml.Unmarshaller.<init>(Unmarshaller.java:255)

没有找到
org.apache.xerces.parsers.SAXParser
在jar包xercesImpl.jar中
拷贝该jar包到tomcat下这个位置:
D:\tool\tomcat6.0\lib

再次启动,问题解决

访问地址http://localhost:8080/pluto/portal,可以打开欢迎登陆页面
输入pluto / pluto 登陆成功
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值