三棱镜 (Prism)是一个由JAVA开发的超轻量的开源框架

13年前
三棱镜 (Prism)官网 http://jianel.net/prism/
三棱镜 (Prism)是一个由JAVA开发的超轻量的开源框架,其目标是实现WEB系统的页面与代码分离,并且不需要书写大量的配置文件。 同时,三棱镜 (Prism)还是一个非常简单的框架,稍有基础的人都可以在10分钟之内了解开发中的全部规范,1小时之内就可以灵活应用。
三棱镜 (Prism)框架设计构思来源于众多项目实践,框架充分借签了当前非常流行的开源Web框架 Struts,吸取了其优点及精华,并尽力简化了需要学习的新内容,在实现了页面及代码完全分离的前提下,充分利用开发人员已掌握的开发知识。
三棱镜 (Prism)是一个能实现中小型 Web应用系统快速开发的Web框架,其特点是:
  1. 一次性配置支持。我们使用的大多数框架,总是有自已特定的配置文件,熟悉并灵活运用它,需要阅读大量的API文件,麻烦而且费时。而 三棱镜 (Prism)一次性配置支持,可以最大限度的节约您熟悉配置文件的时间,大多数情况下,您只要按照示例文件进行配置就可以在框架基础上构建你的运用。
  2. 丰富的模板页面设计支持:不论您习惯使用jsp,还是使用简单Velocity脚本语言作为页面模板,都无需对 三棱镜 (Prism)进行单独的配置,直接使用。 三棱镜 (Prism)不限制您使用的模板语言,只要可以在您的应用服务器上运行, 三棱镜 (Prism)就都会接纳。
  3. 页面程序完全分离:实现显示页面与程序逻辑的完全分离,克服了传统jsp页面难于维护的问题。
由 三棱镜 (Prism)构成的应用一般包括以下5个部分:
  1. 核心包。这个名称一般叫Prism.jar的Jar包一般放在Web工程的Lib目录下,和普通引用的Jar包没什么区别。
  2. 配置内容。一般配置在Web.xml内,按照示例拷过来就可以直接用。当然您也可以按自己的意愿进行修改。
  3. Java程序。这个当然就是您自己开发的Java程序喽,当然要参照 三棱镜 (Prism)开发规范才行。
  4. Web模板。这个是您开发的Web页面,具体使用Jsp,还是其它什么语言,您自己定吧,这里没有强制规范。
  5. 插件。这个是高级应用了,项目中项目中使用到的一些特别的代码,可以写在这里,当然您也可以不用,呵呵。
三棱镜 (Prism) 应用示例:
  1. 首先建立一个Web工程。这个工程一般包括Src和Web目录,Src下放Java的源代码,Web下放Jsp等模板文件。
  2. 拷贝Prism.jar到项目Lib目录下,一般是WEB-INF/lib下。同时,把日志记录用到的Jar包(commons- logging- 1.0.4.jar和log4j-1.2.11.jar)也拷贝到Lib下。相关文件在这里下载
  3. 修改web.xml,把Prism的配置加到里面。具体内容见这里
  4. 在Web目录下新建一个index.jsp文件,内容如下:
    <%@ page language="java"  pageEncoding="utf-8"%> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html> 
      <head>   
        <title>index</title> 
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
      </head> 
      <body> 
      <div style="width:400px; margin:auto; padding-top:100px;"> 
        本文件是index.jsp,当直接访问时,对应类为 org.seefan.prism.test.action.IndexAction
       <br />测试值为 
      </div> 
      </body> 
    </html>
  5. 在src/org/seefan/prism/test/action/下新建Java文件IndexAction.java,内容如下:
    package org.seefan.prism.test.action; 
     
    import javax.servlet.http.HttpServletRequest; 
     
    import org.seefan.prism.test.vo.TestForm; 
     
    public class DemoForwardAction extends ActionBase { 
     
        public void load(HttpServletRequest request) { 
             request.setAttribute("testInit", "这是一个测试"); 
        } 
    }
OK,到现在这个项目就可以运行了,只要您访问index.jsp这个文件, 三棱镜 (Prism)就会自动调用IndexAction这个类里面的load方法。这样,request里就有了一个属性testInit,其值是“这是一个 测试”,这个属性在jsp页面里就被EL()显示出来了。
您也许发现了,这个类和页面之间似乎除了名字类似,并没有继承任何接口或是基类。没错,确实是这样,三棱镜(Prism)不需要您在工程里使用三棱镜(Prism)的任何接口或是类,让您的代码更清析,更自由,不会因为三棱镜(Prism)的加入而改变您的开发习惯。