阅读更多

9顶
3踩

开源软件

原创新闻 SoybeanMilk-1.0-b4 Java MVC开发框架发布

2011-11-03 10:17 by 见习记者 earthangry 评论(26) 有6514人浏览
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”页面上。

9
3
评论 共 26 条 请登录后发表评论
6 楼 KimHo 2011-11-03 20:20
还是不如sprng3mvc来得简洁
5 楼 kjj 2011-11-03 19:05
earthangry 写道
kjj 写道
那么多的配置xml还说简单!!!!!!!!!!!!

小伙别那么激动,注解不是万能的,有些场景并不适用

没激动,只是没看出来哪里特别!!!!!!!!!!!!!!!!!!!
4 楼 wangzjie 2011-11-03 16:55
现在很多框架就是把相关实现放在配置文件中,核心代码再对这些配置进行解析。

框架确实提供了极大的便利,但这降低了技术门槛,相信更久以来,框架会越来越傻瓜化,到时只要通过拖拽之类的简单操作,就能很轻松把应用搞定,只要把需求弄懂后人人都会j2ee,这可能是好消息,但对程序员从某种程度上说也是种杯具,所以还是要尽量明白框架的本质,不要停留在会用框架而已
3 楼 fansofjava 2011-11-03 14:19
名字长且复杂
2 楼 earthangry 2011-11-03 14:01
kjj 写道
那么多的配置xml还说简单!!!!!!!!!!!!

小伙别那么激动,注解不是万能的,有些场景并不适用
1 楼 kjj 2011-11-03 12:56
那么多的配置xml还说简单!!!!!!!!!!!!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 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

  • 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库 | django_pastedeploy_settings-1.0b4-py2.7.egg

    资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:django_pastedeploy_settings-1.0b4-py2.7.egg 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

  • jqtouch-1.0-b4-rc

    jqtouch-1.0-b4-rc

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

    资源来自pypi官网。 资源全名:raptus.inlinelightbox-1.0b4.tar.gz

  • jml-src-1.0b4

    jml-src-1.0b4 java操作msn的源码

  • 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

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

    资源来自pypi官网,解压后可用。 资源全名:AaronTools-1.0b4-py3-none-any.whl

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

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

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

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

  • JAVA实现—UTF-8编码与解码

    java——UTF-8编码与解码 渗透测试有时候会遇到%E9%99%88这类的编码 在线转的结果 导入java中转换的结果: JAVA代码如下: import java.net.URLDecoder; import java.net.URLEncoder; //URLDecoder.decode("%E5%...

  • JAVA命令参数详解:-D

    原文地址:http://blog.sina.com.cn/s/blog_605f5b4f0100hlt9.html JAVA 命令参数详解: 1、-D= set a system property 设置系统属性。 java -D参数简化加入多个jar  java命令引入jar时可以-cp参数...

  • java -jar lib_java -jar命令运行jar包时指定外部依赖jar包 linxux or windows

    前尘回顾:setup.bat[chenquan@hostuser tartest]$ cat ../setup.shjavac -encoding UTF-8 -Djava.ext.dirs=./ -d . ./SignNatureTest.javaecho compile finished,generate .class under package test at curdirjava...

  • 微信公众号开发,原来这么简单?[java框架]

    可能你不知道,有个框架叫wx-tools(小心翼翼地说) Wx-tools是基于微信公众平台API的轻量级框架。 基于Wx-tools你可以开速开发一个订阅号/服务号的web应用后台。 博主最近终于有空!!已经更新到2.1.0啦!! ...

  • Java 函数式编程

    Java 函数式编程 一、Lambda表达式 1.1 函数式编程思想概述 在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做操作” 面向对象思想强调“必须通过对象的形式来做事情” 函数式思想强调则金量忽略...

  • polylearn-0.1.dev0-cp35-cp35m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

  • 基于Simulink的语音信号降噪与增强.docx

    基于Simulink的语音信号降噪与增强.docx

  • java资源Java条形码生成库 Barcode4J

    java资源Java条形码生成库 Barcode4J提取方式是百度网盘分享地址

Global site tag (gtag.js) - Google Analytics