Latest web development tutorials

ตัวอย่าง servlet

ร้องขอ HTTP Servlet บริการและดำเนินการเรียนjavax.servlet.Servlet อินเตอร์เฟซ Javaนักพัฒนาโปรแกรมประยุกต์บนเว็บมักจะเขียน Servlet ขยาย javax.servlet.http.HttpServlet ชั้นนามธรรมและดำเนินการติดต่อ Servlet ถูกออกแบบมาเพื่อจัดการกับการร้องขอ HTTP

Hello World โค้ดตัวอย่าง

นี่คือรหัสการส่งออกตัวอย่าง source Hello World Servlet:

// นำเข้าจำเป็น Java ห้องสมุดนำเข้า java.io. *;
นำเข้า javax.servlet * .;
นำเข้า javax.servlet.http * .;

// ขยาย HttpServlet เรียนสาธารณะระดับ HelloWorld ขยาย HttpServlet {
 
  ข้อความ String เอกชน

  โมฆะสาธารณะ init () พ่น ServletException
  {
      // ดำเนินข้อความเริ่มต้นที่จำเป็น = "Hello World";
  }

  โมฆะสาธารณะ doGet (HttpServletRequest ร้องขอ
                    HttpServletResponse การตอบสนอง)
            พ่น ServletException, IOException
  {
      // ตั้ง response.setContentType ชนิดเนื้อหาของการตอบสนอง ( "text / html");

      // ตรรกะที่เกิดขึ้นจริงที่นี่ PrintWriter ออก = response.getWriter ();
      out.println ( "<h1>" + ข้อความ + "</ h1>");
  }
  
  โมฆะสาธารณะทำลาย ()
  {
      // ไม่ทำอะไร}
}

รวบรวม Servlet

ขอนำโค้ดด้านบนที่เขียนในไฟล์ HelloWorld.java ใส่ไฟล์ C: \ ServletDevel (Windows) หรือ / usr / ServletDevel (บน UNIX) คุณยังต้องเพิ่มไดเรกทอรีนี้เพื่อคลาสพา ธ .

สมมติว่าสภาพแวดล้อมของคุณตั้งอย่างถูกต้องป้อนไดเรกทอรีServletDevel และรวบรวม HelloWorld.java ดังต่อไปนี้:

$ Javac HelloWorld.java

หาก Servlet ขึ้นอยู่กับห้องสมุดอื่น ๆ ที่คุณต้องรวมไฟล์ JAR ผู้ที่อยู่ในคลาสพา ธ ที่นี่ผมรวมเฉพาะไฟล์ JAR servlet-api.jar เพราะฉันไม่ได้ใช้ห้องสมุดอื่น ๆ ในโปรแกรม Hello World

บรรทัดคำสั่งที่ใช้ Sun Microsystems Java ซอฟต์แวร์พัฒนา Kit (JDK) สร้าง javac คอมไพเลอร์ สำหรับคำสั่งนี้จะทำงานอย่างถูกต้องคุณต้องวางตำแหน่งตัวแปร Java SDK สภาพแวดล้อมของเส้นทางที่จะใช้

หากทุกอย่างไปคอมไพเลอร์จะสร้างไฟล์ HelloWorld.class ดังกล่าวข้างต้นในไดเรกทอรีเดียวกัน ส่วนถัดไปจะอธิบายวิธีการปรับใช้ Servlet รวบรวมในการผลิต

servlet การปรับใช้

โดยค่าเริ่มต้นการประยุกต์ใช้ Servlet ในเส้นทางภายใต้ <Tomcat ติดตั้งไดเรกทอรี> / webapps / รากและไฟล์ชั้นใน <Tomcat ติดตั้งไดเรกทอรี> / webapps / ราก / WEB-INF / ชั้นเรียนใน

หากคุณมีcom.myorg.MyServlet ชื่อชั้นที่มีคุณสมบัติครบถ้วนแล้วระดับ Servlet จะต้องอยู่ใน WEB-INF / คลาส / COM / myorg / MyServlet.class ใน

ตอนนี้ขอคัดลอก HelloWorld.class ที่ <Tomcat ติดตั้งไดเรกทอรี> / webapps / ราก / WEB-INF / คลาส ในและตั้งอยู่ใน <Tomcat ติดตั้งไดเรกทอรี> / webapps / ราก / WEB-INF /เว็บ สร้างแฟ้มรายการ .xmlต่อไปนี้:

<web-app>      
    <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>HelloWorld</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>
</web-app>  

รายการดังกล่าวข้างต้นจะได้รับการสร้างขึ้นในไฟล์ web.xml ก <เว็บแอป> ภายใน ... </ เว็บแอป> แท็ก ในแฟ้มนี้คุณอาจจะมีความหลากหลายของรายการที่มีอยู่ แต่ไม่สนใจ

ที่นี่คุณจะทำเกือบตอนนี้ขอใช้ <Tomcat ติดตั้งไดเรกทอรี> \ bin \ startup.bat (Windows) หรือ <Tomcat ติดตั้งไดเรกทอรี> /bin/startup.sh (ใน Linux / Solaris และอื่น ๆ ) ไปเริ่มต้นเซิร์ฟเวอร์ Tomcat และในที่สุดก็เข้าสู่http ในแถบที่อยู่เบราว์เซอร์: // localhost: 8080 / HelloWorldหากทุกอย่างไปคุณจะเห็นผลลัพธ์ต่อไปนี้:

ตัวอย่าง servlet