bbossgroups是国内首款集AOP、MVC、持久化、JSP标签库、分布式RPC服务、分布式事件框架于一身的企业级JavaEE开发框架,在Apache License Version 2.0 许可协议下开源。
这里以bbossgroup中自带的一个简单demo为例,搭建一个最简单的bbossmvc框架实例,ide使用 Intellij IDEA,用eclipse也一样。
Intellij IDEA下载地址:
- ItelliJ IDEA(左:旗舰版,需要licence;右:社区开源版,开源、免费)
tomcat下载:http://tomcat.apache.org/download-70.cgi
第一步:下载demo
这个demo包含在bbossgroup的github项目中,先把整个bbossgroup下载下来,大约400多M。
bbossgroup的github地址:https://github.com/bbossgroups/bbossgroups-3.5
解压缩后在“bestpractice”目录下有很多demo,直接将“demoproject”这个demo导入Intellij/eclipse中:
第二步:这个demo是如何运行的
导入工程后,可以看到几个重要的目录:
- resources目录:里面存放一些数据库、log4j等的一些配置文件,构建工程时会自动将这些文件部署在“WEB-INF\classes”文件夹下。
- src目录:java源码。
- “WebRoot\WEB-INF\conf”目录:视图映射配置文件,启动时会自动加载该目录及子目录下的*.xml文件。
“bboss-helloworld.xml”文件中配置如下:
<properties>
<property name="/examples/*.page"
path:sayHello="/examples/hello.jsp"
class="org.frameworkset.mvc.HelloWord">
</property>
<property name="/file/*.page"
path:fileupload="/examples/fileupload.jsp"
path:foldertree="/examples/foldertree.jsp"
path:filelist="/examples/filelist.jsp"
path:uptable="/examples/uptable.jsp"
f:rootPath="attr:file.workfolder"
f:filedomain="attr:file.domain"
class="org.frameworkset.mvc.FileController">
</property>
<property name="file.domain" value="http://bpitresource.sany.com.cn/"/>
<!--<property name="file.workfolder" value="/data/bpit/www"/>-->
<property name="file.workfolder" value="d:/upload"/>
</properties>
文件内容包含在“<properties>”标签中
<property name="/examples/*.page" path:sayHello="/examples/hello.jsp" class="org.frameworkset.mvc.HelloWord"> </property>
当请求的URL与"/examples/*.page"匹配时,会执行"org.frameworkset.mvc.HelloWord"这个类中*对应的方法。
比如访问:http://localhost:8080/demoproject/examples/index.page
会执行到“HelloWord”这个类的“index”这个方法中。
“HelloWord”这个类的“index”方法:
public String index() { return "path:sayHello"; }
这个方法很简单,直接返回“path:sayHello”这个字符串。
可以看到上面配置文件中配置了path:sayHello="/examples/hello.jsp"这样一句,于是框架将“/examples/hello.jsp”这个页面返回给前台显示。
这个方法的任务就结束了。
于是我们看到了这样一个页面:
另外,在xml配置文件中
<property name="/file/*.page"
path:fileupload="/examples/fileupload.jsp"
path:foldertree="/examples/foldertree.jsp"
path:filelist="/examples/filelist.jsp"
path:uptable="/examples/uptable.jsp"
f:rootPath="attr:file.workfolder"
f:filedomain="attr:file.domain"
class="org.frameworkset.mvc.FileController">
</property>
<property name="file.domain" value="http://bpitresource.sany.com.cn/"/>
f:rootPath="attr:file.workfolder"
。。。
<property name="file.workfolder" value="d:/upload"/>
“f:”表示将“file.workfolder”的值“d:/upload”这个字符串注入到 对应的类“org.frameworkset.mvc.FileController”中。