`
Qieqie
  • 浏览: 337677 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Paoding Rest 0.4

阅读更多
Paoding Rest今天可以发布0.4版本了。

从0.3开始,Paoding替换掉原来的购物车示例为一个简易论坛示例。
可以通过 http://paoding.net/forum 试访问该示例的一个运行实例。

Paoding Rest下载地址:http://code.google.com/p/paoding-rest/downloads/list

Paoding Rest是一个Web框架,当然现在的web框架很多,Paoding Rest是否有必要?
暂且这样说,有人觉得它比较独特,很好用,功能也算丰富。
仅此而已。

发布Paoding Rest不必是为了让您去下载并使用它,或许您能给我的最大的价值是:
看看使用Paoding Rest如何开发,并进行批评。


现在让我说说默认情况下,使用Paoding Rest 0.4开发Web app action层的步骤:

1、写一个POJO的Action以及可能使用到的实体类,如:
UserAction.java
public class UserAction {
    public String read(String id) {
        // User user = get user form database;
        User user = new User();
        user.setId(id);
        user.setName("Java");
        RestContext.setRequestAttrubute("user", user);
        return "user";
    }

    public String hello(User user) {
        return "@hello " + user.getName();
    }

    public int test(int value) {
        return value;
    }
}


User.java
public class User {
    private String id;
    private String name;

    // getters & setters
}



2、写一个Velocity文件放在/page下(相对于war路径):
user.vm
<html>
user id : $user.id<br>
user name: $user.name<br>
</html>


3、将Action配置到/WEB-INF/root-action.xml中:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<bean id="user" class="xxx.UserAction" autowire="byName" />
</beans>


4、配置web.xml
不管在root-action.xml写了多少的Action,都只要在web.xml简单增加配置如下:
	<!-- RestFilter必须配置在最后,以让前面的Fiter能够起作用,否则会被RestFilter跳过 -->
	
	<filter>
		<filter-name>RestFilter</filter-name>
		<filter-class>net.paoding.rest.RestFilter</filter-class>
	</filter>
	
	<filter-mapping>
		<filter-name>RestFilter</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
	</filter-mapping>



5、OK,以上这些代码和配置就可以了。
确定Paoding-Rest依赖的lib都到/WEB-INF/lib下了
把webapp部署到tomcat, 就可以启动tomcat了

6、访问
1) http://127.0.0.1/webpath/user/12345
2) http://127.0.0.1/webpath/user/hello?name=world
3) http://127.0.0.1/webpath/user?name=world&_method=hello
4) http://127.0.0.1/webpath/user/12345?_method=test
(webapp是这个示例的ctx path)

2) 3)是等价的,按照rest的做法3)优于2),虽然它看起来比较麻烦。



现在这个东西主要还是在小范围内使用。

以上只是一个很简单的示例。使用velocity作为页面模板语言。
但Paoding Rest不限于此,他可以很简单使用freemarker,jsp等其他视图技术。

Paoding Rest也可以很简单地支持上传。我大概需要几个月来完成一份完整的参考文档的编制。


分享到:
评论
7 楼 cnoss 2008-03-27  
http://www.iteye.com/topic/176755,有关于Rest架构风格的基于Guice的实现,大家有兴趣可以去看看
6 楼 dingyuan 2008-01-25  
建议在表单验证这块,像cetia4引入hibernate validation
5 楼 dellsoft 2008-01-21  
如果,用Grails的话,需要的代码更少,有兴趣的人可以看看!
4 楼 yuhai.china 2008-01-21  
您那个庖丁解牛,我用过,为什么配置的那么繁琐?让人不敢继续领教.
希望这个好一点
3 楼 dingyuan 2008-01-20  
支持你的工作成果,等有文档出来。我第一时间在我网站上用上
2 楼 philip_kissme 2008-01-18  
有什么优点?
基于规则的action页面跳转?
1 楼 lang 2008-01-08  
哈哈,支持一下

相关推荐

Global site tag (gtag.js) - Google Analytics