Trang chủ > AJAX , Java HTTP Form> POST Yêu cầu sử dụng AJAX và Servlet

Hình thức HTTP POST Yêu cầu sử dụng AJAX và Servlet

Trong thế giới Java servlets được phổ biến sử dụng cho các Model View Controller (MVC) Thiết kế mẫu. Bài viết này sẽ hướng dẫn bạn về viết ứng dụng AJAX dựa trên dữ liệu sẽ đăng Servlet và sẽ lấy dữ liệu tính từ Servlet. Với cách tiếp cận các trang sẽ nhận được nội dung cập nhật từ máy chủ mà không cần làm mới các jsp / html trang.

JSP Mã số:

 "text/javascript" > function getXMLObject ( ) //XML OBJECT { var xmlHttp = false ; try { xmlHttp = new ActiveXObject ( "Msxml2.XMLHTTP" ) // For Old Microsoft Browsers } catch ( e ) { try { xmlHttp = new ActiveXObject ( "Microsoft.XMLHTTP" ) // For Microsoft IE 6.0+ } catch ( e2 ) { xmlHttp = false // No Browser accepts the XMLHTTP Object then false } } if ( ! xmlHttp && typeof XMLHttpRequest != 'undefined' ) { xmlHttp = new XMLHttpRequest ( ) ; //For Mozilla, Opera Browsers } return xmlHttp ; // Mandatory Statement returning the ajax object created } var xmlhttp = new getXMLObject ( ) ; //xmlhttp holds the ajax object function ajaxFunction ( ) { if ( xmlhttp ) { var txtname = document. getElementById ( "txtname" ) ; xmlhttp. open ( "POST" , "getname" , true ) ; //getname will be the servlet name xmlhttp. onreadystatechange = handleServerResponse ; xmlhttp. setRequestHeader ( 'Content-Type' , 'application/x-www-form-urlencoded' ) ; xmlhttp. send ( "txtname=" + txtname. value ) ; //Posting txtname to Servlet } } function handleServerResponse ( ) { if ( xmlhttp. readyState == 4 ) { if ( xmlhttp. status == 200 ) { document. myForm . message . innerHTML = xmlhttp. responseText ; //Update the HTML Form element } else { alert ( "Error during AJAX call. Please try again" ) ; } } } </ script > <body> <form name="myForm" method="POST" action="getname"> <table> <tr> <td>Enter Name</td> <td><input type="text" name="txtname" id="txtname" /></td> </tr> <tr> <td colspan="2"><input type="button" value="Submit"  onclick="ajaxFunction();" /></td> </tr> </table> <div id="message"></div> </form> </body> </head> </html> <html> <head> <title> JSP và Servlet bằng cách sử dụng AJAX </ title> gõ lệnh <= "text / javascript" getXMLObject chức năng> () / / XML VẬT (var xmlHttp = false; try (xmlHttp = new ActiveXObject (" Msxml2.XMLHTTP ") / / Đối với Old Microsoft trình duyệt) catch (e) (try (xmlHttp = new ActiveXObject (" Microsoft.XMLHTTP ") / / Đối với Microsoft IE 6.0 +) catch (e2) (xmlHttp = false / / Không Browser chấp nhận các đối tượng xmlHttp sau đó false)) if (tạo ra! xmlHttp & typeof XMLHttpRequest = '! undefined') (xmlHttp = new XMLHttpRequest (); / / Đối với Mozilla, Opera trở lại) Trình duyệt xmlHttp; / / bắt buộc Tuyên bố trả lại ajax đối tượng) var xmlHttp = new getXMLObject (); / / xmlHttp giữ đối tượng chức năng ajax ajaxFunction () (if (xmlHttp) (var txtname = văn bản (. getElementById "txtname"); xmlHttp. mở ("POST", "getname", đúng ); / / getname sẽ là xmlHttp tên servlet. onreadystatechange = handleServerResponse; xmlHttp (. setRequestHeader 'Content-Type', 'application / x-www-form-urlencoded'); xmlHttp. gửi ("txtname =" + txtname. giá trị); / / Đăng txtname để Servlet)) handleServerResponse chức năng () (nếu (xmlhttp. readyState == 4) (nếu (xmlhttp. tình trạng == 200) (tài liệu.. myForm tin nhắn. innerHTML = xmlHttp. responseText; / / Thông tin các phần tử HTML Form) else (alert ("Lỗi trong AJAX gọi. Xin vui lòng thử lại");))) </ script> <body> <form name="myForm" method="POST" action="getname"> <table> <tr> <td> Nhập <Tên / td> <td> <input type="text" name="txtname" id="txtname" /> </ td> </ tr> <tr> <td colspan = "2"> <input type="button" value="Submit" onclick="ajaxFunction();" /> </ td> </ tr> </ table> <div id="message"> </ div> </ form> </ body> </ head> </ html> 

Mã Servlet

  ; nhập khẩu java.io. *;

 ; nhập khẩu java.text .*;

 ; nhập khẩu java.util .*;

 ; nhập khẩu javax.servlet .*;

 ; nhập khẩu javax.servlet.http .*;

 HttpServlet { getname lớp công cộng kéo dài HttpServlet (

	 init ( ServletConfig config ) throws ServletException { void init công cộng (ServletConfig config) throws ServletException (	
		 ( config ) ; siêu (. init config);
	 )

	 destroy ( ) { void công tiêu diệt () (

	 )

	 doPost ( HttpServletRequest request,HttpServletResponse response ) throws IOException , ServletException { void doPost công cộng (yêu cầu HttpServletRequest, HttpServletResponse phản ứng) throws IOException, ServletException (
		 null ; String name = null,
		 response. getWriter ( ) ; PrintWriter out = phản ứng). GetWriter (;
		 request. getParameter ( "txtname" ) != null ) { if (request. getParameter ("txtname"))! = null (
			 ( "txtname" ) ; tên = yêu cầu (. getParameter "txtname");
		 )
                 else (
                        ; name = "";
                 )
  	         "You have successfully made Ajax Call:" + name ) ; out ". println (Bạn đã thành công trong thực hiện cuộc gọi Ajax:" tên +);
	 )
 ) 

Giải thích cho Mã AJAX

Ở đây tôi có tuyên bố 3 chức năng JavaScript:
getXMLObject () - Chịu trách nhiệm cho việc tạo các đối tượng AJAX phụ thuộc vào trình duyệt.
ajaxFunction () - Chịu trách nhiệm gọi servlet qua AJAX gọi.
handleServerResponse () - Chịu trách nhiệm hiển thị các dữ liệu lấy từ máy chủ.

Làm thế nào các AJAX Mã số tác phẩm:

  • Khi trang tải i sáng tạo ra một đối tượng AJAX bằng cách gọi getXMLObject () chức năng và trả lại đối tượng được tạo ra trong biến xmlHttp
  • Khi người dùng nhấp vào nút đầu vào, ajaxFunction () được gọi là có kiểm tra xem các đối tượng Ajax là tạo ra hay không và tùy thuộc vào kịch bản mà các cuộc gọi từ xa. Đây là một chức năng xử lý handleServerResponse cũng được xác định cho lấy giá trị từ máy chủ
  • Khi readystate của gọi AJAX đạt 4 và tình trạng http là 200 chúng tôi vượt qua các dữ liệu lấy từ máy chủ đến hộp văn bản

Email của bạn:

Giải thích cho Mã Servlet

  • Bởi chức năng được gọi là doPost mặc định khi bạn đăng nội dung servlet
  • Trong hàm doPost i am lấy dữ liệu POST trong các hình thức txtname và giao nó cho các tên biến địa phương
  • Cuối cùng tôi đang hiển thị các dữ liệu đã qua POST. Tất cả các dữ liệu hiển thị được thông qua để các đối tượng Ajax trong các hình thức phản ứng với Ajax cuộc gọi được thực hiện cho servlet

Tìm kiếm Tuỳ chỉnh


Phổ biến các điều:

Chia sẻ và thưởng thức:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • IndianPad
  • LinkedIn
  • Live
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Reddit
  • Add to favorites
  • PDF
  • Twitter
Tags: , Thể loại: AJAX , Java Tags: ,
  1. Ngày 8 tháng 4 năm 2008 tại 04:50 | # 1

    trang web tốt I "Stumbledupon" nó ngày hôm nay và cho nó một vấp ngã cho bạn .. mong muốn được nhìn thấy những gì khác mà bạn có .. sau này

  2. Riya
    Ngày 19 Tháng Hai 2009 lúc 03:54 | # 2

    mã không làm việc! u kiện code của mình ... các công trình sau khi đầu ra servlet trình không hiển thị trang vẫn như nó có giúp ..

  3. Riya
    Ngày 19 Tháng Hai 2009 lúc 03:55 | # 3

    tôi có được cùng một tên và kiểm tra code đúng ...

  4. Ahmed
    16 tháng 3 năm 2009 tại 11:05 | # 4

    hi đoạn code thực sự làm việc, nhưng workin của nó chỉ cho đăng một giá trị từ biểu mẫu, tôi có một hình thức mà nhiều bài viết giá trị từ một số lĩnh vực văn tám, mã này không phải là làm việc với những người không có đầu vào xin vui lòng đề nghị một giải pháp,
    và ive khẩn cấp của mình để sử dụng trong dự án sem cuối cùng của tôi,

    cảm ơn rất nhiều trước

  5. Tránh khỏi gió
    Ngày 25 tháng 11 năm 2009 tại 22:14 | # 5

    sử dụng
    "Document.getElementById (" message ") innerHTML =. Xmlhttp.responseText;"
    thay thế
    "Document.myForm.message.innerHTML = xmlhttp.responseText;"

  6. Vô danh
    Ngày 07 tháng 7 năm 2010 tại 05:15 | # 6

    Hi Hitesh

    Tôi mới vào ajax. Tôi có một vấn đề mà tôi cần một giải pháp bằng cách sử dụng ajax ..
    Trong ứng dụng của tôi ngay khi tôi đăng nhập nó đề cập đến một servelt trong đó có các Businesslogic và đầu ra là một file jsp hiển thị một bảng ... tôi cần phải cập nhật này jsp sau một khoảng thời gian nhất định mà không có bất kỳ hành động hoặc sự kiện. Nó có để có được những dữ liệu làm mới từ cơ sở dữ liệu
    Có thể bắt đầu cung cấp một số ví dụ

  1. Ngày 31 tháng 3 năm 2010 tại 18:29 | # 1