บทช่วยสอน การประมวลผลรูปแบบ JSP ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ GET วิธี,วิธีการ POST,ข้อมูลรูปแบบ JSP จะอ่าน,ตัวอย่างของการใช้วิธีการ GET URL,ใช้วิธีการรูปแบบ GET ตัวอย่าง,ตัวอย่างของวิธีการ POST ของแบบฟอร์ม,ข้อมูลผ่านช่องทำเครื่องหมายในการเขียนโปรแกรม JSP,อ่านค่าพารามิเตอร์ทุกรูปแบบ,
เราเรียกดูเว็บคุณมักจะต้องส่งข้อมูลไปยังเซิร์ฟเวอร์และปล่อยให้กระบวนการภูต เบราว์เซอร์ที่ใช้ GET และ POST วิธีการที่จะส่งข้อมูลไปยังเซิร์ฟเวอร์
ได้รับการเข้ารหัสวิธีการขอข้อมูลเพื่อเพิ่มไปยัง URL ข้อมูลการเข้ารหัส URL ผ่าน "?" แยกจากกันโดย ดังต่อไปนี้:
http://www.w3write.com/hello?key1=value1&key2=value2
วิธีการ GET เป็นวิธีการของเบราว์เซอร์ค่าเริ่มต้นผ่านข้อมูลที่สำคัญเช่นรหัสผ่านและอื่น ๆ ไม่แนะนำให้ใช้วิธีการ GET
รับใช้ขนาดของข้อมูลที่ส่งจะถูก จำกัด (ทราบจำนวนพารามิเตอร์ไม่ได้ จำกัด ) เพิ่มขึ้นเป็น 1024 ไบต์
ข้อมูลสำคัญเช่นรหัสผ่านและเพื่อให้เราสามารถส่งผ่านวิธีการโพสต์โพสต์ในการส่งข้อมูลเป็นนัย
โพสต์ในการส่งข้อมูลไม่สามารถมองเห็นได้รับจะถูกส่งผ่าน URL ที่ภายใน (คุณสามารถดูที่แถบที่อยู่ของเบราว์เซอร์ของคุณ)
JSP ใช้ getParameter () เพื่อให้ได้ค่าพารามิเตอร์ผ่าน, getInputStream () วิธีการที่ใช้ในการประมวลผลคำขอกระแสข้อมูลไบนารีของลูกค้า
getParameter (): ใช้ request.getParameter () วิธีการที่จะได้รับค่าพารามิเตอร์ของแบบฟอร์ม
getParameterValues (): ได้รับเป็นชั้นช่องทำเครื่องหมาย (ชื่อเหมือนกัน แต่ส่วนใหญ่ของค่า) ข้อมูลรับอาร์เรย์ของตัวแปรเช่นประเภทช่องทำเครื่องหมาย
getParameterNames (): วิธีการนี้สามารถได้รับชื่อของตัวแปรทั้งหมดวิธีการส่งกลับ Emumeration
getInputStream (): วิธีการนี้เรียกว่าการอ่านกระแสข้อมูลไบนารีจากลูกค้า
ต่อไปนี้เป็น URL ที่เรียบง่ายและใช้วิธีการ GET เพื่อส่งผ่านพารามิเตอร์ใน URL:
http://localhost:8080/testjsp/main.jsp?name=本教程&url=http://ww.w3write.com
ที่อยู่ testjsp สำหรับโครงการ
ต่อไปนี้เป็นแฟ้มโปรแกรม main.jsp JSP สำหรับรูปแบบการประมวลผลข้อมูลที่ส่งมาจากลูกค้าที่เราใช้ getParameter () วิธีการที่จะได้รับข้อมูลที่ส่ง:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <h1>使用 GET 方法读取数据</h1> <ul> <li><p><b>站点名:</b> <%= request.getParameter("name")%> </p></li> <li><p><b>网址:</b> <%= request.getParameter("url")%> </p></li> </ul> </body> </html>
ต่อไปเราจะไปที่ http เบราว์เซอร์: // localhost: 8080 / testjsp / ชื่อ main.jsp = กวดวิชานี้และ url = http :? //ww.w3write.com ออกผลมีดังนี้
ต่อไปนี้เป็นรูปแบบ HTML ง่ายๆซึ่งจะถูกส่งมาโดยวิธีการ GET เพื่อ main.jsp ไฟล์ข้อมูลของลูกค้า:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <form action="main.jsp" method="GET"> 站点名: <input type="text" name="name"> <br /> 网址: <input type="text" name="url" /> <input type="submit" value="提交" /> </form> </body> </html>
บันทึกรหัส HTML ข้างต้นลงในไฟล์ Test.htm วางแฟ้มในไดเรกทอรีปัจจุบันภายใต้โครงการ WebContent JSP (กับ main.jsp ไดเรกทอรีเดียวกัน)
โดยไปที่ http: // localhost: 8080 / testjsp / test main.jsp ส่งข้อมูลแบบฟอร์มไปยังแฟ้ม, GIF สาธิตแสดงด้านล่าง:
กรอกข้อมูลใน "ชื่อเว็บไซต์" และ "URL" สองรูปแบบและคลิกที่ปุ่ม "ส่ง" ก็จะออกผล
ลองใช้วิธีการ POST ในการรับส่งข้อมูลแบบฟอร์มและปรับเปลี่ยน main.jsp Hello.htm รหัสไฟล์ดังต่อไปนี้:
รหัสไฟล์ main.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <h1>使用 POST 方法读取数据</h1> <ul> <li><p><b>站点名:</b> <% // 解决中文乱码的问题 String name = new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8"); %> <%=name%> </p></li> <li><p><b>网址:</b> <%= request.getParameter("url")%> </p></li> </ul> </body> </html>
เราใช้รหัสใหม่ String ((request.getParameter ( "ชื่อ ")). GetBytes ( "ISO-8859-1"), "UTF-8") ในการแปลงรหัสป้องกันการเกิดของจีนที่อ่านไม่ออก
นี่คือ Test.htm รหัสแก้ไข:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <form action="main.jsp" method="POST"> 站点名: <input type="text" name="name"> <br /> 网址: <input type="text" name="url" /> <input type="submit" value="提交" /> </form> </body> </html>
โดยไปที่ http: // localhost: 8080 / testjsp / test main.jsp ส่งข้อมูลแบบฟอร์มไปยังแฟ้ม, GIF สาธิตแสดงด้านล่าง:
ช่องทำเครื่องหมายช่องทำเครื่องหมายสามารถส่งผ่านข้อมูลได้มากยิ่งขึ้น
ต่อไปนี้เป็นรหัส HTML ง่ายๆและรหัสจะถูกเก็บไว้ในแฟ้ม Test.htm:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <form action="main.jsp" method="POST" target="_blank"> <input type="checkbox" name="google" checked="checked" /> Google <input type="checkbox" name="w3big" /> 本教程 <input type="checkbox" name="taobao" checked="checked" /> 淘宝 <input type="submit" value="选择网站" /> </form> </body> </html>
รหัสข้างต้นในเบราว์เซอร์ในการเข้าถึงต่อไปนี้:
ต่อไปนี้เป็นรหัสไฟล์ main.jsp สำหรับกล่องข้อมูลการประมวลผล:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <h1>从复选框中读取数据</h1> <ul> <li><p><b>Google 是否选中:</b> <%= request.getParameter("google")%> </p></li> <li><p><b>本教程是否选中:</b> <%= request.getParameter("w3big")%> </p></li> <li><p><b>淘宝是否选中:</b> <%= request.getParameter("taobao")%> </p></li> </ul> </body> </html>
โดยไปที่ http: // localhost: 8080 / testjsp / test main.jsp ส่งข้อมูลแบบฟอร์มไปยังแฟ้ม, GIF สาธิตแสดงด้านล่าง:
ด้านล่างเราจะใช้ getParameterNames HttpServletRequest () เพื่ออ่านพารามิเตอร์ทั้งหมดของรูปแบบวิธีการที่จะได้รับชื่อของตัวแปรทั้งหมดวิธีการส่งกลับแจงนับ
เมื่อเรามีการแจงนับ (การแจงนับ) เราสามารถเรียก hasMoreElements () วิธีการตรวจสอบว่ามีองค์ประกอบและการใช้ nextElement () วิธีการที่จะได้รับชื่อของแต่ละพารามิเตอร์
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <h1>读取所有表单参数</h1> <table width="100%" border="1" align="center"> <tr bgcolor="#949494"> <th>参数名</th><th>参数值</th> </tr> <% Enumeration paramNames = request.getParameterNames(); while(paramNames.hasMoreElements()) { String paramName = (String)paramNames.nextElement(); out.print("<tr><td>" + paramName + "</td>\n"); String paramValue = request.getParameter(paramName); out.println("<td> " + paramValue + "</td></tr>\n"); } %> </table> </body> </html>
ต่อไปนี้เป็นไฟล์ Test.htm เนื้อหา:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <form action="main.jsp" method="POST" target="_blank"> <input type="checkbox" name="google" checked="checked" /> Google <input type="checkbox" name="w3big" /> 本教程 <input type="checkbox" name="taobao" checked="checked" /> 淘宝 <input type="submit" value="选择网站" /> </form> </body> </html>
ตอนนี้เราส่งไฟล์ข้อมูลผ่านเบราว์เซอร์ออกผลเข้าถึง Test.htm มีดังนี้
โดยไปที่ http: // localhost: 8080 / testjsp / test main.jsp ส่งข้อมูลแบบฟอร์มไปยังแฟ้ม, GIF สาธิตแสดงด้านล่าง:
คุณสามารถลองใช้มากกว่ารหัส JSP อ่านวัตถุอื่น ๆ เช่นกล่องข้อความปุ่มกล่องแบบหล่นลงหรือเหมือนรูปแบบอื่น ๆ ของข้อมูล