แพคเกจ servlet
เกี่ยวกับโครงสร้างของแอพลิเคชันเว็บไดเรกทอรีย่อย WEB-INF เป็นมาตรฐานสำหรับทุกการใช้งานเว็บ Java ระบุโดยข้อกำหนด Servlet API ได้ กำหนดระดับบนสุดชื่อไดเรกทอรี MyApp โครงสร้างไดเรกทอรีเป็นดังนี้:
/ MyApp / images / WEB-INF / คลาส / lib
WEB-INF ไดเรกทอรีย่อยมีคำอธิบายถึงการใช้งานโปรแกรมที่เรียกว่า web.xml HTML ไฟล์ทั้งหมดจะอยู่ในMyAppไดเรกทอรีระดับบนสุด สำหรับผู้ใช้ผู้ดูแลระบบคุณจะพบไดเรกทอรีรากเป็นไดเรกทอรีแม่ MyApp
สร้าง Servlet แพคเกจ
WEB-INF / directory เรียนมีทั้งหมดของระดับ Servlet และประเภทอื่น ๆ ของเอกสารแฟ้มระดับการแข่งขันโครงสร้างไดเรกทอรีที่มีชื่อแพคเกจของพวกเขา ตัวอย่างเช่นถ้าคุณมีcom.myorg.MyServlet ชื่อชั้นที่มีคุณสมบัติครบถ้วนแล้วระดับ Servlet จะต้องอยู่ในไดเรกทอรีต่อไปนี้:
/myapp/WEB-INF/classes/com/myorg/MyServlet.class
ตัวอย่างต่อไปนี้สร้างแพคเกจระดับ MyServlet เรียกcom.myorgของ
// สำหรับแพคเกจชื่อแพคเกจ com.myorg; // นำเข้าจำเป็น Java ห้องสมุดนำเข้า java.io. *; นำเข้า javax.servlet * .; นำเข้า javax.servlet.http * .; เรียนสาธารณะ MyServlet ขยาย HttpServlet { ข้อความ String เอกชน โมฆะสาธารณะ init () พ่น ServletException { // ดำเนินข้อความเริ่มต้นที่จำเป็น = "Hello World"; } โมฆะสาธารณะ doGet (HttpServletRequest ร้องขอ HttpServletResponse การตอบสนอง) พ่น ServletException, IOException { // ตั้งค่าชนิดเนื้อหาของการตอบสนอง response.setContentType ( "text / html; charset = UTF-8"); // ตรรกะที่เกิดขึ้นจริงที่นี่ PrintWriter ออก = response.getWriter (); out.println ( "<h1>" + ข้อความ + "</ h1>"); } โมฆะสาธารณะทำลาย () { // ไม่ทำอะไร} }
รวบรวม Servlet แพคเกจ
รวบรวมแพคเกจการเรียนและการเรียนอื่น ๆ รวบรวมไม่มีความแตกต่างใหญ่ วิธีที่ง่ายที่สุดคือการได้รับไฟล์ Java ของคุณยังคงอยู่ในเส้นทางที่มีคุณสมบัติครบถ้วนในชั้นเรียนดังกล่าวข้างต้นจะได้รับการเก็บรักษาไว้ใน com.myorg นอกจากนี้คุณยังต้องเพิ่มไดเรกทอรีคลาสพา ธ
สมมติว่าสภาพแวดล้อมของคุณตั้งค่าอย่างถูกต้องป้อน<Tomcat ติดตั้งไดเรกทอรี> / webapps / ราก / WEB-INF / คลาส ไดเรกทอรีและรวบรวม MyServlet.java ดังต่อไปนี้:
$ Javac MyServlet.java
หาก Servlet พึ่งพาห้องสมุดอื่น ๆ คุณยังต้องอ้างอิงไฟล์ JAR ผู้ที่อยู่ในคลาสพา ธ ฉันเป็นเพียง quoting ไฟล์ JAR servlet-api.jar เพราะผมไม่ได้ใช้ห้องสมุดอื่น ๆ ในโปรแกรม Hello World
บรรทัดคำสั่งที่ใช้ในตัวคอมไพเลอร์ javac ซึ่งเป็นชุด Sun Microsystems Java การพัฒนาซอฟต์แวร์ (JDK, ชื่อเต็มของ Java Development Kit Software) ที่มาพร้อม ไมโคร 'Java ชุดพัฒนาซอฟต์แวร์ (JDK) เพื่อให้คำสั่งในการทำงานอย่างถูกต้องก็จะต้องมีสถานที่ตั้งของ Java SDK ที่คุณกำลังใช้ตัวแปรสภาพแวดล้อมของเส้นทาง
หากทุกอย่างไปคอมไพเลอร์นี้จะสร้างไฟล์MyServlet.class ในไดเรกทอรีเดียวกันส่วนต่อไปจะอธิบายวิธี Servlet รวบรวมนำไปใช้ในการผลิต
แพคเกจการปรับใช้ Servlet
โดยค่าเริ่มต้นการประยุกต์ใช้ Servlet ในเส้นทางภายใต้ <Tomcat ติดตั้งไดเรกทอรี> / webapps / รากและไฟล์ชั้นใน <Tomcat ติดตั้งไดเรกทอรี> / webapps / ราก / WEB-INF / ชั้นเรียนใน
หากคุณมีcom.myorg.MyServlet ชื่อชั้นที่มีคุณสมบัติครบถ้วนแล้วระดับ Servlet จะต้องอยู่ใน WEB-INF / คลาส / COM / myorg / MyServlet.class คุณต้องอยู่ใน <Tomcat ติดตั้งไดเรกทอรี> / webapps / สร้างรากรายการต่อไปนี้ / WEB-INF / ไฟล์ web.xml:
<Servlet> <Servlet ชื่อ> MyServlet </ servlet-name> <Servlet ชั้น> com.myorg.MyServlet </ servlet ระดับ> </ Servlet> <Servlet ทำแผนที่> <Servlet ชื่อ> MyServlet </ servlet-name> <url รูปแบบ> / MyServlet </ url รูปแบบ> </ Servlet ทำแผนที่>
รายการดังกล่าวข้างต้นจะได้รับการสร้างขึ้นในไฟล์ web.xml ก <เว็บแอป> ภายใน ... </ เว็บแอป> แท็ก ในแฟ้มนี้คุณอาจจะมีความหลากหลายของรายการที่มีอยู่ แต่ไม่สนใจ
ที่นี่คุณจะทำเกือบตอนนี้ขอใช้ <Tomcat ติดตั้งไดเรกทอรี> \ bin \ startup.bat (Windows) หรือ <Tomcat ติดตั้งไดเรกทอรี> /bin/startup.sh (ใน Linux / Solaris และอื่น ๆ ) ไปเริ่มต้นเซิร์ฟเวอร์ Tomcat และในที่สุดก็เข้าสู่http ในแถบที่อยู่ของเบราเซอร์: // localhost: 8080 / MyServletหากทุกอย่างไปคุณจะเห็นผลลัพธ์ต่อไปนี้:
สวัสดีชาวโลก |