<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學習】
    主站蜘蛛池模板: 亚洲视频中文字幕| 暖暖日本免费在线视频| 精品国产亚洲第一区二区三区| 亚洲另类激情综合偷自拍| 瑟瑟网站免费网站入口| 国产又黄又爽又猛免费app| 四虎成人精品永久免费AV| 一级免费黄色毛片| 国产亚洲精品国产福利在线观看| 亚洲国产韩国一区二区| 亚洲av无码一区二区乱子伦as| 亚洲一区精品伊人久久伊人| 成人爱做日本视频免费| 欧美好看的免费电影在线观看| 日韩内射激情视频在线播放免费| 中文字幕乱理片免费完整的| 美女啪啪网站又黄又免费| 亚洲va中文字幕| 亚洲国产精品无码第一区二区三区| 亚洲国产精品无码久久久| 无码人妻久久一区二区三区免费丨 | 国产在线19禁免费观看| 日本最新免费网站| 99视频免费播放| 国产精成人品日日拍夜夜免费| 成人国产精品免费视频| aaa毛片免费观看| 你是我的城池营垒免费看| 中文在线观看免费网站| 中文字幕不卡免费视频| 国产综合免费精品久久久| 国产一二三四区乱码免费| 中国性猛交xxxxx免费看| 中文字幕免费观看全部电影| aa在线免费观看| 午夜免费福利视频| 亚洲大片免费观看| 成人免费午夜在线观看| 啦啦啦手机完整免费高清观看| 国产男女性潮高清免费网站| 无码专区一va亚洲v专区在线|