用AJAX的Get和Post調用Servlet的簡單樣本。

來源:互聯網
上載者:User
ajax|servlet|樣本

***************************************AJAX網頁代碼****************

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
<script language="javascript">
var xmlHttp;
function createXMLHttpRequest()
{
 if(window.ActiveXObject)
 {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
 else if(window.XMLHttpRequest)
 {
  xmlHttp=new XMLHttpRequest();
 }
}
function createQueryString()
{
 var firstName=document.getElementById("firstname").value;
 var middleName=document.getElementById("middleName").value;
 var birthday=document.getElementById("birthday").value;
 var queryString="firstName=" + firstName + "&middleName=" + middleName + "&birthday=" + birthday;
 return queryString;
}
function doRequestUsingGET()
{
 createXMLHttpRequest();
 var queryString="../GetAndPost?";
 queryString=queryString+createQueryString() + "&timeStamp=" + new Date().getTime();
 xmlHttp.onreadystatechange=handleStateChange;
 xmlHttp.open("GET",queryString,true);
 xmlHttp.send(null);
}
function doRequestUsingPost()
{
 createXMLHttpRequest();
 var url="../GetAndPost?timeStamp=" + new Date().getTime();
 var queryString=createQueryString();
 xmlHttp.open("POST",url,true);
 xmlHttp.onreadystatechange=handleStateChange;
 xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
 xmlHttp.send(queryString);
}
function handleStateChange()
{
 if(xmlHttp.readyState==4)
 {
  if(xmlHttp.status==200)
  {
   parseResults();
  }
 }
}
function parseResults()
{
 var responseDiv=document.getElementById("serverResponse");
 if(responseDiv.hasChildNodes())
 {
  responseDiv.removeChild(responseDiv.childNodes[0]);
 }
 var responseText=document.createTextNode(xmlHttp.responseText);
 responseDiv.appendChild(responseText);
}
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="#">
  <p><br />
    <br />
    <input name="firstName" type="text" id="firstName" />
</p>
  <p>
    <label>
    <input type="text" name="middleName" id="middleName"  />
    </label>
</p>
  <p>
    <input name="birthday" type="text" id="birthday" />
  </p>
  <p> </p>
  <p>
    <input type="button" name="Submit" value="GET"  />
                      
 <input type="button" name="Submit2" value="POST"  />
  </p>

  <div id="serverResponse"></div>
</form>

</body>
</html>

***********************************Servlet代碼*****************

package temp;

import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class GetAndPostExample extends HttpServlet{
  protected void processRequest(HttpServletRequest request,HttpServletResponse response,String method) throws ServletException,IOException
  {
    response.setContentType("text/xml");

    String firstName=request.getParameter("firstName");
    String middleName=request.getParameter("middleName");
    String birthday=request.getParameter("birthday");

    String responseText="hello:" + firstName + "-" + middleName + "。your birthday is " + birthday + "。" + "[method:" + method + "]";

    PrintWriter out=response.getWriter();
    out.println(responseText);

    out.close();
  }

  protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
  {
    processRequest(request,response,"GET");
  }

  protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
  {
    processRequest(request,response,"POST");
  }

}
**************************



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.