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也可以很简单地支持上传。我大概需要几个月来完成一份完整的参考文档的编制。