一、restlet filter 怎么用
一、基于spring配置的Rest简单服务
1、新建RestSpringApplication Web工程。
将restlet和spring的jar包**进来。红色部分为新加入进来的jar包。
将上篇中的RestApplication工程项目中的src的源文件**过来。
2、将web.xml加入下面代码
<servlet>
<servlet-name>restlet</servlet-name>
<servlet-class>
org.restlet.ext.spring.RestletFrameworkServlet
</servlet-class>
<init-param>
<param-name>org.restlet.component</param-name>
<param-value>restletComponent</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>restlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
上面代码指定了restlet使用spring的RestletFrameworkServlet。
3、建立restlet-servlet.xml文件,只需要配置org.restlet.ext.spring.SpringRouter,及对应的路径和资源文件。
<bean name="root">
<property name="attachments">
<map>
<entry key="/student/{studentId}">
<bean>
<lookup-method name="create" bean="StudentResource"/>
</bean>
</entry>
<entry key="/student">
<bean>
<lookup-method name="create" bean="StudentsResource"/>
</bean>
</entry>
</map>
</property>
</bean>
<bean id="StudentResource" class="org.lifeba.ws.resource.StudentResource" scope="prototype"/>
<bean id="StudentsResource" class="org.lifeba.ws.resource.StudentsResource" scope="prototype"/>
上面的代码配置了/student/{studentId}对应StudentResource,以及student对应StudentsResource资源类。通过SpringRouter可以非常方便的通过attachments配置资源路径。如果你有更多的路径,你可以建立多个entry即可。
二、测试添加、删除、更新方法。
1、student_post方法,添加一个Student,成功后返回新建studentId为2的对象。
public void student_post(){
try{
Form queryForm= new Form();
queryForm.add("name","steven_spring");
queryForm.add("clsId","201002");
queryForm.add("sex","2");
queryForm.add("age","12");
Representation representation=client.post(queryForm.getWebRepresentation());
System.out.println(representation.getText());
} catch(Exception e){
e.printStackTrace();
}
}
2、student_delete方法,删除Id为1的Student,成功执行后返回1。
public void student_delete(){
try{
Representation representation=client.delete();
System.out.println(representation.getText());
} catch(Exception e){
e.printStackTrace();
}
}
3、student_put方法,更新Id为2的Student。
public void student_put(){
try{
Form queryForm= new Form();
queryForm.add("name","steven_spring_modify");
queryForm.add("clsId","201012");
queryForm.add("sex","12");
queryForm.add("age","24");
Representation representation=client.put(queryForm);
System.out.println(representation.getText());
} catch(Exception e){
e.printStackTrace();
}
}
通过上面的代码已经完全实现了Spring中的restlet的配置。上面只对Student对象做了介绍,你也可以实现对Course在spring中配置,基本方法一样。这里不再阐述。
二、如何在eclipse上配置rest服务啊
通过REST风格体系架构,请求和响应都是基于资源表示的传输来构建的。资源是通过全局ID来标识的,这些ID一般使用的是一个统一资源标识符(URI)。客户端应用使用HTTP方法(如,GET、POST、PUT或DELETE)来操作一个或多个资源。通常,GET是用于获取或列出一个或多个资源,POST用于创建,PUT用于更新或替换,而DELETE则用于删除资源。
例如,GET http//host/context/employees/12345将获取ID为12345的员工的表示。这个响应表示可以是包含详细的员工信息的XML或ATOM,或者是具有更好UI的JSP/HTML页面。您看到哪种表示方式取决于服务器端实现和您的客户端请求的MIME类型。
RESTful Web Service是一个使用HTTP和REST原理实现的Web Service。通常,一个RESTful Web Service将定义基本资源URI、它所支持的表示/响应MIME,以及它所支持的操作。
本文将介绍如何使用Spring创建Java实现的服务器端RESTful Web Services。这个例子将使用浏览器、curl和Firefox插件RESTClient作为发出请求的客户端。
本文假定您是熟悉REST基本知识的。
Spring 3的REST支持
在Spring框架支持REST之前,人们会使用其他几种实现技术来创建Java RESTful Web Services,如Restlet、RestEasy和Jersey。Jersey是其中最值得注意的,它是JAX-RS(JSR 311)的参考实现。
Spring是一个得到广泛应用的Java EE框架,它在版本3以后就增加了RESTful Web Services开发的支持。虽然,对REST的支持并不是JAX-RS的一种实现,但是它具有比标准定义更多的特性。REST支持被无缝整合到Spring的MVC层,它可以很容易应用到使用Spring构建的应用中。
Spring REST支持的主要特性包括:
注释,如@RequestMapping和@PathVariable,支持资源标识和URL映射
ContentNegotiatingViewResolver支持为不同的MIME/内容类型使用不同的表示方式
使用相似的编程模型无缝地整合到原始的 MVC层
创建一个示例RESTful Web Service
本节中的例子将演示Spring 3环境的创建过程,并创建一个可以部署到Tomcat中的“Hello World”应用。然后我们再完成一个更复杂的应用来了解Spring 3 REST支持的重要概念,如多种MIME类型表示支持和JAXB支持。另外,本文还使用一些代码片断来帮助理解这些概念。
Hello World:使用Spring 3 REST支持
要创建这个例子所使用的开发环境,您需要:
IDE:Eclipse IDE for JEE(v3.4+)
Java SE5以上
Web容器:Apache Tomcat 6.0(Jetty或其他容器也可)
Spring 3框架(v3.0.3是本文编写时的最新版本)
其他程序库:JAXB 2、JSTL、commons-logging
在 Eclipse中创建一个Web应用,然后设置Tomcat 6作为它的运行环境。然后,您需要设置web.xml文件来激活Spring
WebApplicationContext。这个例子将Spring bean配置分成两个文件:rest-servlet.xml包含与MVC/REST有关的配置,rest-context.xml包含服务级别的配置(如数据源 beans)。清单 1显示了web.xml中的Spring配置的部分。
清单 1.在web.xml中激活Spring WebApplicationContext
以下是引用片段:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/rest-context.xml
</param-value>
</context-param>
<!-- This listener will load other application context file in addition to
rest-servlet.xml-->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>rest</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>rest</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
在rest-servlet.xml文件中创建Spring MVC的相关配置(Controller、View、View Resolver)。清单 2显示了其中最重要的部分。
清单 2.在rest-servlet.xml文件中创建Spring MVC配置
以下是引用片段:
<context:component-scan base-package="dw.spring3.rest.controller"/>
<!--To enable@RequestMapping process on type level and method level-->
<bean class="org.springframework.web.servlet.mvc.annotation
.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation
.AnnotationMethodHandlerAdapter"/>
<!--Use JAXB OXM marshaller to marshall/unmarshall following class-->
<bean id="jaxbMarshaller"
class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>dw.spring3.rest.bean.Employee</value>
<value>dw.spring3.rest.bean.EmployeeList</value>
</list>
</property>
</bean>
<bean id="employees" class=
"org.springframework.web.servlet.view.xml.MarshallingView">
<constructor-arg ref="jaxbMarshaller"/>
</bean>
<bean id="viewResolver" class=
"org.springframework.web.servlet.view.BeanNameViewResolver"/>
上面的代码中:
Component-scan启用对带有Spring注释的类进行自动扫描,在实践中,它将检查控制器类中所定义的@Controller注释。
DefaultAnnotationHanlderMappings和AnnotationMethodHandlerAdapter使用@ReqeustMapping注释的类或函数的beans由Spring处理这个注释将在下一节进行详细介绍。
Jaxb2Mashaller定义使用JAXB 2进行对象XML映射(OXM)的编组器(marshaller)和解组器(unmarshaller)
MashallingView定义一个使用Jaxb2Mashaller的XML表示view
BeanNameViewResolver使用用户指定的bean名称定义一个视图解析器
本例将使用名为“employees”的MarshallingView。
这样就完成了Spring的相关配置。下一步是编写一个控制器来处理用户请求。清单3显示的是控制器类。
三、英语Restlet Client Sign怎么翻译
英语Restlet Client Sign翻译成中文是:”Restlet客户端签名“。
重点单词:sign
单词音标:
sign单词发音:英[saɪn]美[saɪn]
单词释义:
v.签名;签署;签字;签(名);署(名);和…签约(或应聘);示意;打手势;打手语;
n.标志;迹象;征兆;预兆;招牌;标牌;指示牌;示意的动作(或声音);手势;符号;
短语搭配:
plus sign加号;正号
through signs通过示意动作
a sure sign of sth某事物的明确迹象;某事物的明显标志
there's no sign of **/sth不见某人/某物的踪影
双语例句:
I talked with him by signs.
我和他用手势交谈。
The sign was no longer legible because much of the lettering had worn away.
这块招牌已看不清楚,因为大部分字已磨掉了。
Make sure that the sign's the right way up.
一定要把符号的上下弄对。
Pay special attention to the sign of the answer.
特别注意答案的正负号。
文章分享到这里,希望我们关于REST(三)Restlet实现REST和如何在eclipse上配置rest服务啊的内容能够给您带来一些新的认识和思考。如果您还有其他问题,欢迎继续探索我们的网站或者与我们交流,我们将尽力为您提供满意的答案。