Let's rock Stripes!
?? 巧遇Stripes(1)
????? 无意间看到Appfuse的一个java大牛做的关于各种java框架的对比,然后理性的找到什么才是最适合你的框架,还是那句老话,没有最好,只有相对的更适合。其中就发现了这个陌生的名字(Stripes),源于强烈的好奇心,找了下相关的资料,接下来的两天被这个小框架迷住(终于有点code for fun的感觉了),也尝试着写了点demo。对于web开发中的web层很多的问题Stripes都处理的很优雅,很轻量级,希望在下一个项目中可以用它去完成web层。
?
???? 在用过了Struts系列(1, 2)系列,看了点SpringMVC之后,开始反思什么才是我们在Java Web开发中想要的和需要的,
?
1. 除了web.xml,不想引入更多的配置文件,通常web层框架都是需要一堆配置文件,如提供url和action之间的绑定,如为了做到解耦合通过标志(如success)去匹配返回那个视图,好处就是解耦合和方便单元测试,但是常常感到不爽,因为代码和配置文件不能自动同步,写写代码修改修改配置文件,而且action中不能直接看到返回到那个视图,还要到配置文件中寻找,修改配置文件还要restart server(当然可以jrebel)。
?
2. 更好地url绑定,既然不想使用配置文件去配置,那就另辟蹊径了,Struts2也可以通过annotation,但是还有点小繁琐。Stripes提供了基于Convertion over configuration 的机制,url可以直接绑定到action。
?
3. autoloading, java web你懂的,而Stripes会自动的发现和加载Stripes相关的action,而且在你修改,添加,删除的action的时候不要担心要和配置文件同步。
?
4. 更好地验证机制, Struts是基于apache的commons下的validator, 而Stripes是完全基于annoation,加上更细粒度的interceptor,如@before,@after,很灵活方便。
?
5. 自动的类型转换(难道还在request.getParameter()),不过Stripes的机制总体感觉很类似于Struts2.
?
6. 模板, 这点Strupe2不错支持freemarker等, 而Stripe这方面支持的更好。
?
7. ajax支持,Stripes原生支持,Struts2插件。
?
8. 本地话。
?
9. 国际化
?
10 更方便的测试。
?
11. 更少的依赖, Stripes整个就stripes.jar, log4j.jar,当然如果需要多文件上传cos.jar.
?
抽时间把Stipes深入的学习下, 是的这个世界没有银弹,但是目前来说,Stripes比较能解决我的问题,容易上手,容易学习,尤其想到了Strut2的ognl,valueStack,页面标签,。。。。
?