设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 站长专区 >> Apache >> 使用Java技术在Cocoon中实现商业逻辑
精品推荐
Apache点击TOP10
·使用Java技术在Cocoon中实现商业逻辑
·详细介绍:Apache+PHP+MySQL配置攻略
·apache的静态/动态编译在apache+php+mysql的应用
·什么是 Cocoon?
·WIN环境下使Apache支持ASP.NET
·Cocoon Web发布框架简介
站长专区点击TOP10
·IIS+PHP+MYSQL配置功略
·Windows Server 2003 系统 IIS6.0 下的配置php5+zend+mysql
·PHP5安装笔记
·IIS6.0下ASP的新增功能
·WIN+IIS+PHP配置过程
·WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
·将雅虎1G邮箱当作网络硬盘使用
·流媒体服务器架设
·XP配置IIS+ASP详解(新手本机调试ASP必读)
·博客代码大全 新年汇总之前篇
精选专题

使用Java技术在Cocoon中实现商业逻辑

作者: 来源:网络文章 时间:2005-12-13 0:43:29

使用Java技术在Cocoon中实现商业逻辑(8) <map:match type="sessionstate" pattern="*">
<map:parameter name="attribute-name" value="userid"/>

<map:match pattern="protected/*.html">
<map:read mime-type="text/html" src=" secret/*.html"/>
</map:match>

<map:match pattern="protected/*.xsp">
<map:generate type="serverpages" src=" secret/{1}.xsp"/>
<map:serialize type="xml"/>
</map:match>
</map:match>

<map:redirect-to uri="login.html"/>
</map:match>


第一个管道简单的提供了一个登录的表单,是个HTML文件,不需要转换。第二个管道处理
从login.html提交的实际的登录动作。第三个来处理我们要保护的内容。

下面我们做详细的论述:

DatabaseAuthenticationAction依靠描述文件来验证登录。但是,我们如何知道验证是否
成功呢?对于Action,如果它们返回了有效的HashMap,那么在<map:act>块里的部分将执
行。如果返回null值,那么块下面的部分将执行。也就是说,按照上面管道的定义,我们
有两种可能的结果,即:如果认证通过,我们就可以到达受保护的区域,如果失败将返回
到Login页面。

在 protected/* 管道有几个嵌套的Matcher,第二个的type是sessionstate,这个Matcher
实际上是WildcardSessionAttributeMatcher,在这里用来读取session里的userid的值。

在这个例子中,我们知道DatabaseAuthenticationAction设置了一个叫userid的session属
性,我们通过检测userid属性来判断用户是否登录成功,如果它不存在,则转向到login页面。

在Cocoon已经有一个DatabaseAddAction可用来插入数据,但为了更好的理解Action,我们
将写一个自己的Action用来将新的Resource记录插入到Resources表中。

我们假想你已经编写了一个HTML页面,可用来POST两个变量name和url到管道。我们的
Action将从Request对象中找回name和url参数,将其插入到表中,最后返回一个HashMap对象。

下面是程序代码:

package test;

import org.apache.avalon.excalibur.datasource.DataSourceComponent;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.ComponentSelector;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Redirector;

共11页 9 7 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [118 :>

使用Java技术在Cocoon中实现商业逻辑 相关文章:
使用Java技术在Cocoon中实现商业逻辑 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com