Jax-rs uri matching jersey example
TestWS.java
import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; import javax.ws.rs.core.MediaType; @Path("/helloTest") public class TestWS { @GET public Response getMassege1() { String output = "RESTful WS Jersey example. Hello World."; return Response.status(200).entity(output).build(); } @GET @Path("/world") @Produces(MediaType.TEXT_PLAIN) public Response getMassege2() { String output = "RESTful WS Jersey example. Hello World."; return Response.status(200).entity(output).build(); } @GET @Path("/{param}") @Produces(MediaType.TEXT_PLAIN) public Response getMassegeWithParam(@PathParam("param") String msg) { String output = "RESTful WS Jersey example. Hello " + msg; return Response.status(200).entity(output).build(); } @GET @Path("{id : \\d+}") @Produces(MediaType.TEXT_PLAIN) public Response getMassegeWithParamRegex(@PathParam("id") String id) { String output = "RESTful WS Jersey example. Hello your id is : " + id; return Response.status(200).entity(output).build(); } } |
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name> <servlet> <display-name>JAX-RS REST Servlet</display-name> <servlet-name>JAX-RS REST Servlet</servlet-name> <servlet-class> com.sun.jersey.spi.container.servlet.ServletContainer </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>JAX-RS REST Servlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> |
index.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>WS Test</title> </head> <body> <a href="services/helloTest">Normal URI Matching (Class level) </a> <br/> <a href="services/helloTest/world">Normal URI Matching (Method level) </a> <br/> <a href="services/helloTest/jai">URI Matching and Parameter </a> <br/> <a href="services/helloTest/04">URI Matching and Regular Expression </a> </body> </html> |
Output:
Click on “Normal URI Matching (Class level)” link.
Download this example.