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

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

阅读更多
SoybeanMilk-1.0-b5 在之前的版本上做了大量的重构和改进,包括:
  • 重写Web通用转换器类,使其支持更复杂的类型转换,并为其添加映射表多态转换支持
  • 重构Web对象源类,将其拆分为Web对象源接口和默认Web对象源实现类,并改进其关键字处理逻辑,使关键字中的作用域部分并非必须
  • 重构部分异常处理逻辑,添加参数准备执行异常类和参数非法异常类,使请求参数非法异常更易于追踪和处理
  • 重构调用类及其相关类,使其也能够执行存储在对象源中对象的方法
  • 重写所有基本字符串类型转换器,框架现在不再依赖common-beanutils包
  • 另外,一些XML标签也做了些修改,具体请参考版本更新历史

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

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(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”页面上。
分享到:
评论

相关推荐

    Python库 | genpac-server-1.0b5.tar.gz

    python库。 资源全名:genpac-server-1.0b5.tar.gz

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

    标题中的"AaronTools-1.0b5-py3-none-any.whl.zip"是一个压缩文件,其中包含了Python软件包 AaronTools 的一个版本1.0b5。这个版本号中的 "b5" 指示这是一个beta(测试)版本,意味着它可能还未完全稳定,但已经可供...

    AaronTools-1.0b5-py3-none-any.whl

    AaronTools-1.0b5-py3-none-any.whl

    PyPI 官网下载 | cs.pfg.mipago-1.0b5.tar.gz

    资源"cs.pfg.mipago-1.0b5.tar.gz"就是其中之一,它是一个在PyPI上发布的Python库。 **Python库的理解** Python库是预编写好的代码集合,它们提供了特定的功能,可以被其他Python程序导入并使用,以减少重复工作,...

    PyPI 官网下载 | plone.relations-1.0b5-py2.4.egg

    《PyPI与Python库:深入理解plone.relations-1.0b5-py2.4.egg》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了大量预打包的Python软件包,方便用户下载和安装。在Python的世界里,库是构建...

    Python库 | collective.ttwpo-1.0b5.zip

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

    Python库 | jupyter-rsession-proxy-1.0b5.tar.gz

    通过这个库,我们可以在同一份文档中编写Python和R代码,进行数据分析和模型构建,从而提高了开发效率和代码复用性。无论是教学、研究还是项目开发,`jupyter-rsession-proxy`都是连接Python和R的理想桥梁。

    sclo-cassandra3-cpptasks-javadoc-1.0b5-18.el7.noarch.rpm

    官方离线安装包,亲测可用

    sclo-cassandra3-cpptasks-1.0b5-18.el7.noarch.rpm

    官方离线安装包,亲测可用

    nicofox-1.0b5-fx。xpi

    支持nico视频下载的插件

    WH-NB75-B5.zip

    标题“WH-NB75-B5.zip”是一个压缩文件,其中包含了与WH-NB75-B5相关的多种技术文档和参考资料。这个特定的模块似乎是一个NB-IoT(窄带物联网)通信模块,广泛用于远程数据传输和低功耗设备连接。 描述中提到的“AT...

    PyPI 官网下载 | soda-sql-hive-2.1.0b5.tar.gz

    "b5"代表这是一个beta版本,意味着它已经接近正式发布,但可能还存在一些未解决的问题,需要用户在实际环境中测试和完善。 解压`soda-sql-hive-2.1.0b5.tar.gz`后,你会找到`soda-sql-hive-2.1.0b5`目录,里面包含...

    ns-allinone-2.1b5.patch.tar.gz_Help!

    《NS模拟器补丁安装指南——ns-allinone-2.1b5.patch.tar.gz 解析及应用》 在IT领域,尤其是网络仿真和性能分析中,NS(Network Simulator)是一个广泛使用的开源软件工具。标题中的"ns-allinone-2.1b5.patch.tar....

    PyPI 官网下载 | homeassistant-0.76.0b5-py3-none-any.whl

    《PyPI官网下载:homeassistant-0.76.0b5-py3-none-any.whl》 在Python的世界里,PyPI(Python Package Index)是最重要的软件仓库,它为开发者提供了一个平台来发布和分享他们的Python库。本文将详细探讨PyPI、`...

    Python库 | scipion-em-relion-4.0b5.tar.gz

    **Python库 | scipion-em-relion-4.0b5.tar.gz** 本文将深入探讨名为"scipion-em-relion-4.0b5"的Python库,它被封装在一个`.tar.gz`压缩包中。这个库是针对电子显微镜(Electron Microscopy, EM)图像处理和三维...

    21a35826-11e2-4322-92b5-eff82004befe.html

    21a35826-11e2-4322-92b5-eff82004befe.html

    Python库 | django-categories-1.3b5.tar.gz

    Django是用Python编写的一个开源Web框架,遵循“约定优于配置”的原则,它提供了一种高效、快速地开发Web应用的方式。Django拥有内置的ORM(对象关系映射)系统,模板引擎,以及对身份验证、权限管理、表单处理和...

    Quectel-EC200U-EU-Mini-PCIe-LTE-Standard-模块产品规格书-V1.0.pdf

    - **LTE-FDD**:B1/B3/B5/B7/B8/B20/B28 - **LTE-TDD**:B38/B40/B41 - **GSM**:B2/B3/B5/B8 - **GNSS**:支持GPS/GLONASS/BeiDou/Galileo/QZSS - **数据传输速率**: - **LTE-FDD**:10 Mbps(下行)/ 5 ...

Global site tag (gtag.js) - Google Analytics