<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA—咖啡館

    ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經驗,分享JAVA帶來的快樂!本網站部分轉載文章,如果有版權問題請與我聯系。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

    我的試驗主要包括4種:
    1.回傳一個普通的String字符串.
    2.回傳一個組織好的Javascript字符串.
    3.回傳一個Json對象.(需要引入json.jar)
    4.回傳一個XML對象.
    基本實現如下:
    其中測試頁面為:

    <%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%request.setCharacterEncoding("UTF-8");%>
    <html>
    <head>
    <title>測試Ajax頁面</title>
    </head>
    <body>
    <table width="100%" height="100%" >
        
    <td align="center" valign="center" >
            
    <form action="" method="post" onsubmit="">
                
    <table border="3" >
                    
    <tr>
                        
    <td>
                            
    <input name="試驗返回String" type="button" value="試驗返回String" onclick="testAjaxForString();" style="width:140px;">
                        
    </td>
                    
    </tr>
                    
    <tr>
                        
    <td>
                            
    <input name="試驗返回javascriptString" type="button" value="試驗返回javascriptString" onclick="testAjaxForObject();" style="width:140px;">
                        
    </td>
                    
    </tr>
                    
    <tr>
                        
    <td>
                            
    <input name="試驗返回json" type="button" value="試驗返回json" onclick="testAjaxForJson();" style="width:140px;">
                        
    </td>
                    
    </tr>
                    
    <tr>
                        
    <td>
                            
    <input name="試驗返回xml" type="button" value="試驗返回xml" onclick="testAjaxForXml();" style="width:140px;">
                        
    </td>
                    
    </tr>
                
    </table>
            
    </form>
        
    </td>
    </table>
    </body>
    </html>

    <script type="text/javascript">
    var xmlHttp ;
    function createXmlHttpRequest(){
        
    if(window.ActiveXObject){
            xmlHttp 
    = new ActiveXObject("Microsoft.XMLHTTP") ;
        }
    else if(window.XMLHttpRequest){
            xmlHttp 
    = new XMLHttpRequest();
        }

    }

    /**//*返回String*/
    function testAjaxForString(){
        createXmlHttpRequest();
        
    var url = "HelloWorld?";
        
    var queryString = "name=songwei";
        url 
    += queryString ;
    //    xmlHttp.onreadystatechange = parseHello ;//如果是異步,既open中最后一個參數為true.則打開該選項.
        xmlHttp.open("post",url,false);
        xmlHttp.send(
    null);
        alert(xmlHttp.responseText); 
    //如果是字符串或者xml.
    }


    /**//*返回JsObject*/
    function testAjaxForObject(){
        createXmlHttpRequest();
        
    var url = "HelloWorldForObject?";
        
    var queryString = "name=songwei";
        url 
    += queryString ;
    //    xmlHttp.onreadystatechange = parseHello ;
        xmlHttp.open("post",url,false);
        xmlHttp.send(
    null);
        alert(xmlHttp.responseText);
        
    var o = eval(xmlHttp.responseText);
        alert(
    "username="+o.username);
        alert(
    "password="+o.password);
        
    var farray = o.friend ;
        
    var fname ="";
        
    for(var i=0;i<farray.length;i++){
            fname 
    += farray[i]+"    ";
        }

        alert(
    "friend list ="+fname);    
    }

    //返回Json
    function testAjaxForJson(){
        createXmlHttpRequest();
        
    var url = "HelloWorldForJson?";
        
    var queryString = "name=songwei";
        url 
    += queryString ;
        xmlHttp.open(
    "post",url,false);
        xmlHttp.send(
    null);
        alert(xmlHttp.responseText);
        
    var o = eval("(" + xmlHttp.responseText + ")");
        alert(o.userInfo.username);
        alert(o.userInfo.password);
        alert(o.userInfo.friends[
    0]);
        alert(o.userInfo.friends[
    1]);
    }


    //返回XML
    function testAjaxForXml(){
        createXmlHttpRequest();
        
    var url = "HelloWorldForXML?";
        
    var queryString = "name=songwei";
        url 
    += queryString ;
        xmlHttp.open(
    "post",url,false);
        xmlHttp.send(
    null);
        alert(xmlHttp.responseXML);
        alert (
    "tagName: " + xmlHttp.responseXML.documentElement.tagName);
        
    var xmlDoc = xmlHttp.responseXML ;
        
    var xmlRoot=xmlDoc.documentElement;
        
        
    var friendsItem=xmlRoot.getElementsByTagName("friends");
        alert(friendsItem[
    0].firstChild.firstChild.data);
        alert(friendsItem[
    0].firstChild.nextSibling.firstChild.data);
        
    var usernameItem = xmlRoot.getElementsByTagName("username");
        alert(usernameItem[
    0].firstChild.data);
        
    }



    </script>對于各種回傳方式的不同servlet實現:
    1.普通字符串 ,HelloWorld.java(Servlet)

    public class HelloWorld extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
        
    public HelloWorld() {
            
    super();
        }
           
        
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doPost(request,response);
        }
          
        
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            
    // TODO Auto-generated method stub
            String name = request.getParameter("name");
            String str 
    = "Hello "+name ;
            PrintWriter pw 
    = response.getWriter();
            pw.print(str);
            pw.close();
        }
                     
    }

    2.Javascript字符串Servlet實現

    HelloWorldForObject.java
     
    public class HelloWorldForObject extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
        
    public HelloWorldForObject() {
            
    super();
        }
           
        
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doPost(request,response);
        }
          
        
        
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String name 
    = request.getParameter("name");
            User user 
    = new User();
            user.setUsername(name);
            user.setPassword(
    "abc");
            List
    <String> friend = new ArrayList<String>();
            friend.add(
    "wangdong");
            friend.add(
    "zhaoyong");
            user.setFriend(friend);
            StringBuffer sb 
    = new StringBuffer();
            sb.append(
    "var o = new Object();");
            sb.append(
    "o.username ='"+user.getUsername()+"' ;");
            sb.append(
    "o.password ='"+user.getPassword()+"' ;");
            sb.append(
    "o.friend = new Array(");
            String tmp 
    = "" ;
            
    for(String s : user.getFriend()){
                
    if(tmp.trim().length()<1){
                    tmp 
    += "'"+s+"'" ;
                }
    else{
                    tmp 
    +="," ;
                    tmp 
    += "'"+s+"'" ;
                }

            }

            sb.append(tmp
    +") ;");
            sb.append(
    "o;");
            PrintWriter pw 
    = response.getWriter();
            pw.print(sb.toString());
            pw.close();
        }
                     
    }


    3.JSon對象實現

    HelloWorldForJson.java
     
    public class HelloWorldForJson extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
        
    public HelloWorldForJson() {
            
    super();
        }
           
        
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doPost(request,response);
        }
          
        
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
             response.setCharacterEncoding(
    "UTF-8");  
             response.setHeader(
    "Cache-Control","no-cache");  
             request.setCharacterEncoding(
    "UTF-8");          
            String result 
    = new String();
            String name 
    = request.getParameter("name");
            
    try{
                JSONObject jsonResult 
    = new JSONObject();
                jsonResult.put(
    "username",name);
                jsonResult.put(
    "password","password");
                JSONArray jsonFriends 
    = new JSONArray();
                jsonFriends.put(
    "張三");
                jsonFriends.put(
    "李四");
                jsonResult.put(
    "friends",jsonFriends);
                result 
    = new JSONObject().put("userInfo", jsonResult).toString();
            }
    catch(JSONException jex){
                jex.printStackTrace();
            }

            response.getWriter().print(result);
            response.getWriter().close();
        }
                     
    }


    4.XML對象實現
    HelloWorldForXML.java 

    public class HelloWorldForXML extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
        
    public HelloWorldForXML() {
            
    super();
        }
           
        
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doPost(request,response);
        }
          
        
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String name 
    = request.getParameter("name");
            Document doc 
    = null ;
            String docStr 
    ="" ;
            
    try{
                DocumentBuilderFactory dbf 
    =DocumentBuilderFactory.newInstance();
                DocumentBuilder db 
    = dbf.newDocumentBuilder();
                doc 
    = db.newDocument();
                Element root 
    = doc.createElement("userInfo");
                doc.appendChild(root);
                Element nameE 
    = doc.createElement("username");
                Text nameT 
    = doc.createTextNode(name);
                nameE.appendChild(nameT);
                root.appendChild(nameE);    
        
                Element passE 
    = doc.createElement("password");
                Text passT 
    = doc.createTextNode("password");
                passE.appendChild(passT);
                root.appendChild(passE);    
                
                Element friends 
    = doc.createElement("friends");
                
                Element friend1 
    = doc.createElement("friend");
                Text f1T 
    = doc.createTextNode("張三");
                friend1.appendChild(f1T);
                Element friend2 
    = doc.createElement("friend");
                Text f2T 
    = doc.createTextNode("李四");
                friend2.appendChild(f2T);
                
                friends.appendChild(friend1);
                friends.appendChild(friend2);
                root.appendChild(friends);
                
                ByteArrayOutputStream bstream 
    = null;
                
    try {
                    bstream 
    = new ByteArrayOutputStream();
                    Transformer xformer 
    = TransformerFactory.newInstance()
                            .newTransformer();
                    Source source 
    = new DOMSource(doc);
                    Result result 
    = new StreamResult(bstream);
                    xformer.transform(source, result);
                }
     catch (Exception e) {
                    e.printStackTrace();
                }
            
                
    try {
                    docStr 
    =  new String(bstream.toByteArray(), "UTF-8");
                }
     catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                    docStr 
    = new String(bstream.toByteArray());
                }

                System.out.println(docStr);
            
            }
    catch(ParserConfigurationException ex){
                ex.printStackTrace();
            }

            response.setContentType(
    "text/xml;charset=UTF-8"); 
            PrintWriter writer 
    = response.getWriter();
            writer.print(docStr); 
            writer.flush(); 
            writer.close();        
        }
     


    本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/anyoneking/archive/2008/05/23/2472145.aspx

    posted on 2010-07-11 19:06 rogerfan 閱讀(1555) 評論(0)  編輯  收藏 所屬分類: 【開源技術】【JS/HTML】【JSON學習】
    主站蜘蛛池模板: 国产一级做a爱免费视频| 亚洲av乱码中文一区二区三区| 免费在线观看理论片| 97在线视频免费播放| a级毛片免费观看在线| 亚洲精品无码永久在线观看男男 | 亚洲午夜一区二区三区| 亚洲爆乳无码专区| 亚洲天堂在线视频| 四虎免费永久在线播放| 韩国二级毛片免费播放| 无码乱肉视频免费大全合集| 另类免费视频一区二区在线观看| 一级毛片免费毛片毛片| 亚洲精品久久久久无码AV片软件| 亚洲一区电影在线观看| 亚洲成人黄色在线| 亚洲婷婷综合色高清在线| 亚洲一本综合久久| 亚洲国产精品无码久久一线| 亚洲一区视频在线播放| 免费h成人黄漫画嘿咻破解版| 日韩人妻无码免费视频一区二区三区 | 国产区卡一卡二卡三乱码免费| 2021免费日韩视频网| 永久在线免费观看| 曰批全过程免费视频播放网站| 无码国产精品一区二区免费式芒果 | 成人性生交大片免费看中文| sss在线观看免费高清| eeuss免费影院| 国产日韩久久免费影院| 精品久久久久久国产免费了 | 亚洲国产综合无码一区二区二三区| 四虎1515hm免费国产| 四虎免费影院4hu永久免费| 亚洲成av人片天堂网老年人| 亚洲国产日韩在线观频| 亚洲中文字幕无码爆乳av中文 | 中文无码成人免费视频在线观看| 国产偷伦视频免费观看|