Search code examples
web-servicesrestjerseyjersey-clientjersey-2.0

Restful webservice with jersey 2.0 without maven


Can anybody tell me how to make a restful web service with Jersey 2.0 by not using maven. I have searched everywhere and found tutorial for Jersey1.x versions but not for 2.0. Please help


Solution

  • I found the answer

    package com.hellowebservice;
    
    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    import javax.ws.rs.core.MediaType;
    
    @Path("/hello")
    public class Hello {
    
    @GET
      @Produces(MediaType.TEXT_PLAIN)
      public String sayPlainTextHello() {
        return "Hello Jersey";
      }
    
      // This method is called if XML is request
      @GET
      @Produces(MediaType.TEXT_XML)
      public String sayXMLHello() {
        return "<?xml version=\"1.0\"?>" + "<hello> Hello Jersey" + "</hello>";
      }
    
      // This method is called if HTML is request
      @GET
      @Produces(MediaType.TEXT_HTML)
      public String sayHtmlHello() {
        return "<html> " + "<title>" + "Hello Jersey" + "</title>"
            + "<body><h1>" + "Hello Jersey" + "</body></h1>" + "</html> ";
      }
    
    }
    

    Web.xml

       <?xml version="1.0" encoding="UTF-8"?>
       <web-app id="WebApp_ID" 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>FirstRestWebService</display-name>
        <servlet>
       <display-name>Rest Servlet</display-name>
      <servlet-name>RestServlet</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
           <param-name>javax.ws.rs.Application</param-name>
               <param-value>com.hellowebservice.MyApplication</param-value>
                </init-param>
              <load-on-startup>1</load-on-startup>
          </servlet>
         <servlet-mapping>
       <servlet-name>RestServlet</servlet-name>
      <url-pattern>/rest/*</url-pattern>
       </servlet-mapping>
     </web-app>
    

    MyApplication.java

    package com.hellowebservice;
       import org.glassfish.jersey.server.ResourceConfig;
    
    
       public class MyApplication extends ResourceConfig {
          public MyApplication() {
              packages("com.hellowebservice");
        }
       }
    

    run with localhost:8080/FirstRestWebService/rest/hello