<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 閱讀(1556) 評論(0)  編輯  收藏 所屬分類: 【開源技術】【JS/HTML】【JSON學習】
    主站蜘蛛池模板: 成在人线av无码免费高潮喷水 | 久久久久久精品免费看SSS| 久久免费香蕉视频| 亚洲第一视频在线观看免费| 深夜福利在线视频免费| 免费精品久久久久久中文字幕 | 亚洲欧洲日本在线观看| 亚洲影视自拍揄拍愉拍| 国产 亚洲 中文在线 字幕| 亚洲第一街区偷拍街拍| 国产成人综合亚洲| xvideos永久免费入口| 国色精品va在线观看免费视频 | 国产精品永久免费10000| 91高清免费国产自产| 亚洲人成网站免费播放| 卡一卡二卡三在线入口免费| 免费看国产一级片| 久久精品国产亚洲Aⅴ蜜臀色欲| 亚洲色欲色欲www在线丝| 亚洲高清视频在线观看| 亚洲伊人久久大香线蕉啊| 亚洲精品9999久久久久无码| 国产精品亚洲а∨无码播放不卡 | 久久久精品免费国产四虎| 18禁男女爽爽爽午夜网站免费| 四虎1515hh永久久免费| 午夜小视频免费观看| 亚洲人成无码久久电影网站| 亚洲AV无码一区二区乱孑伦AS| 亚洲成a人片7777| 久久精品国产亚洲av天美18| 一个人看的免费高清视频日本| 青柠影视在线观看免费| 成年黄网站色大免费全看| 日本免费人成黄页在线观看视频| 国产亚洲午夜高清国产拍精品 | 亚洲?v无码国产在丝袜线观看| 亚洲日韩精品无码专区网址| 亚洲国产精品线观看不卡| 看免费毛片天天看|