设计思想:
http://jander.iteye.com/admin/blogs/393754
项目主页:
http://code.google.com/p/beetlefly/
下载:
http://beetlefly.googlecode.com/files/beetlefly-eclipse-project-0.1.zip
欢迎各种意见。
简单介绍:
使用Beetlefly构建web程序,不用任何配置:
Beetlefly在服务程序加载时,自动扫描各个Action,并将它们注入到Guice容器。
在客户端请求时,将request url 自动映射为Action的 method。
使用Beetlefly构建web程序,只需要简单几步:
1. 在web.xml中加入
<listener>
<listener-class>org.beetlefly.example.blog.WebContextListener</listener-class>
</listener>
<servlet>
<servlet-name>Beetle</servlet-name>
<servlet-class>org.beetlefly.web.BeetleflyServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Beetle</servlet-name>
<url-pattern>/page/*</url-pattern>
</servlet-mapping>
其中org.beetlefly.example.blog.WebContextListener 进行Guice注入,需要使用者自己编写,格式如下:
public class WebContextListener implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent event) {
GuiceInjector.destory();
}
@Override
public void contextInitialized(ServletContextEvent event) {
//Here,you can add your Gurice Modules.
//在"org.beetlefly.example"的Package下,扫描Action.
GuiceInjector.createInjector("org.beetlefly.example",new AbstractModule(){
@Override
protected void configure() {
bind(Service.class).to(ServiceImpl.class).asEagerSingleton();
//如果想控制Exception的话
//bind(ExceptionHandler.class).to(MyExceptionHandler.class).asEagerSingleton();
}
});
}
}
BeetleflyServlet,作为Beetlefly的分配器,将客户端发送给各个Action,上面的配置,说明 BeetleflyServlet?将作用于http://hostname/rootname/page/下的url。
2. 编写自己的Action文件。所有Action类,都implements Action接口,Action接口是一个标记接口,其中不含任何方法。每个Action都要进行一个标记,用于BeetleflyServlet从容器中查找它。
//对Action进行标记
@ActionAnnotation("blog")
public class BlogAction implements Action {
private Service service;
@Inject
public BlogAction(Service service) {
super();
this.service = service;
}
//这个方法的url: http://hostname/rootname/page/blog/list
public View list(HttpServletRequest req, HttpServletResponse resp){
Map<String,Object> map=new HashMap<String,Object>();
map.put("blogs", service.findAllBlogs());
return new JstlView("/blog/list.jsp",map);
}
//这个方法的url: http://hostname/rootname/page/blog/creat
public View create(HttpServletRequest req, HttpServletResponse resp){
String title=req.getParameter("title");
String content=req.getParameter("content");
Blog blog=new Blog(service.nextKey(),title,content);
service.create(blog);
return new RedirectView("/page/blog/list");
}
}
3. 第三步,没有了,你可以执行你的程序了,是不是很简单。
分享到:
相关推荐
课程介绍 在 Web 领域,特别是中小型项目,开发效率往往是...他将使用 Go 语言,从标准库开始,逐步演进,手把手带你研发一个工业级的 Go Web 框架,以基本概念与核心理论为指导,实战演练总结底层框架的设计技巧。
《架构探险-从零开始写Java Web框架》是一本深入探讨Java Web开发的书籍,作者黄勇通过本书向读者展示了如何从零构建一个完整的Web框架。全书源码的提供,使得读者能够更加直观地理解并实践书中的理论知识,这对于...
Spring Web模块和Spring Web MVC模块是Spring框架中的两个关键组成部分,它们在构建Web应用程序时起着至关重要的作用。 Spring Web模块(spring-web-5.2.3.RELEASE.jar)主要负责提供Web相关的功能支持,包括HTTP...
这个框架旨在简化网页开发过程,提供了一系列组件和工具,使得开发者能够快速构建功能丰富、用户体验良好的Web应用程序。 DWZ框架的核心特性包括: 1. **组件丰富**:DWZ包含了多种常见的Web组件,如表格、表单、...
项目概述: 项目名称:高效Python Web...项目简述:本项目是基于流行的Python Web框架Flask进行深化与扩展的版本,旨在提升Web开发的效率与性能,通过丰富的文件类型支持,为开发者提供了一整套完善的开发工具和资源。
提供了一个结构化的WebAdmin开发框架,它的前后台部分均采用插件式的程序开发方法,借助提供的插件开发模板,WebAdmin系统开发者不必关WebAdmin开发框架的具体实现,就可设计出界面统一、操作简单、安全稳定的WebGUI...
本书首先从一个简单的Web应用开始,让读者学会如何使用IDEA、Maven Git等开发工具搭建Java web应用:接着通过一个简单的应用场景,为该Web应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该Web...
"java-简易web框架EasyJWeb源码.zip.zip" 是一个压缩包文件,其中包含的主要是Java语言编写的简易Web框架——EasyJWeb的源代码。EasyJWeb是一个轻量级的Java Web开发框架,旨在简化Web应用的开发过程,提高开发效率...
【提纲】 Django简介 Django环境搭建 Django环境使用 Django创建Blog网站 小结
这个框架可以帮助开发者快速构建一个基于Java的Web应用程序。 一、框架下载 在开始搭建Web框架之前,我们需要下载相关的框架。包括Struts2、Spring和iBATIS三个框架。 1.1 Struts2框架 Struts2框架是Apache开源...
在java开发services中,会用到: 1.webservices-api.jar 2.webservices-extra.jar 3.webservices-rt.jar 4.webservices-tools.jar 5.webservices-extra-api.jar 此压缩文件里就是这五个jar文件。
SSM框架是Java开发Web应用时常用的三大组件——Spring MVC、Spring和Mybatis的集成,它们协同工作,提供了一个高效且灵活的开发环境。在这个"SSM-空框架-java"项目中,开发者已经搭建了一个基础的SSM框架,方便其他...
spring-webmvc 是 Spring MVC 的一个实现。spriing-webmvc 依赖于 spring-web如果直接使用spring-webmvc,就会隐式地添加 spring-web。不必显示添加 spring-web。 该jar包含Spring MVC框架相关的所有类,如Servlets,...
spring mvc 框架jar包;Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
Node.js ASGC-Web是由傲世孤尘开发并开源的一款全面的Node.js Web框架,旨在为开发者提供一个高效、便捷的环境来构建前后端一体化的Web应用。这款框架结合了后端服务器和前端库,实现了数据的双向绑定,大大提升了...
【标题】"webFramework-ts:使用Typescript构建的简单Web框架"揭示了这个项目的核心——一个基于TypeScript的轻量级Web开发框架。TypeScript是JavaScript的一个超集,它为开发者提供了静态类型检查、类、模块等现代...
Javalin-Java和Kotlin的简单Web框架Javalin是Kotlin和Java的...Javalin更像是一个库,而不是一个框架。 一些关键点:您不需要扩展任何内容没有@Annotations没有反射没有其他魔术;没有其他魔术。 只是代码。 一般信息:
"Python-一个现代快速简单的异步python3web框架"的标题表明我们将讨论的是一个基于Python 3的Web框架,它具有现代特性、高效性能以及对异步操作的良好支持。在Python Web开发中,异步功能变得越来越重要,因为它们...
这个框架的主要目标是提供一种简单、高效的方式来构建Web服务和应用程序。在C++的世界里,相比于其他重量级的Web框架,Crow以其轻量级和高性能著称。 Crow的核心特性包括: 1. **简洁的API**:Crow的API设计直观且...