ในแอปพลิเคชันเว็บ Java วิธีรับพารามิเตอร์ในคำขอ servlet และส่งผ่านไปยังหน้า JSP ที่กระโดดได้อย่างไร ตัวอย่างเช่นเยี่ยมชม http: // localhost: 8088/bbs? id = 1
เมื่อดำเนินการ BBS servlet นี้ให้ส่งค่าของ ID พารามิเตอร์ URL ไปยังหน้า bbs.jsp?
1. ก่อนอื่นคุณต้องกำหนดค่า web.xml ดูการกำหนดค่าต่อไปนี้:
<servlet> <servlet-name> bbs </servlet-name> <servlet-lass> org.openjweb.core.servlet.bbsservlet </servlet-lass> </servlet> <servlet-mapping>
2. เขียนคลาส servlet:
แพ็คเกจ org.openjweb.core.servlet; นำเข้า java.io.ioexception; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.http.httpservlet; นำเข้า javax.servlet.http.httpservletrequest; javax.servlet.http.httpservletResponse; BBSServlet ระดับสาธารณะขยาย HTTPSERVLET {ส่วนตัวคงที่สุดท้าย Long SerialVersionUID = 1L; สาธารณะ bbsservlet () {super (); // todo toDo ที่สร้างขึ้นใหม่ stub stub} void doget ที่ได้รับการป้องกัน (คำขอ httpservletrequest, การตอบสนอง httpservletresponse) โยน servletexception, ioexception {//http://bbs.csdn.net/topics/9043853 // ตั้งค่าการเข้ารหัสสตริง id = request.getParameter ("id"); request.setAttribute ("id", id); request.getRequestDispatcher ("/bbs.jsp") ส่งต่อ (คำขอ, การตอบกลับ); } การป้องกันโมฆะ dopost (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {doget (คำขอ, การตอบสนอง); -สร้างไฟล์ bbs.jsp ในไดเรกทอรีรูทแอปพลิเคชันด้วยเนื้อหา:
<%@ page contentType = "text/html; charset = utf-8"%> <%out.println (request.getAttribute ("id")); -โปรดทราบว่าหลายคนไม่สามารถผ่านพารามิเตอร์ได้เพราะพวกเขาเรียก Dopost ในวิธีการ DoGet อย่าโทรหา Dopost ในวิธีการ DOGET ที่นี่