วันจันทร์ที่ 22 มิถุนายน พ.ศ. 2563

Using Netbeans runs RESTful on Tomcat 9

ผมเห็นตัวอย่างมากมาย รัน REST กับ Tomcat 9 แต่เขาใช้ Eclipse ทำงานกัน แต่ผมชอบใช้ NetBeans มากกว่า จะทำตาม Eclipse กันอย่างไง

ที่ทดสอบนี้ใช้ Netbeans IDE 11.3 ใช้ Tomcat 9.0.16

วิธีการก็คล้ายๆ เพียงแต่ใช้เครื่อมมือไม่เหมือนกัน เริ่มทำกันดังนี้


  1. สร้างโปรเจ็ค File > New Project > Java with Maven > Web Application
  2. ไฟล์ pom.xml ใส่ dependency :
     <dependency>
               <groupId>org.glassfish.jersey.containers</groupId>
                    <artifactId>jersey-container-servlet</artifactId>
                    <version>2.25.1</version>
     </dependency>
  3. สร้างไฟล์ web.xml ใน WEB-INF ใส่ข้อความดังนี้

    <?xml version="1.0" encoding="UTF-8"?>

    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
     <display-name>TomcatNetBeans</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>Jersey REST Service</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>jersey.config.server.provider.packages</param-name>
            <param-value>com.mycompany.tomcatnetbeans</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Jersey REST Service</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>

    </web-app>

    ให้สังเกตว่า namespace ของผมเป็น com.mycompany.tomcatnetbeans ซึ่งต้องเปลี่ยนให้ตรงกับ namespace ที่เครื่องเราใช้
  4. สร้าง ไฟล์ Hello.java

    package com.mycompany.tomcatnetbeans;
    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 helloText() {
            return "Hello, Restful";
        }
    }
  5. ไปหน้าต่าง Services เพื่อ เพิ่ม Server Tomcat เมื่อเพิ่มแล้ว คลิกขวา เพื่อให้เซิร์บเวอร์ทำงาน
  6. กด F11 เพื่อ Build Project และ F6 เพื่อ Run
  7. เปิด เบราเซอร์ ไปที่ http://localhost:8080/TomcatNetBeans/rest/hello

  หวังว่า คงใช้ลดเวลา ในการลองผิดลองถูก