อย่างแรกคือการดาวน์โหลดเครื่องมือ:
ฉันแนะนำให้ผู้เริ่มต้นใช้ Editplus + JDK ฉันคิดว่าถ้าคุณใช้ JB, Eclipse, JCreator แม้ว่าในตอนแรกจะสะดวกกว่า แต่ก็จะทำให้ผู้เริ่มต้นรู้วิธีทำได้ยาก กำหนดค่าตัวแปรสภาพแวดล้อม ทำให้ยากต่อการทราบว่าเกิดอะไรขึ้น จนถึงจุดที่คุณรู้สาเหตุ
คุณสามารถดาวน์โหลดได้ตามที่อยู่ต่อไปนี้:
Editplus (เวอร์ชันล่าสุดคือ v2.11): http://count.skycn.com/softdown.php?id=3641&url=http://sc-http.skycn.net/ down/epp211a_cn.exe JDK (เวอร์ชันล่าสุดคือ Java2sdk1_4_2): http://count.skycn.com/softdown.php?id=3116&url=http://sc-http.skycn.net/down/j2sdk-1_4_2- windows-i586.exe (สำหรับ Windows)
จากนั้นติดตั้ง JDK ฉันติดตั้งไว้ในไดเรกทอรี c:JDK
จากนั้นมีปัญหาในการตั้งค่า CLASSPATH:
เช่นเดียวกับที่ระบบปฏิบัติการใช้ PATH เพื่อค้นหาโปรแกรมที่ปฏิบัติการได้ สภาพแวดล้อมการทำงานของ Java จะสำรวจ CLASSPATH เพื่อค้นหาคลาสด้วย แม้แต่สำหรับโปรแกรมธรรมดา ๆ เช่น HelloWorld JVM ก็จะสำรวจทุกเส้นทางที่กำหนดโดย CLASSPATH จนกระทั่งพบไฟล์ที่เกี่ยวข้อง
ฉันเชื่อว่าระบบที่คุณใช้คือ 2k หรือ XP จากนั้นคุณควรตั้งค่าเส้นทางดังนี้:
My Computer->Properties->Advanced->Environment Variables
จากนั้นต่อท้าย Path ของตัวแปรสภาพแวดล้อม: C:JDK bin;.;C: JDKlib
สามารถกำหนดค่าได้ดังนี้: C:JDKbin;.;C:JDKlibdt.jar;C:JDKlibtools.jar
★Remember : ในตัวแปรสภาพแวดล้อม จำไว้ว่าอย่าให้น้อยลง มันบ่งบอกถึงเส้นทางปัจจุบัน หากมีข้อผิดพลาดน้อยกว่า เราจะแจ้งให้คุณทราบในภายหลัง!
dt.jar เป็นไลบรารีคลาสเกี่ยวกับสภาพแวดล้อมการทำงาน และ tools.jar เป็นไลบรารีคลาสเกี่ยวกับเครื่องมือบางอย่าง
หากไม่มีการกำหนดค่า: C:JDKbin แสดงว่า "javac" ไม่ใช่คำสั่งภายในหรือภายนอก หรือ มันเป็นโปรแกรมที่ใช้งานได้หรือแบตช์ไฟล์" ข้อผิดพลาด
มาเขียนโปรแกรมตัวอย่างด้านล่าง:
เปิด Editplus สร้างไฟล์ Java ใหม่ กรุณากรอกดังนี้ อย่าลืมจำทุกคำ และแยกความแตกต่างระหว่างตัวอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก:
public class HelloWorld{
โมฆะคงที่สาธารณะ main (String [] args) {
System.out.println("สวัสดีชาวโลก!");
-
}
จากนั้นบันทึกไฟล์นี้ (ctrl + s) ไปที่ HelloWorld.java Java คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ดังนั้นจึงต้องแยกตัวพิมพ์ออกเป็น HelloWorld.java ไม่ใช่ helloworld.java หรืออื่นๆ
เรียกใช้: Start->Run->cmd
เพื่อสลับไดเร็กทอรีเป็นไดเร็กทอรีปัจจุบันในคอนโซล:
javac HelloWorld.java
java HelloWorld
คุณจะเห็นเอาต์พุต Hello, World!
javac คือคำ
สั่งการคอมไพล์
ซึ่งคอมไพล์ HelloWorld.java ลงใน HelloWorld.class
:
1. IfException ในเธรด "main" java.lang.NoClassDefFoundError: HelloWorld
นั่นหมายความว่าคุณไม่ได้เพิ่มสิ่งนั้นในตัวแปรสภาพแวดล้อม (จุด)
2. หากมีข้อยกเว้นในเธรด "main" java.lang.NoSuchMethodError: main เกิดขึ้น
หรือ HelloWorld.java:1: ต้องกำหนดคลาสสาธารณะ helloworld ในไฟล์ชื่อ
"HelloWorld.java"
นั่นคือ คุณเขียน HelloWorld นี้โดยไม่แยกความแตกต่างระหว่างตัวพิมพ์ หรือคุณไม่บันทึกเป็น HelloWorld.java เมื่อบันทึก ชื่อนี้จะต้องเหมือนกับชื่อของคลาสสาธารณะ
เพียงเท่านี้สำหรับปัญหาของตัวแปรสภาพแวดล้อม ต่อไป ฉันจะพูดถึงวิธีการคอมไพล์และรันใน Editplus ก่อน ในเครื่องมือ -> การตั้งค่าพารามิเตอร์ -> การกำหนดค่าเครื่องมือผู้
ใช้ . เพิ่มเครื่องมือ (เพิ่มแอปพลิเคชัน)
ข้อความเมนู: คอมไพล์โปรแกรม Java
: C:JDKbinjavac.exe
พารามิเตอร์: ชื่อไฟล์
ไดเรกทอรีเริ่มต้น: ไดเรกทอรีไฟล์
2. เพิ่มเครื่องมือ (เพิ่มแอปพลิเคชัน)
ข้อความเมนู: เรียกใช้โปรแกรม Java
: C:
พารามิเตอร์JDKbinjava.exe
: ชื่อไฟล์ (ไม่รวมนามสกุล)
ไดเรกทอรีเริ่มต้น: สามารถเพิ่มชื่อกลุ่มเครื่องมือไดเรกทอรีไฟล์
ได้ตามต้องการ เช่น Debug Java Program
จากนั้นในเมนูแบบเลื่อนลงของ Tools คุณจะเห็นสองตัวเลือก Compile Java Program และ Run Java Program ในอนาคต คุณสามารถใช้ ctrl + 1 เพื่อคอมไพล์ และ ctrl + 2 เพื่อรัน
โปรแกรม ของ Servlet:
ในการรัน Servlet คุณต้องมีคอนเทนเนอร์ JSP/Servlet ฉันแนะนำให้ผู้เริ่มต้นใช้งาน Tomcat
Tomcat (เวอร์ชันล่าสุด 5.0): http://localhost:8080 หากอินเทอร์เฟซต้อนรับปรากฏขึ้น แสดงว่า Tomcat ไม่มีปัญหา จากนั้นเขียน Servlet แรกของคุณตามด้านบน
นำเข้า java.io.*;
นำเข้า javax.servlet.*;
นำเข้า javax.servlet.http.*;
HelloWorld คลาสสาธารณะขยาย HttpServlet
-
โมฆะสาธารณะ doGet (คำขอ HttpServletRequest, การตอบสนอง HttpServletResponse) พ่น ServletException, IOException
{
response.setContentType("ข้อความ/html");
PrintWriter ออก = response.getWriter();
out.println("<html><head><title>");
out.println("นี่คือ Servlet แรกของฉัน");
out.println("</title><</head><body>");
out.println("<h1><สวัสดีชาวโลก!</h1>");
out.println("</body></html>");
}
}
จากนั้นใช้ javac HelloWorld.java เพื่อคอมไพล์ไฟล์นี้ตามปกติ หากล้มเหลวในการนำเข้า javax.servlet.*
คุณควรคัดลอกไฟล์ servlet.jar ใน C:Tomcatcommonlib ไปที่ C:JDKjre lib ext คอมไพล์อีกครั้ง และจะไม่มีปัญหา!
จากนั้นกดโครงสร้างไฟล์ต่อไปนี้ใน C:TomcatwebappsROOT ในไดเร็กทอรี Tomcat:
ROOTindex.html
รูท welcom.jsp
ROOTWEB-INFlibMyServlet.jar (หาก .class ของเซิร์ฟเล็ตของคุณพิมพ์ลงในไฟล์ .jar ให้วางไว้ใต้ lib)
ROOTWEB-INFclassesHelloWorld.class (ใส่ไฟล์ HelloWorld.class ที่สร้างขึ้นด้านบนนี้)
จากนั้นป้อน http://localhost:8080/servlet/HelloWorld ในเบราว์เซอร์ ดังนั้นเซิร์ฟเวอร์จึงรายงานข้อผิดพลาดตามที่คาดไว้: ข้อผิดพลาด 404 - ไม่พบ
เกิดอะไรขึ้น
Servlet ต้องลงทะเบียนโดยใช้ไฟล์ web.xml ภายใต้ไดเร็กทอรี C:TomcatwebappsROOTWEB-INF เปิดไฟล์ web.xml ด้วย EP และเพิ่ม:
<servlet>
<ชื่อเซิร์ฟเวอร์">HelloWorld</servlet-name>
<เซิร์ฟเล็ตคลาส><HelloWorld</เซิร์ฟเล็ตคลาส>
</เซิร์ฟเล็ต><
<การแมปเซิร์ฟเล็ต>
<ชื่อเซิร์ฟเวอร์">HelloWorld</servlet-name>
<รูปแบบ URL>/servlet/helloworld</url-รูปแบบ>
</servlet-mapping">
โครงสร้างดังกล่าว
<servlet">
<ชื่อเซิร์ฟเวอร์">HelloWorld</servlet-name>
<เซิร์ฟเล็ตคลาส><HelloWorld</เซิร์ฟเล็ตคลาส>
</servlet>
ระบุคลาสเซิร์ฟเล็ตที่รวมที่ระบุ และโครงสร้างต่อไปนี้:
<servlet-mapping>
<ชื่อเซิร์ฟเวอร์">HelloWorld</servlet-name>
<รูปแบบ URL>/servlet/HelloWorld</url-รูปแบบ>
</servlet-mapping>
บ่งชี้ว่ารูปแบบ URL ใดที่ HelloServlet ควรจะแมปด้วย