Representational state transfer (REST) is a architectural style of designing loosely coupled applications based on web-standards and the HTTP protocol. It relies on a stateless, client-server, cacheable communications protocol -- and in virtually all cases, the HTTP protocol is used.The hardest part of building a RESTful application is deciding on the resources you want to expose. Once you've done that, using the open source Restlet framework makes building RESTful Web services a snap. This tutorial guides you step-by-step through the fundamental concepts of REST and building applications with Restlets.
Step 1: Create a dynamic web project in Eclipse and add the jars shown in the figure in the lib folder under the WEB-INF
Step 2: Add the Restful nature in the the project using fallowing entry in the web.xml
Step 3:Create the Employee class as fallows and annotted it with the @Path,@Produce and @Get annotations
Step 4: now run the dynamic web application on the tomcat server and access the fallowing URL
http://localhost:8080/RESTfulProject/REST/employee
Here is the browser output
Step 5:you can use jersy api or Apache HttpClient api to the test the webservice by creating a client,here I have created the client using the jersy api
After running this main class as a java application you will find the fallowing output on the console
<html> <title>Employee Details</title><body><h1>Employee Name is Dummy Employee</body></h1></html>
Step 1: Create a dynamic web project in Eclipse and add the jars shown in the figure in the lib folder under the WEB-INF
Step 2: Add the Restful nature in the the project using fallowing entry in the web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>FirstProject</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>ServletAdaptor</servlet-name> <servlet-class> com.sun.jersey.server.impl.container.servlet.ServletAdaptor</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>ServletAdaptor</servlet-name> <url-pattern>/REST/*</url-pattern> </servlet-mapping> </web-app>
Step 3:Create the Employee class as fallows and annotted it with the @Path,@Produce and @Get annotations
package com.rajkrrsingh.blogspot; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; @Path("/employee") public class Employee { @GET @Produces(MediaType.TEXT_HTML) public String getEmployee(){ return "<html> " + "<title>" + "Employee Details" + "</title>" + "<body><h1>" + "Employee Name is Dummy Employee" + "</body></h1>" + "</html> "; } }
Step 4: now run the dynamic web application on the tomcat server and access the fallowing URL
http://localhost:8080/RESTfulProject/REST/employee
Here is the browser output
Step 5:you can use jersy api or Apache HttpClient api to the test the webservice by creating a client,here I have created the client using the jersy api
package com.rajkrrsingh.blogspot.client; import java.net.URI; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.UriBuilder; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.WebResource; import com.sun.jersey.api.client.config.ClientConfig; import com.sun.jersey.api.client.config.DefaultClientConfig; public class Main { public static void main(String[] args) { ClientConfig config = new DefaultClientConfig(); Client client = Client.create(config); WebResource service = client.resource(getBaseURI()); System.out.println(service.path("REST").path("employee").accept(MediaType.TEXT_HTML).get(String.class)); } private static URI getBaseURI() { return UriBuilder.fromUri("http://localhost:8080/RESTfulProject").build(); } }
After running this main class as a java application you will find the fallowing output on the console
<html> <title>Employee Details</title><body><h1>Employee Name is Dummy Employee</body></h1></html>