<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>CategoryServlet</servlet-name> <servlet-class>com.servlet.CategoryServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>SysInitServlet</servlet-name> <servlet-class>com.servlet.SysInitServlet</servlet-class> <init-param> <param-name>webapp-root</param-name> <param-value>/jsp</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>CategoryServlet</servlet-name> <url-pattern>/servlet/CategoryServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>SysInitServlet</servlet-name> <url-pattern>/servlet/SysInitServlet</url-pattern> </servlet-mapping> </web-app>
publicvoid init() throws ServletException ...{ // Put your code here String webapp_root =this.getInitParameter("webapp-root"); this.getServletContext().setAttribute("webapp-root", webapp_root); }
其中,doGet()与doPost()为空即可;
3.CategoryServlet.java中的主要代码如下:
publicvoid doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ...{ String responseStr =""; String htmlStr =""; String category = request.getParameter("category"); System.out.print(category); if((category !=null) && category.equals("achs"))...{ htmlStr =" <table width='200' border='1' cellpadding='0' cellspacing='0' bgcolor='#99FF33'> <tr><td>you selected the first.</td></tr><tr><td>an example for using ajax! </td></tr></table>"; }elseif((category !=null) && category.equals("orgs")) ...{ htmlStr ="how delighted to use the ajax!<br>You select <font color='#ff0000'>organizations!</font>"; }elseif((category !=null) && category.equals("exps")) ...{ htmlStr ="You have selected the Third!<br>You select <font color='#ff0000'>experts!</font>"; }else htmlStr =""; System.out.println(htmlStr); responseStr ="<?xml version="1.0" encoding="UTF-8"?><root><content><![CDATA[ "+htmlStr+" ]]></content></root>"; System.out.println(responseStr); response.setContentType("text/xml;charset=UTF-8"); PrintWriter writer = response.getWriter(); writer.print(responseStr); writer.flush(); writer.close(); }
4.testcommon.js中的代码如下:
function selectCategory(category, action)...{ // alert("You select: "+category); TestMap_Action_Category(category,action); } function TestMap_Action_Category(category, action)...{ var string ="category="+category; //alert(string); TestMap_Action_Post(action,string,TestMap_Action_Category_Response); } function TestMap_Action_Post(url,query,handler)...{ var status =false; var contentType ="application/x-www-form-urlencoded; charset=UTF-8"; // Native XMLHttpRequest object if (window.XMLHttpRequest) ...{ request =new XMLHttpRequest(); request.onreadystatechange = handler; request.open("post", url, true); request.setRequestHeader("Content-Type", contentType); request.send(query); status =true; // ActiveX XMLHttpRequest object }elseif (window.ActiveXObject) ...{ request =new ActiveXObject("Microsoft.XMLHTTP"); if (request) ...{ request.onreadystatechange = handler; request.open("post", url, true); request.setRequestHeader("Content-Type", contentType); request.send(query); status =true; } } return status; } function TestMap_Action_Category_Response()...{ if(request.readyState ==4) ...{ if(request.status ==200) ...{ var responseDom = request.responseXML.documentElement; var mapData = responseDom.getElementsByTagName('content')[0].firstChild.data; // it's better to add the sentence to test the HTML returned; // alert(mapData); document.getElementById('showMap').innerHTML = mapData; }else...{ alert('There was a problem the request'); } } }