`
earthangry
  • 浏览: 5352 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

SoybeanMilk-1.0-b4 Java MVC开发框架发布

阅读更多
SoybeanMilk-1.0-b4 做了较大的改进,包括:
  • 增强泛型类型支持,框架现在支持自动将请求参数转换为调用方法的泛型类型参数
  • 为<invoke>标签增加“breaker”属性,用以控制调用方法是否执行
  • 一个新的转换异常类ParamConvertException被加入,用于追踪输入非法的请求参数
  • 一个新的标签<type-target-handler>被加入,用于自定义动作目标处理器
  • BUG修复:默认通用转换器的getProperty接口不支持null输入

您可以点击 这里 下载框架包,里面包含了完整的说明文档和示例。

SoybeanMilk是一个简易、友好、且零侵入的Java MVC实现框架:

  • 它几乎没有学习成本,你只需要熟悉jsp和servlet技术
  • 也不需要你遵从任何代码编写模式
  • 你的代码中找不到任何这个框架的踪迹

使用它,您仅需要编写少量的XML代码,就可以轻松地将任何Java方法发布为WEB应用。

另外,它还:
  • 支持RESTful风格
  • 内置强大且易扩展的对象转换器,可以自动将请求参数转换为复杂类型的对象
  • 可以很容易与Spring、Velocity等当前流行的框架整合

如果你是一个WEB开发者,并且已经有点厌烦现有的WEB开发框架所固有的开发模式, 应该考虑了解下这个框架。

来看看使用SoybeanMilk时,你需要做些什么。

首先,你需要编写你的Java业务类,比如下面的示例:
package my;

public class User{
    private Integer id;
    private String name;
}

public class UserManager
{
    public void save(User user){ ... }
    
    public List<User> list(){ ... }
}


然后,定义“/WEB-INF/soybean-milk.cfg.xml”配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<soybean-milk>
        <resolvers>
                <resolver id="userManager" class="my.UserManager" />
        </resolvers>

        <executables>
                <action name="/user/add.do">
                        <invoke> userManager.save(param.user) </invoke>
                        <target url="/user/list.do" type="redirect" />
                </action>
                
                <action name="/user/list.do">
                        <invoke> request.userList = userManager.list() </invoke>
                        <target url="/user/list.jsp" />
                </action>
        </executables>
</soybean-milk>



好了,业务“保存用户”和“查询所有用户列表”已经完成(JSP页面部分省略)!

下面,你需要在你的web.xml中加入如下内容:
<servlet>
    <servlet-name>dispatchServlet</servlet-name>
    <servlet-class>org.soybeanMilk.web.servlet.DispatchServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>dispatchServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>


最后,启动服务器,在浏览器中输入“http://[yourApp]/user/add.do?user.id=1&user.name=jack”,用户“jack”将被保存,并显示在“/user/list.jsp”页面上。
分享到:
评论

相关推荐

    jml-src-1.0b4

    通过研究和使用jml-src-1.0b4,开发者不仅可以学习到如何使用Java语言与MSN服务进行交互,还能了解到开源项目的一般结构和开发流程。此外,这个项目还为开发者提供了一个实践网络通信、事件处理和多线程编程的好机会...

    jqtouch-1.0-b4-rc

    "jqTouch-1.0-b4-rc"是这个库的一个版本,它代表了“第1.0版的第四次beta测试,候选发布版本”。这个版本通常包含了开发者在正式版发布前对功能的最后调整和优化,使得用户能够体验到更加稳定和功能完备的库。 ...

    AaronTools-1.0b4-py3-none-any.whl.zip

    标题"AaronTools-1.0b4-py3-none-any.whl.zip"表明这是一个压缩文件,其中包含了Python软件包AaronTools的某个版本。这个特定的版本是1.0b4,意味着它是一个预发布版,可能包含一些测试功能或者bug修复。".whl"后缀...

    PyPI 官网下载 | AaronTools-1.0b4-py3-none-any.whl

    标题中的“PyPI官网下载 | AaronTools-1.0b4-py3-none-any.whl”指的是 AaronTools 这个Python库的一个特定版本1.0b4,可以在Python的官方包索引(Python Package Index,简称PyPI)上找到。PyPI是Python开发者发布...

    PyPI 官网下载 | raptus.inlinelightbox-1.0b4.tar.gz

    标题中的"PyPI 官网下载 | raptus.inlinelightbox-1.0b4.tar.gz"表明这是一个从Python Package Index(PyPI)官方源下载的软件包,名为"raptus.inlinelightbox",版本号为1.0b4,其格式是tar.gz。PyPI是Python开发者...

    Python库 | django_pastedeploy_settings-1.0b4-py2.7.egg

    python库。 资源全名:django_pastedeploy_settings-1.0b4-py2.7.egg

    Python库 | sbol2-1.0b4-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:sbol2-1.0b4-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | templer.core-1.0b4.zip

    资源分类:Python库 所属语言:Python 资源全名:templer.core-1.0b4.zip 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | zperfmetrics-1.0b4.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:zperfmetrics-1.0b4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | pyasice-1.0b4.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:pyasice-1.0b4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    a10_octavia-1.0.0.0b4-py2.py3-none-any.whl

    Python安装包,亲测可用。使用pip install 文件名.whl安装使用

    iOS游戏应用源代码——LucasTizma-Hebi-v1.0-1-g3b4e198.zip

    本文将深入探讨名为"LucasTizma-Hebi-v1.0-1-g3b4e198"的iOS游戏源代码,通过分析其结构、框架和关键组件,揭示iOS游戏开发背后的技术细节。 首先,我们关注的是项目名称"LucasTizma-Hebi",这可能是游戏的内部代号...

    iOS实例开发源码——LucasTizma-Hebi-v1.0-1-g3b4e198.zip

    该压缩包文件“iOS实例开发源码——LucasTizma-Hebi-v1.0-1-g3b4e198.zip”是针对iOS平台的一个实例开发项目,名为“LucasTizma-Hebi”。从版本号v1.0-1-g3b4e198可以看出,这可能是该项目的首个版本,其中“g3b4e...

    bsh.jar,jcr-1.0.jar,jbpm-identity.jar,jbpm-jpdl.jar

    2. **jcr-1.0.jar**:这是Java Content Repository (JCR) API的一个实现,JCR是Java Specification Request (JSR) 170的一部分,提供了一种标准的方式来访问和管理内容存储。在JBPM中,JCR可能用于存储和检索工作流...

    Python库 | xoa_driver-1.0b4-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:xoa_driver-1.0b4-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

Global site tag (gtag.js) - Google Analytics