继续学习seam中自带的例子,今天学习的是seamspace,使用了Seam security方面的技术,实现了一个SNS(social networking site)的例子。
“todo”的部分日后在慢慢研究,呵呵。
实现步骤:
- 创建一个“seamspace”的seam web project。
- 拷贝java文件,并根据自己的开发环境修正java错误。
- 拷贝view下的所有文件到webContent下面。
- 覆盖掉自动生成的pages.xml,components.xml,web.xml,import.sql,persistence.xml文件。
- 拷贝messages.properties,删除掉自动生成的messages_en.properties文件。
- 拷贝security-rules.drl,orm.xml到seamspace-ejb工程下的ejbModule中,删除掉自动生成的security.drl文件。
- 修改components.xml中security-rules.drl的指向,我的是
<drools:rule-files>
<value>security-rules.drl</value>
</drools:rule-files> - 修改components.xml中class的指向(根据自己的环境)。
- 修改security-rules.drl中import的内容(根据自己的环境)。
- 修改web.xml中Content Servlet的class的指向(根据自己的环境)。
知识点:
- AuthenticationEvents.java写法的学习。
- security-rules.drl的写法的学习。
- seam自带的《seam_reference.pdf》的15.4章节“ Identity Management”的学习。
未理解点:
- home.xhtml文件中
<h:graphicImage value="/content/images?id=#{newMember.picture.imageId}&width=90"/>的含义?
//todo - FriendAction.java 和 FriendComment.java中为什么都有“friendcomment”的名字,好像不能重复?
//todo - orm.xml的意义?
//todo - import.sql中的text和comment字段的内容长度太长,改短了,不知道是不是自己的原因?(不重要)
//2009-03-10追加内容
・MemberBlog.java的public String getText()前加@Type(type="text")标记。
・BlogComment.java的public String getComment()前加@Type(type="text")标记。
END