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

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

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

    posts - 0,  comments - 17,  trackbacks - 0
    Ajax應用(jsp例子)

    --------------------------------------------------------------------------------

     

    首先是jsp頁面和腳本,為了方便寫在一個里面

    這是一個很常見的檢測用戶名是否存在的功能

    這里用的是struts

    <%@ page contentType="text/html; charset=GBK" %>
    <html>
    <head>
    <title>
    ajax
    </title>
    </head>
    <body bgcolor="#ffffff">
    <h1>
    <input name="username" type="text" maxlength="20" />
    <input id="chk-name-btn" type="button" value="檢測帳號" onclick="testName('<%=request.getContextPath()%>')" />
    <div id="view_name"></div>
    </h1>
    </body>
    </html>
    <script language="javascript">
      if (window.ActiveXObject && !window.XMLHttpRequest) {
          window.XMLHttpRequest=function() {
          return new ActiveXObject((navigator.userAgent.toLowerCase().indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP');
       };
      }//取得XMLHttpRequest對象

    function testName(path){

    //path是取得系統路徑
                    var view_name=document.getElementById("view_name");
          var req=new XMLHttpRequest();
          if (req) {
              req.onreadystatechange=function() {
               if (req.readyState==4 && req.status==200) {//判斷狀態,4是已發送,200已完成
                     if(req.responseText==0){
                     view_name.style.color='green';
                    view_name.innerHTML='該用戶名可以正常使用';
                     }else if(req.responseText==1){
                    view_name.style.color='red';
                       view_name.innerHTML='該用戶名已經被使用';
                           }else{
                         view_name.style.color='red';
                         view_name.innerHTML='該用戶名含有非法字符!';
                         }
                     }
             }
                            req.open('POST', path+'/ajax.do');//struts

                //req.open('POST', path+'/ajax.servlet');//servlet

                            //req.open('POST', path+'/ajax.action');//webwork


                              req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                              req.send("");//發送參數如果有參數req.send("username="+user_name);用request取得
          }
    }
    </script>

    這個jsp頁面并沒有取得用戶名,就是演示一下。還有<div>可以換span,具體作用問美工吧。

    接受ajax請求的action。

    import org.apache.struts.action.*;
    import javax.servlet.http.*;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.PrintWriter;

    /**
     * <p>Title:AjaxAction </p>
     */

    public class AjaxAction extends Action {
      public ActionForward execute(ActionMapping mapping,
                                   ActionForm form,
                                   HttpServletRequest request,
                                   HttpServletResponse response)
          throws Exception {
        PrintWriter out = response.getWriter();
        out.print(1);//ajax取得都是字符的輸出。如果數據量大的話,還可以用xml來發送和接受
        return null;
      }
    }

    struts-config.xml

        <action type="test.whw.upload.AjaxAction" validate="false" scope="request"  path="/ajax"/>
    ----------------------------

    如果是servlet

    web.xml

     <servlet>
      <servlet-name>AjaxServlet </servlet-name>
      <servlet-class>servlet.AjaxServlet </servlet-class>
     </servlet>
        <servlet-mapping>
            <servlet-name>AjaxServlet </servlet-name>
            <url-pattern>/AjaxServlet .servlet</url-pattern>
        </servlet-mapping>

    AjaxServlet.java

    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;



    public class AjaxServlet extends HttpServlet {
     Logger log = Logger.getLogger(this.getClass());
     public void doGet(HttpServletRequest request, HttpServletResponse response)
       throws ServletException,IOException {
      response.setContentType("text/xml; charset=GBK");
      PrintWriter out = response.getWriter();
        out.print(2);
       }
     }
     //Process the HTTP Post request
     public void doPost(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
      doGet(request, response);
     }

     //Process the HTTP Put request
     public void doPut(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
     }

     //Process the HTTP Delete request
     public void doDelete(HttpServletRequest request,
       HttpServletResponse response) throws ServletException, IOException {
     }

     //Clean up resources
     public void destroy() {
     }
    }

    -------------------------------------

    如果是webwork

    xwork.xml

       <action name="ajax" class="com.whw.upload.action.webwork.AjaxAction" method="ajax"/>


    AjaxAction.java

    import java.io.PrintWriter;

    public class AjexAlbumAction extends ActionSupport implements Action{

      public void ajax()throws IOException {
                 PrintWriter pw = ServletActionContext.getResponse().getWriter();
                ServletActionContext.getResponse().setContentType("text/html;charset=GBK");
                pw.print(1);
                pw.close();
      }


    }

    本例子在winXPsp2、JB9、Eclipse3,j2sdk1.4.1 、Tomcat5、Tomcat4.1都能運行
    posted on 2007-12-18 11:33 xyz 閱讀(493) 評論(0)  編輯  收藏 所屬分類: 他山之石

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    留言簿

    隨筆檔案(1)

    文章分類(44)

    文章檔案(46)

    收藏夾(1)

    Adobe

    AOP

    API

    appServer

    BI

    c

    • c-free
    • codeblocks
    • codelite
    • CodeLite IDE 是一個強大的開源,跨平臺的 C/C++整合開發環境. 支持包括 Windows、Linux 和 Mac 系統下運行
    • codelite官網
    • dev-c++
    • Dev-C++是一個C&C++開發工具,它是一款自由軟件,遵守GPL協議。
    • GCC
    • GCC 原名為 GNU C 語言編譯器(GNU C Compiler),因為它原本只能處理 C語言。GCC 很快地擴展,變得可處理 C++。之后也變得可處理 Fortran、Pascal、Objective-C、Java, 以及 Ada 與其他語言。

    Cache

    CMS

    DB

    eclipse

    FreeMarker

    hibernate

    html5

    ibatis

    java

    jquery

    js

    json

    Linux

    Log

    mail server

    mobile

    mysql

    oauth

    openID

    other

    PHP

    portal

    report

    Scheduler

    schema

    Security

    SOA

    spring

    struts

    UI原型設計

    w3c

    Wap

    webservice

    xml

    供應鏈管理

    博客鏈接

    好網站

    工作流

    開源網

    招聘

    插件下載

    操作系統

    構建可伸縮的系統

    構建工具

    測試

    • IETest
    • IE官網
    • OpenSTA
    • Siege
    • Siege是一個壓力測試和評測工具,設計用于WEB開發這評估應用在壓力下的承受能力

    游戲

    源碼托管

    經營

    資源

    金融/財務

    搜索

    •  

    最新評論

    主站蜘蛛池模板: 亚洲AV无码欧洲AV无码网站| 日本a级片免费看| 亚洲性天天干天天摸| 男女超爽刺激视频免费播放| 亚洲乱人伦中文字幕无码| 亚洲高清国产拍精品青青草原 | 亚洲精品二区国产综合野狼| 亚洲一区二区三区免费观看| 亚洲Aⅴ在线无码播放毛片一线天 亚洲avav天堂av在线网毛片 | 成人毛片18女人毛片免费 | 狼友av永久网站免费观看| 国产免费牲交视频免费播放| 亚洲ⅴ国产v天堂a无码二区| 永久在线毛片免费观看| a级毛片毛片免费观看永久| 亚洲人成网国产最新在线| 亚洲视频人成在线播放| 国产一卡2卡3卡4卡2021免费观看| 黄色免费在线网址| 亚洲精品不卡视频| 国产国拍亚洲精品福利| 我想看一级毛片免费的| 男女午夜24式免费视频| 色欲aⅴ亚洲情无码AV蜜桃| 亚洲AV无码码潮喷在线观看| 四虎影视精品永久免费网站| 无人在线直播免费观看| a在线观看免费网址大全| 亚洲精品国产首次亮相| 亚洲视频免费在线看| 亚洲精品制服丝袜四区| 免费一看一级毛片人| 国产精品视频永久免费播放| 久久国产精品一区免费下载| 一级做受视频免费是看美女 | a级黄色毛片免费播放视频| 黄色毛片免费在线观看| 亚洲日韩精品国产一区二区三区| 久久精品国产亚洲av麻豆小说| 国产亚洲精品免费视频播放| 四虎影视精品永久免费网站|