Hướng dẫn how to get value from html to java - cách lấy giá trị từ html sang java

Đọc/Viết các giá trị trường HTML từ Javatag (S): Tương tác JavaScriptTag(s): Javascript interaction

[NetScape và IE4 tương thích] Gói NetScape.javaScript.* (LiveConnect) cung cấp các phương tiện để trực tiếp điều khiển các thành phần hình thức HTML.
The netscape.javascript.* (LiveConnect) package provides facilities to directly manipulate HTML FORM components.

JSObject win = (JSObject)JSObject.getWindow(this); JSObject inputText = (JSObject) win.eval("document.forms[0].elements[0]"); String value = (String)inputText.getMember("value"); // read form value inputText.setMember("value" , value + " new stuff"); // write form value

Nhưng hành động này đòi hỏi một applet đã ký. Ở Netscape, bạn phải

PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");

Trước khi sử dụng JSObject liên quan đến tài liệu HTML.

Nhưng có một cách giải quyết, chỉ cần truyền thông tin thông qua các chức năng JavaScript!

[JSjava.java]

import java.applet.*; import java.awt.event.*; import java.awt.*; import netscape.javascript.*; public class JSjava extends Applet implements ActionListener { Button b1,b2; TextField tf; JSObject win; public void init(){ setLayout(new FlowLayout()); tf = new TextField(10); b1 = new Button("to FORM"); b2 = new Button("from FORM"); b1.addActionListener(this); b2.addActionListener(this); add(tf);add(b1);add(b2); } public void actionPerformed(ActionEvent ae) { if (ae.getSource() == b1) { // send TO FORM JSObject win = (JSObject)JSObject.getWindow(this); win.eval("setHTMLInputText('"+tf.getText()+"');"); } if (ae.getSource() == b2) { // receive FROM FORM JSObject win = (JSObject)JSObject.getWindow(this); tf.setText((String)win.eval("getHTMLInputText();")); } } }

[JSjava.html]

<HTML><HEAD> <SCRIPT> function getHTMLInputText(){ return document.forms[0].elements[0].value; } function setHTMLInputText(s){ document.forms[0].elements[0].value = s; } </SCRIPT></HEAD><BODY> <FORM> <INPUT TYPE=text SZIE=20> </FORM> <APPLET NAME="JS" CODE=JSjava.class MAYSCRIPT WIDTH=200 HEIGTH=200> </APPLET></BODY></HTML>

Để có kết quả tốt nhất, không bao giờ sử dụng liveConnect jSObject trong phương thức applet () của applet.

Mã Java trong servlet: chuỗi username = request.getParameter ("tên người dùng"); Chuỗi mật khẩu = request.getParameter ("mật khẩu"); ....
[ home ]

Chi tiết của & NBSP; Cập nhật lần cuối vào ngày 11 tháng 3 năm 2020 & NBSP; | & nbsp; & nbsp; in & nbsp; E-mail Last Updated on 11 March 2020   |   Print  Email

Trong hướng dẫn Java Servlet này, tôi sẽ hướng dẫn bạn cách đọc các giá trị của các trường đầu vào chung từ dạng HTML ở phía máy chủ với Java Servlet.

Bạn biết đấy, việc xử lý dữ liệu biểu mẫu được biểu thị trong trang HTML là một nhiệm vụ rất phổ biến trong phát triển web. Một kịch bản điển hình là người dùng điền vào các trường của một biểu mẫu và gửi nó. Máy chủ sẽ xử lý yêu cầu dựa trên dữ liệu đã gửi và gửi phản hồi lại cho máy khách. Hình ảnh sau đây mô tả quy trình làm việc với Java Servlet ở phía máy chủ:

& nbsp;

Để tạo biểu mẫu trong HTML, chúng tôi cần sử dụng các thẻ sau:

    • : Để tạo một biểu mẫu để thêm các trường trong cơ thể của nó.: to create a form to add fields in its body.
    • ,,, , …: to create form fields like text boxes, dropdown list, text area, check boxes, radio buttons,… and submit button.

Để làm cho biểu mẫu hoạt động với Java Servlet, chúng tôi cần chỉ định các thuộc tính sau cho thẻ: tag:

    • Phương thức = Bài đăng Post: Để gửi dữ liệu biểu mẫu dưới dạng yêu cầu bài đăng HTTP đến máy chủ. Nói chung, nộp biểu mẫu nên được thực hiện trong phương pháp bài HTTP.=”post”: to send the form data as an HTTP POST request to the server. Generally, form submission should be done in HTTP POST method.
    • Action = URL URL của servlet trực tiếp: Chỉ định URL tương đối của servlet chịu trách nhiệm xử lý dữ liệu được đăng từ biểu mẫu này.=”URL of the servlet”: specifies relative URL of the servlet which is responsible for handling data posted from this form.

Ví dụ: sau đây là mã HTML của mẫu đăng nhập:

<form name="loginForm" method="post" action="loginServlet"> Username: <input type="text" name="username"/> <br/> Password: <input type="password" name="password"/> <br/> <input type="submit" value="Login" /> </form>

Hình thức này sẽ trông như thế này trong trình duyệt:

Về phía máy chủ, chúng ta cần tạo một servlet Java được ánh xạ tới URL: LogInservlet, như được chỉ định trong thuộc tính hành động của biểu mẫu. Sau đây là mã của servlet:

@WebServlet("/loginServlet") public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // code to process the form... } }

Lưu ý rằng URL servlet được chỉ định bởi chú thích @WebServlet trước lớp servlet. Khi người dùng gửi biểu mẫu đăng nhập ở trên, phương thức dopost () servlet () sẽ được gọi bởi container servlet. Thông thường, chúng tôi sẽ thực hiện các tác vụ sau trong phương thức Dopost ():@WebServlet annotation before the servlet class. When the user submits the login form above, the servlet’s doPost() method will be invoked by the servlet container. Typically we will do the following tasks inside doPost() method:

    • Đọc các giá trị của các trường được đăng từ biểu mẫu thông qua đối tượng yêu cầu (triển khai javax.servlet.http.httpservletrequest giao diện).request object (implementation of javax.servlet.http.HttpServletRequest interface).
    • Thực hiện một số xử lý, ví dụ: Kết nối với cơ sở dữ liệu để xác thực tên người dùng và mật khẩu.
    • Trả lại phản hồi trở lại cho người dùng thông qua đối tượng Respone (triển khai javax.servlet.http.httpservletresponse giao diện).respone object (implementation of javax.servlet.http.HttpServletResponse interface).

Để đọc các giá trị của các trường biểu mẫu, giao diện httpservletRequest cung cấp các phương thức sau:HttpServletRequest interface provides the following methods:

    • Chuỗi getParameter (tên chuỗi): Nhận giá trị của một trường được chỉ định bởi tên đã cho, dưới dạng chuỗi. Phương thức trả về null nếu không có trường biểu mẫu tồn tại với tên đã cho.: gets value of a field which is specified by the given name, as a String. The method returns null if there is no form field exists with the given name.
    • Chuỗi [] getParameterValues ​​(tên chuỗi): Nhận các giá trị của một nhóm các trường có cùng tên, trong một mảng các đối tượng chuỗi. Phương thức trả về null nếu không có trường tồn tại với tên đã cho.: gets values of a group of fields which have same name, in an array of String objects. The method returns null if there is no field exists with the given name.

Lưu ý rằng các phương thức trên cũng có thể xử lý các tham số trong chuỗi truy vấn URL, do đó tên GetParameter.

Ví dụ: chúng ta có thể viết mã sau trong phương thức dopost () để đọc các giá trị của các trường biểu mẫu:doPost() method to read values of form’s fields:

String username = request.getParameter("username"); String password = request.getParameter("password");

Để gửi phản hồi lại cho máy khách, chúng tôi cần lấy một người viết từ đối tượng phản hồi bằng cách gọi phương thức getWriter () của giao diện httpservletResponse:getWriter() of the HttpServletResponse interface:

PrintWriter writer = response.getWriter();

Sau đó sử dụng phương thức in () hoặc println () để cung cấp phản hồi (dưới dạng mã HTML). Ví dụ:print() or println() method to deliver the response (in form of HTML code). For example:

String htmlRespone = "<html>"; htmlRespone += "<h2>Your username is: " + username + "</h2>"; htmlRespone += "</html>"; writer.println(htmlRespone);

Tại đây, mã hoàn chỉnh của lớp Servlet để xử lý mẫu đăng nhập:

package net.codejava.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/loginServlet") public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // read form fields String username = request.getParameter("username"); String password = request.getParameter("password"); System.out.println("username: " + username); System.out.println("password: " + password); // do some processing here... // get response writer PrintWriter writer = response.getWriter(); // build HTML code String htmlRespone = "<html>"; htmlRespone += "<h2>Your username is: " + username + "<br/>"; htmlRespone += "Your password is: " + password + "</h2>"; htmlRespone += "</html>"; // return response writer.println(htmlRespone); } }

Ở đây, một đầu ra ví dụ khi gửi biểu mẫu đăng nhập trên trong trình duyệt:

Cho đến nay, bạn đã có được các thông tin khi xử lý dữ liệu biểu mẫu HTML với Java Servlet. Để bạn tham khảo, chúng tôi cung cấp một danh sách các ví dụ để xử lý các trường biểu mẫu HTML phổ biến như dưới đây. Lưu ý rằng chúng tôi sử dụng câu lệnh System.out.println () trong servlet để giới thiệu đầu ra.System.out.println() statement in servlet to demo the output.

 

1. Đọc các giá trị của trường văn bản và trường mật khẩu

  • Mã HTML: PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");0
    PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");0
  • Hình ảnh trường:
  • Mã Java trong Servlet: PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");1
    PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");1
  • Output:
PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");2

2. Đọc giá trị của trường Hộp kiểm

  • Mã HTML: PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");3
    PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");3
  • Hình ảnh trường:
  • Mã Java trong Servlet: PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");1
    PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");4
  • Output:PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");5
 

2. Đọc giá trị của trường Hộp kiểm

  • Mã HTML: PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");3
    PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");6
  • Mã Java trong servlet: PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");4
  • 3. Đọc giá trị của trường Nút Radio
    PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");7
  • Output:
PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");8

Mã HTML: PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");6

  • Hình ảnh trường: & NBSP;
    PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");9
  • Mã Java trong servlet: PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");4
  • 3. Đọc giá trị của trường Nút Radio
    import java.applet.*; import java.awt.event.*; import java.awt.*; import netscape.javascript.*; public class JSjava extends Applet implements ActionListener { Button b1,b2; TextField tf; JSObject win; public void init(){ setLayout(new FlowLayout()); tf = new TextField(10); b1 = new Button("to FORM"); b2 = new Button("from FORM"); b1.addActionListener(this); b2.addActionListener(this); add(tf);add(b1);add(b2); } public void actionPerformed(ActionEvent ae) { if (ae.getSource() == b1) { // send TO FORM JSObject win = (JSObject)JSObject.getWindow(this); win.eval("setHTMLInputText('"+tf.getText()+"');"); } if (ae.getSource() == b2) { // receive FROM FORM JSObject win = (JSObject)JSObject.getWindow(this); tf.setText((String)win.eval("getHTMLInputText();")); } } }0
  • Output:
import java.applet.*; import java.awt.event.*; import java.awt.*; import netscape.javascript.*; public class JSjava extends Applet implements ActionListener { Button b1,b2; TextField tf; JSObject win; public void init(){ setLayout(new FlowLayout()); tf = new TextField(10); b1 = new Button("to FORM"); b2 = new Button("from FORM"); b1.addActionListener(this); b2.addActionListener(this); add(tf);add(b1);add(b2); } public void actionPerformed(ActionEvent ae) { if (ae.getSource() == b1) { // send TO FORM JSObject win = (JSObject)JSObject.getWindow(this); win.eval("setHTMLInputText('"+tf.getText()+"');"); } if (ae.getSource() == b2) { // receive FROM FORM JSObject win = (JSObject)JSObject.getWindow(this); tf.setText((String)win.eval("getHTMLInputText();")); } } }1


Mã HTML: PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");6

  • Hình ảnh trường: & NBSP;
    import java.applet.*; import java.awt.event.*; import java.awt.*; import netscape.javascript.*; public class JSjava extends Applet implements ActionListener { Button b1,b2; TextField tf; JSObject win; public void init(){ setLayout(new FlowLayout()); tf = new TextField(10); b1 = new Button("to FORM"); b2 = new Button("from FORM"); b1.addActionListener(this); b2.addActionListener(this); add(tf);add(b1);add(b2); } public void actionPerformed(ActionEvent ae) { if (ae.getSource() == b1) { // send TO FORM JSObject win = (JSObject)JSObject.getWindow(this); win.eval("setHTMLInputText('"+tf.getText()+"');"); } if (ae.getSource() == b2) { // receive FROM FORM JSObject win = (JSObject)JSObject.getWindow(this); tf.setText((String)win.eval("getHTMLInputText();")); } } }2
  • Mã Java trong servlet: PrivilegeManager.enablePrivilege("UniversalBrowserRead"); PrivilegeManager.enablePrivilege("UniversalBrowserWrite");4
  • 3. Đọc giá trị của trường Nút Radio
    import java.applet.*; import java.awt.event.*; import java.awt.*; import netscape.javascript.*; public class JSjava extends Applet implements ActionListener { Button b1,b2; TextField tf; JSObject win; public void init(){ setLayout(new FlowLayout()); tf = new TextField(10); b1 = new Button("to FORM"); b2 = new Button("from FORM"); b1.addActionListener(this); b2.addActionListener(this); add(tf);add(b1);add(b2); } public void actionPerformed(ActionEvent ae) { if (ae.getSource() == b1) { // send TO FORM JSObject win = (JSObject)JSObject.getWindow(this); win.eval("setHTMLInputText('"+tf.getText()+"');"); } if (ae.getSource() == b2) { // receive FROM FORM JSObject win = (JSObject)JSObject.getWindow(this); tf.setText((String)win.eval("getHTMLInputText();")); } } }3
  • Output:
import java.applet.*; import java.awt.event.*; import java.awt.*; import netscape.javascript.*; public class JSjava extends Applet implements ActionListener { Button b1,b2; TextField tf; JSObject win; public void init(){ setLayout(new FlowLayout()); tf = new TextField(10); b1 = new Button("to FORM"); b2 = new Button("from FORM"); b1.addActionListener(this); b2.addActionListener(this); add(tf);add(b1);add(b2); } public void actionPerformed(ActionEvent ae) { if (ae.getSource() == b1) { // send TO FORM JSObject win = (JSObject)JSObject.getWindow(this); win.eval("setHTMLInputText('"+tf.getText()+"');"); } if (ae.getSource() == b2) { // receive FROM FORM JSObject win = (JSObject)JSObject.getWindow(this); tf.setText((String)win.eval("getHTMLInputText();")); } } }4

6. Đọc dữ liệu của trường tải lên tệp

Để tạo biểu mẫu để tải lên tệp, chúng tôi cần chỉ định mã hóa cho thẻ như sau:enctypeattribute for the tag as follow:

import java.applet.*; import java.awt.event.*; import java.awt.*; import netscape.javascript.*; public class JSjava extends Applet implements ActionListener { Button b1,b2; TextField tf; JSObject win; public void init(){ setLayout(new FlowLayout()); tf = new TextField(10); b1 = new Button("to FORM"); b2 = new Button("from FORM"); b1.addActionListener(this); b2.addActionListener(this); add(tf);add(b1);add(b2); } public void actionPerformed(ActionEvent ae) { if (ae.getSource() == b1) { // send TO FORM JSObject win = (JSObject)JSObject.getWindow(this); win.eval("setHTMLInputText('"+tf.getText()+"');"); } if (ae.getSource() == b2) { // receive FROM FORM JSObject win = (JSObject)JSObject.getWindow(this); tf.setText((String)win.eval("getHTMLInputText();")); } } }5

Để xử lý tải lên tệp ở phía máy chủ với Java Servlet, chúng tôi đề xuất các hướng dẫn này:

    • Tải lên tệp servlet với tải lên tệp phổ biến Apache.
    • Cách viết tệp tải lên Servlet với API Servlet 3.0.

Đối với các ví dụ trong hướng dẫn này, bạn có thể tải xuống dự án dựa trên Eclipse cũng như tệp chiến tranh có thể triển khai trong phần đính kèm.

  

Hướng dẫn khác của Java Servlet:

 
  • Java servlet Khởi đầu nhanh cho người mới bắt đầu (XML)
  • Cách tạo và chạy Java Servlet cho người mới bắt đầu (chú thích)
  • Java Servlet và JSP Hello World Hướng dẫn với Eclipse, Maven và Apache Tomcat
  • Tệp Java tải xuống ví dụ servlet
  • Tải tệp lên servlet mà không cần sử dụng biểu mẫu HTML
  • Cách sử dụng cookie trong ứng dụng web Java
  • Cách sử dụng phiên trong ứng dụng Web Java


Thông tin về các Tác giả:

Nam Ha Minh được lập trình viên Java được chứng nhận (SCJP và SCWCD). Anh bắt đầu lập trình với Java vào thời Java 1.4 và đã yêu Java kể từ đó. Kết bạn với anh ấy trên Facebook và xem video Java của anh ấy là YouTube.

Thêm bình luận

Làm thế nào truyền dữ liệu từ HTML sang Java?

Java Servlet và JSP Hello World Hướng dẫn với Eclipse, Maven và Apache Tomcat
Hình ảnh trường:.
Mã Java trong servlet: chuỗi username = request.getParameter ("tên người dùng"); Chuỗi mật khẩu = request.getParameter ("mật khẩu"); ....
Output:.

Chúng ta có thể kết nối HTML với Java không?

Trong Java, chúng ta có thể trích xuất nội dung HTML và có thể phân tích tài liệu HTML.we can extract the HTML content and can parse the HTML Document.

Chủ đề