ตัวอย่าง 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หากทุกอย่างไปคุณจะเห็นผลลัพธ์ต่อไปนี้: