设计思想:
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. 第三步,没有了,你可以执行你的程序了,是不是很简单。
分享到:
相关推荐
《架构探险-从零开始写Java Web框架》是一本深入探讨Java Web开发的书籍,作者黄勇通过本书向读者展示了如何从零构建一个完整的Web框架。全书源码的提供,使得读者能够更加直观地理解并实践书中的理论知识,这对于...
Spring Web模块和Spring Web MVC模块是Spring框架中的两个关键组成部分,它们在构建Web应用程序时起着至关重要的作用。 Spring Web模块(spring-web-5.2.3.RELEASE.jar)主要负责提供Web相关的功能支持,包括HTTP...
Spring 5 作为该系列的一个重要版本,在功能性 Web 框架方面引入了一系列的新特性。本文将详细探讨 Spring 5 功能性 Web 框架的核心概念及其应用场景。 #### 二、Spring 5 功能性 Web 框架概述 在 Juergen 的博客...
提供了一个结构化的WebAdmin开发框架,它的前后台部分均采用插件式的程序开发方法,借助提供的插件开发模板,WebAdmin系统开发者不必关WebAdmin开发框架的具体实现,就可设计出界面统一、操作简单、安全稳定的WebGUI...
在本案例中,我们关注的是与JSP(JavaServer Pages)相关的网页框架,这表明我们可能讨论的是一个基于Java的Web应用开发框架。 JSP是Java平台上的一个标准技术,用于创建动态、交互式的Web应用程序。它将HTML代码与...
"spring-webmvc-struts"可能指的是Spring与Struts的集成包,Struts是另一个流行的Java Web MVC框架。这个库可能包含了一些桥接代码,帮助开发者将Spring的IoC(Inversion of Control,控制反转)和AOP功能与Struts的...
spring-webmvc 是 Spring MVC 的一个实现。spriing-webmvc 依赖于 spring-web如果直接使用spring-webmvc,就会隐式地添加 spring-web。不必显示添加 spring-web。 该jar包含Spring MVC框架相关的所有类,如Servlets,...
自己搭建的 .Net系列框架-Dapper+EntityFrameworkCore+Autofac+WebApi+Web 详细介绍见:https://blog.csdn.net/zhangjiankun880/article/details/106540475
本书首先从一个简单的Web应用开始,让读者学会如何使用IDEA、Maven Git等开发工具搭建Java web应用:接着通过一个简单的应用场景,为该Web应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该Web...
这个框架可以帮助开发者快速构建一个基于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 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应用。这款框架结合了后端服务器和前端库,实现了数据的双向绑定,大大提升了...
"easy-web-iframe-master.zip" 是一个包含"easy-web"框架的iframe实现的源代码压缩包,主要用于构建后台管理系统。这个框架结合了layui,一个流行的前端UI库,以提供高效、简洁的界面设计和交互体验。在开发企业级...
在深入探讨e2web-javaEE框架项目资源之前,首先要对Java EE(Enterprise Edition)有一个基本的理解。Java EE是由Sun Microsystems公司(现为甲骨文公司)开发的一套用于开发企业级应用的平台规范。其后继者Jakarta ...
【标题】"webFramework-ts:使用Typescript构建的简单Web框架"揭示了这个项目的核心——一个基于TypeScript的轻量级Web开发框架。TypeScript是JavaScript的一个超集,它为开发者提供了静态类型检查、类、模块等现代...
Javalin-Java和Kotlin的简单Web框架Javalin是Kotlin和Java的...Javalin更像是一个库,而不是一个框架。 一些关键点:您不需要扩展任何内容没有@Annotations没有反射没有其他魔术;没有其他魔术。 只是代码。 一般信息:
"Python-一个现代快速简单的异步python3web框架"的标题表明我们将讨论的是一个基于Python 3的Web框架,它具有现代特性、高效性能以及对异步操作的良好支持。在Python Web开发中,异步功能变得越来越重要,因为它们...