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

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

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

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

    #

    //ReceiveAction.java
    package com.abin.ajax.action;

    import javax.servlet.http.HttpServletResponse;

    import org.apache.struts2.ServletActionContext;

    import com.abin.ajax.bean.UserBean;
    import com.opensymphony.xwork2.ActionSupport;
    import com.opensymphony.xwork2.ModelDriven;

    public class ReceiveAction extends ActionSupport implements ModelDriven{
     private String result;
     private UserBean user;
     public Object getModel(){
      if(null==user){
       user=new UserBean();
      }
      return user;
     }
     public String receive(){
      HttpServletResponse response=ServletActionContext.getResponse();
      String username=user.getUsername();
      String password=user.getPassword();
      String company=user.getCompany();
      String work=user.getWork();
      String address=user.getAddress();
      
      try {
       if(username!=null){
        System.out.println("username="+username);
        result="1";
        response.getWriter().write("1");
        response.getWriter().flush();
        response.getWriter().close();
        return "json";
       }
      } catch (Exception e) {
       e.printStackTrace();
      }
      return null;
     }
     
     
     public UserBean getUser() {
      return user;
     }
     public void setUser(UserBean user) {
      this.user = user;
     }
     public String getResult() {
      return result;
     }
     public void setResult(String result) {
      this.result = result;
     }
     
    }



    //struts.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "   
    <struts>
     <package name="userAjax" extends="json-default" namespace="/" >
      <action name="receive" method="receive" class="com.abin.ajax.action.ReceiveAction">
       <result name="json" type="json"></result>
      </action>
     </package>


    </struts>






    //web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="
      <display-name>website</display-name>
     
      <filter>
            <filter-name>struts2</filter-name>
            <filter-class>
                org.apache.struts2.dispatcher.FilterDispatcher
            </filter-class>
        </filter>
     
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
     
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
    </web-app>





    //index.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
     pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>清風少年</title>
    <link href="css/page/html.css" type="text/css" rel="stylesheet"></link>
    </head>
    <style type="text/css">
    #nav li {
     display: inline;
     list-style-type: none;
     padding: 5px;
    }
    </style>
    <script type="text/javascript" src="js/first/public.js"></script>


    <body>
     <ul id="nav">
      <li><a href="
      <li><a href="#">博客</a></li>
      <li><a href="#">相冊</a></li>
      <li><a href="#">圈子</a></li>
      <li><a href="#">設置</a></li>
     </ul>
     <br/>
     <span id="txt" ></span>
     <br/>
     <div id="practise">
      用戶名:<br/>
      <input type="text" name="username" id="username"/><br/>
      密碼:<br/>
      <input type="text" name="password" id="password"/><br/>
      <hr/>
      公司:&nbsp;
      <select id="company" name="company">
       <option value="abin">abin</option>
       <option value="bing">bing</option>
      </select>
      <br/>
      <hr/>
      職業:<br/>
      農民:
      <input type="checkbox" name="work" id="work" checked  value="1"/>
      男人:
      <input type="checkbox" name="work" id="work"/><br/>
      詩人:
      <input type="checkbox" name="work" id="work"/>
      歌手:
      <input type="checkbox" name="work" id="work"/><br/>
      <hr/>
      家庭住址:<br/>
      中國:
      <input type="radio" name="address" id="address" checked  value="1"/>
      涼城:
      <input type="radio" name="address" id="address"/><br/>
      內蒙古:
      <input type="radio" name="address" id="address"/><br/>
      
      <input type="button"  value="提交" onclick="SendAndReturn()"/>
     </div>


    </body>
    </html>

     





    //public.js
    //創建Ajax請求
    function CreateXmlRequest(){
      var xmlHttp=false;
      if(window.XMLHttpRequest){
       xmlHttp=new XMLHttpRequest();
      }else if(window.ActiveXObject){
       try{
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
       }catch(e1){
        try {
         xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        } catch (failed) {
         xmlHttp=false;
        }
        
       }
      }
      return xmlHttp;
     }
     
    function SendAndReturn(){
     var username=document.getElementById("username").value;
     var password=document.getElementById("password").value;
     var company=document.getElementById("company").value;
     var work=document.getElementById("work").value;
     var address=document.getElementById("address").value;
     
     var request=CreateXmlRequest();
     if(!request){
      document.getElementById("txt").innerHTML="當前瀏覽器不支持";
     }else{
      document.getElementById("txt").innerHTML="創建xmlHttp成功";
      request.open("post","receive?username="+username+"&password="+password+"&company="+company+"&work="+work+"&address="+address,true);
      request.send();
      request.onreadystatechange=function(){
       if(request.readyState==4){
        if(request.status==200){
         var data=request.responseText;
         
         alert("data="+data);
         if(data=="1"){
          alert("username!=null");
         }
         document.getElementById("txt").innerHTML=request.responseText;
        }
       }
      }
     }
     
     
     
     
    }

    我要說的內容都是非常基礎的內容,老手就免看了,如果看了歡迎給點意見啊。新手或者對低層還不是很了解的人可以看看,幫助理解與記憶。

    XMLHttpRequest 對象是AJAX功能的核心,要開發AJAX程序必須從了解XMLHttpRequest 對象開始。

    了解XMLHttpRequest 對象就先從建立 XMLHttpRequest 對象開始,在不同的閱讀器中建立 XMLHttpRequest 對象運用不同的要領:

    先看看IE建立 XMLHttpRequest 對象的要領(要領 1):

    var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");  //運用較新版本的 IE 建立 IE 兼容的對象(Msxml2.XMLHTTP)
    var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); //運用較老版本的 IE 建立 IE 兼容的對象(Microsoft.XMLHTTP)
    而 Mozilla、Opera、Safari 和大部分非IE的閱讀器都運用下面這種要領(要領 2)建立 XMLHttpRequest 對象:

    var xmlhttp = new XMLHttpRequest();
    實際上Internet Exp lorer 運用了一個名為 XMLHttp 的對象,而不是 XMLHttpRequest 對象,而 Mozilla、Opera、Safari 和 大部分非 Microsoft 閱讀器都運用的是后者(下文統稱 XMLHttpRequest 對象)。IE7開始也開始運用 XMLHttpRequest 對象了。

    在建立 XMLHttpRequest 對象的時候如果不同的閱讀器運用了不正確的要領閱讀器都將會報錯,并且不能運用該對象。所以我們須要一種可以兼容不同閱讀器的建立 XMLHttpRequest 對象的要領:

    建立兼容多閱讀器的 XMLHttpRequest 對象要領
    var xmlhttp = false; //建立一個新變量 request 并賦值 false。運用 false 作為判斷條件,它表示還沒有建立 XMLHttpRequest 對象。
    function CreateXMLHttp(){
        try{
            xmlhttp = new XMLHttpRequest();  //嘗試建立 XMLHttpRequest 對象,除 IE 外的閱讀器都支持這個要領。
        }
        catch (e){
            try{
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");  //運用較新版本的 IE 建立 IE 兼容的對象(Msxml2.XMLHTTP)
        }
            catch (e){
                try{
                  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); //運用較老版本的 IE 建立 IE 兼容的對象(Microsoft.XMLHTTP)。
                }
                catch (failed){
                      xmlhttp = false;  //如果失敗則保證 request 的值仍然為 false。
                }
            }
        }
        return xmlhttp;
    }
    判斷能不能建立成功就很基本了

     

    if (!xmlhttp){
     //建立 XMLHttpRequest 對象失敗!
    }
    else{
     //建立成功!
    }
    建立好了XMLHttpRequest 對象我們再來看看這個對象的要領、屬性以及最主要的onreadystatechange事件句柄吧。

    要領:

    open() 說明:原始化 HTTP 請求參數,例如 URL 和 HTTP 要領,但是并不發送請求。
    abort() 說明:取消當前響應,關上連接并且結束任何未決的網絡活動。
    getAllResponseHeaders() 說明:把 HTTP 響應頭部作為未分析的字符串返回。
    getResponseHeader() 說明:返回指定的 HTTP 響應頭部的值。
    send() 說明:發送 HTTP 請求,運用傳遞給 open() 要領的參數,以及傳遞給該要領的可選請求體。
    setRequestHeader() 說明:向一個打開但未發送的請求配置或添加一個 HTTP 請求。
    屬性:

    readyState 說明:HTTP 請求的狀態。
    responseText 說明:目前為止為服務器接收到的響應體(不包括頭部),或者如果還沒有接收到數據的話,就是空字符串。

    responseXML 說明:對請求的響應,分析為 XML 并作為 Document 對象返回。
    status 說明:由服務器返回的 HTTP 狀態代碼。
    statusText 說明:這個屬性用名稱而不是數字指定了請求的 HTTP 的狀態代碼。
    onreadystatechange 是每次 readyState 屬性改動的時候調用的事件句柄函數。
    下面從發送請求并處理請求結果的流程來理解一下XMLHttpRequest 對象吧。

     

    發送請求之前自然就是生成一個XMLHttpRequest 對象,代碼上面有了就不多寫了。

    生成一個XMLHttpRequest 對象

    var xmlhttp = CreateXMLHttp();
    建立好XMLHttpRequest 對象了,那我們要送請求到哪個站點呢,就選擇博客園首頁的RSS吧。那如何配置我要請求的站點地址呢,運用 open()要領。
    open(method, url, async, username, password)
    該要領有5個參數,具體什么意思可以看這里:http://www.w3school.com.cn/xmldom/dom_http.asp
    我們用的就是這個了。

    xmlHttp.open("get",");
    get參數表示用get要領,第二個自然就是目標地址,博客園首頁,第三個就是表示能不能異步了,我們當然運用 true了。具體的參數說明還都可以到http://www.w3school.com.cn上面看了。
    好了,目標定好了,如何發送呢。用send()要領。
    send(body),send()要領只有一個參數,表示DOM對象,這個DOM對象須要說明的內容很多,下次說,今天我們只要寫

     

    xmlhttp.send(null);
    就可以了。好了,發送了,那如何處理返回的結果呢,這個時候就用到XMLHttpRequest 對象最主要的東西了,那就是onreadystatechange事件句柄。什么意思呢,那就須要說明一下XMLHttpRequest 對象的readyState了,readyState有5種狀態,分別用數字的 0 到 4 來表示。

    狀態      名稱            描述
    0      Uninitialized       原始化狀態。XMLHttpRequest 對象已建立(未調用open()之前)或已被 abort() 要領重置。
    1      Open           open() 要領已調用,但是 send() 要領未調用。請求還沒有被發送。

    2      Sent            Send() 要領已調用,HTTP 請求已發送到 Web 服務器。未接收到響應。
    3      Receiving      所有響應頭部都已經接收到。響應體開始接收但未完成。
    4      Loaded         HTTP 響應已經完全接收。

     

    但是須要留心的是,onreadystatechange事件句柄不同的閱讀器能處理的狀態并不一致,IE和FireFox能處理1到4,而Safari能處理2到4的狀態,Opera 能處理3、4兩中狀態。0的狀態基本沒什么用,因為建立了XMLHttpRequest 對象后都會馬上調用open() 要領,這時候狀態就變成1了,當然除非你要判斷對象能不能已經被 abort() 取消,可是這樣的情況依然很少。大部分情況下判斷是不是4(已經接受完成)這個狀態就夠了。
    好了,明白了readyState有5種狀態了,那處理返回結果就是看狀態變更到不同的狀態我們做不同的處理就可以了,如何告訴XMLHttpRequest 對象狀態變化時讓誰來處理這個變化呢。有兩種寫法,一種是用匿名要領,另一種是指定要領,其實只是不同的寫發,作用都一樣,看下代碼:

    xmlhttp.onReadyStateChange = function (){
     //處理狀態變化的代碼
    }
    //或者
    xmlhttp.onReadyStateChange = getResult;
    function getResult(){
     ///處理狀態變化的代碼
    }
    //順便說一下,句柄的名稱比較長,可以這樣記憶 on ReadyState Change 表示在讀取狀態改動時
    請求發送了,也指定處理要領了,如何獲取返回的內容呢,有responseText和responseXML兩個屬性可供運用,responseXML是返回對象,須要再分析,后面再說,這里先用responseText,看看返回什么。

    alert(xmlhttp.responseText); //看看是不是返回了首頁的HTML代碼啊。是你就成功了。
    整個流程是:建立 XMLHttpRequest 對象 -> 指定發送地址及發送要領 -> 發送請求 -> 指定處理要領并處理返回結果。但是須要留心,我們正常的思路理解是這樣的,可是onreadystatechange事件句柄指定處理要領須要在發送之前就指定好,否則不能處理狀態變化事件。

    所以我們應該按照下面的流程來記憶:建立 XMLHttpRequest 對象 -> 指定發送地址及發送要領 -> 指定狀態變化處理要領 -> 發送請求,請求發送后狀態變化了就會自動調用指定的處理要領。
    好了,看看完成的代碼吧。

     

    完成的代碼

      var xmlhttp = false; //建立一個新變量 request 并賦值 false。運用 false 作為判斷條件,它表示還沒有建立 XMLHttpRequest 對象。
        function CreateXMLHttp(){
            try{
                xmlhttp = new XMLHttpRequest();  //嘗試建立 XMLHttpRequest 對象,除 IE 外的閱讀器都支持這個要領。
            }
            catch (e){
                try{
                    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");  //運用較新版本的 IE 建立 IE 兼容的對象(Msxml2.XMLHTTP)
                }
                catch (e){
                    try{
                      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); //運用較老版本的 IE 建立 IE 兼容的對象(Microsoft.XMLHTTP)。
                    }
                    catch (failed){
                          xmlhttp = false;  //如果失敗則保證 request 的值仍然為 false。
                }
                }
            }
            return xmlhttp;
        }
        xmlhttp = CreateXMLHttp();
        xmlhttp.open("get",");
        xmlhttp.onReadyStateChange = getResult;
        xmlhttp.send(null);
        function getResult(){
            if(xmlhttp.readyState == 4){
                alert(xmlhttp.responseText);
            }
        }
    看似一切都OK了,可是有沒有想過,如果HTML代碼在網絡傳輸流程中出錯了,或者我們指定的地址失效會如何樣呢。這個時候就須要用到status屬性,即由服務器返回的 HTTP 狀態代碼。 xmlhttp.status 等于200時表示傳輸流程完整沒有不正確。具體的HTTP狀態代碼什么意思可以到W3C組織站點上看看,地址http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1
    把getResult()要領寫成下面這樣我覺的就真的OK了。

     

     function getResult(){
      if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
       alert(xmlhttp.responseText);
      }
     }
    好了,一個本來挺基本的東西,被我寫的這么多,好象很羅嗦。不過我覺的編程對基礎內容的理解很主要,現在很多時候開發AJAX的程序都運用很多JS的庫,不須要直接編寫這么基礎的代碼。如運用著名的jQuery,但是如果我們對基礎的東西有很好的理解,那這些庫報告不正確 ,或者出現疑問我們可以很好很快的知道錯在哪里,更快的做出改動使程序正常運行。

     

    posted @ 2011-12-21 23:22 abin 閱讀(323) | 評論 (0)編輯 收藏

    //UpdateAction.java



    package com.abin.hospital.action;

    import javax.servlet.http.HttpServletRequest;

    import org.apache.struts2.ServletActionContext;

    import com.abin.hospital.bean.UserBean;
    import com.abin.hospital.singleton.UpdateSingleton;
    import com.abin.hospital.singleton.UserSingleton;
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionSupport;

    public class UpdateAction extends ActionSupport{
    private static final UpdateSingleton updateSinglenton=UpdateSingleton.getInstance();
    private String result;

    public String update(){
      ActionContext context=ActionContext.getContext();
      HttpServletRequest request=(HttpServletRequest)context.get(ServletActionContext.HTTP_REQUEST);
      String username=request.getParameter("username");
      String password=request.getParameter("password");
      String password1=request.getParameter("password1");
      String password2=request.getParameter("password2");
      UserBean bean=null;
      try {
       bean=this.updateSinglenton.findUserByUserID(username);
      } catch (Exception e) {
       e.printStackTrace();
      }
     
      if(bean==null||bean.getUserid()==null){
       result="notexist";
       return "json";
      }
     
      if(bean.getUserid()!=null&&!bean.getPassword().equals(password)){
       result="failure";
       return "json";
      }
     
      if(bean.getUserid()!=null&&bean.getPassword().equals(password)){
       int end=0;
       try {
        end=this.updateSinglenton.updateUserByUserID(bean,password1);
       } catch (Exception e) {
        e.printStackTrace();
       }
       if(end==1){
        result="success";
        return "json";
       }else{
        result="updatefailure";
        return "json";
       }
      
      }
     
      return null;
    }

    public String getResult() {
      return result;
    }

    public void setResult(String result) {
      this.result = result;
    }
    }




    //struts-update.xml



    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
       
    <struts>
    <package name="userupdate" extends="json-default" namespace="/user" >

      <action name="update" method="update" class="com.abin.hospital.action.UpdateAction">
       <result name="json" type="json"></result>
      </action>

    </package>


    </struts>





    //update.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
      <title>Young ABIN</title>
      <meta http-equiv="pragma" content="no-cache">
      <meta http-equiv="cache-control" content="no-cache">
      <meta http-equiv="expires" content="0">
    </head>
    <script  type="text/javascript" src="../js/jquery-1.7.min.js"></script>
    <script  type="text/javascript">
    function Validate() {
      if($("#user").val()==""){
       alert("用戶名不能為空!");
       $("#user").focus();
       return false;
      }
      if($("#oldpass").val()==""){
       alert("舊密碼不能為空");
       $("#oldpass").focus();
       return false;
      }
      if($("#newpass1").val()==""){
       alert("新密碼不能為空");
       $("newpass1").focus();
       return false;
      }
      if($("#newpass2").val()==""){
       alert("新確認密碼不能為空");
       $("newpass2").focus();
       return false;
      }
      if($("#newpass1").val()!=$("#newpass2").val()){
       alert("兩次填寫的新密碼不一樣,請您重新填寫");
       $("newpass1").focus();
       return false();
      }
     
      var username=$("input[name='username']").val();
    //  alert("用戶名="+username);
      var password=$("input[name='password']").val();
    //  alert("password="+password);
      var password11=$("input[name='password11']").val();
    //  alert("password1="+password11);
      var password22=$("input[name='password22']").val();
      alert("password2="+password22);
     
      $.ajax({
       url : "../user/update.action",
       type : "post",
       data : ({username : username ,password : password,password1 : password11,password2 : password22}),
       success : function(data){
        if(data.result=="notexist"){
         alert("該用戶不存在,請您先注冊");
        }else if(data.result=="success"){
        // alert("修改密碼成功");
         document.write("修改密碼成功")
         document.write("<br/>");
         window.location.href="../login.jsp";
        }else if(data.result=="failure"){
         alert("舊密碼不正確");
        }else if(data.result=="updatefailure"){
         alert("用戶密碼修改失敗,請您重新修改");
        }
       }
      
      });
     
    }
    </script>
    <body >
       用戶名:
       <input id="user" name="username" type="text" />
       <br />
       舊密碼:
       <input id="oldpass" name="password" type="password" />
       <br />
       密碼:
       <input id="newpass1" name="password11" type="password" />
       <br />
       確認密碼:
       <input id="newpass2" name="password22" type="password" />
       <br />
       <input value="提交" type="submit" onClick="Validate()"/>
      
       <input value="重置" type="reset" />
       <br />

    </body>
    </html>

    posted @ 2011-12-21 23:22 abin 閱讀(3732) | 評論 (1)編輯 收藏

    package com.abin.mongo;
    import com.mongodb.DB;
    import com.mongodb.DBCollection;
    import com.mongodb.Mongo;
    public class DBClass {
    private static final String host="127.0.0.1";
    private static final int port=27017;
    private static final String username="abin";
    private static final String passwd="abin";
    private static final String dbase="abin";
    private static boolean auth=false;
    private static Mongo mg=null;
    public static DBCollection Connection(String collection){
    DB db=null;
    DBCollection col=null;
    try {
    mg=new Mongo(host,port);
    db=mg.getDB(dbase);
    auth=db.authenticate(username, passwd.toCharArray());
    if(auth==true){
    System.out.println("用戶授權通過");
    col=db.getCollection(collection);
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    return col;
    }
    public static void MongoClose(Mongo mg){
    if(mg!=null){
    mg.close();
    }
    }
    }




    package com.abin.mongo;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import org.junit.Before;
    import org.junit.Test;
    import com.mongodb.BasicDBObject;
    import com.mongodb.DBCollection;
    import com.mongodb.DBCursor;
    import com.mongodb.DBObject;
    public class Connection{
    DBCollection col=null;
    @Before
    public void setUp(){
    String coll="abing55";
    col=new DBClass().Connection(coll);
    }
    @Test
    public void add(){
    System.out.println("循環前:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").format(new Date()));
    for(int i=0;i<100000;i++){
    DBObject col1=new BasicDBObject();
    col1.put("name", "steven"+i);
    col1.put("age", 24+i);
    col1.put("sex", "男"+i);
    col.insert(col1);
    }
    System.out.println("循環后:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").format(new Date()));
    }
    @Test
    public void query(){
    System.out.println("循環前:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").format(new Date()));
    DBCursor cur=col.find();
    while(cur.hasNext()){
    System.out.println(cur.next());
    }
    System.out.println("循環后:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").format(new Date()));
    }
    }






    package com.abin.mongodb;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    import com.mongodb.BasicDBObject;
    import com.mongodb.DB;
    import com.mongodb.DBCollection;
    import com.mongodb.DBCursor;
    import com.mongodb.DBObject;
    import com.mongodb.Mongo;
    public class ConnectionMongoDB {
    private Mongo mg;
    private DB db;
    private DBCollection users;
    @Before
    public void init()throws Exception{
    try {
    mg=new Mongo("localhost",27017);
    } catch (Exception e) {
    e.printStackTrace();
    }
    db=mg.getDB("temp");
    users=db.getCollection("users");
    }
    @After
    public void destory(){
    if(mg!=null){
    mg.close();
    }
    db=null;
    users=null;
    }
    public void print(Object o){
    System.out.println(o);
    }
    public void queryAll(){
    print("查詢users表所有的數據");
    DBCursor cur=users.find();
    while(cur.hasNext()){
    print(cur.next());
    }
    }
    @Test
    public void add(){
    DBObject user=new BasicDBObject();
    user.put("name", "abin");
    user.put("age", 24);
    user.put("sex", "男");
    print(users.save(user).getN());
    queryAll();
    }
    }
    posted @ 2011-12-19 17:09 abin 閱讀(2641) | 評論 (0)編輯 收藏

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>js run</title>
    </head>
    <style type="text/css">
    .div1 {
    background-color: #555555;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: none;
    filter: Alpha(opacity =             30);
    }
    .div2 {
    width: 300px;
    height: 200px;
    position: absolute;
    z-index: 2;
    display: none;
    border: 3px inset blue;
    background-color: #9999CC;
    }
    </style>
    <script type="text/javascript">
    //顯示的方法,說明:前綴的div1、div2、body等,均為Id值 
    function show() {
    div1.style.display = "inline";
    //設置層1顯示 div1.style.width=body.clientWidth;
    //設置層1寬度等于body寬度,width=100%也可以,不過有一些誤差,所以最好用這個 
    div1.style.height = body.clientHeight;
    //設置層1高度滿屏 
    div2.style.display = "inline";
    //設置層2的顯示
    div2.style.top = body.clientHeight / 2 - div2.clientHeight / 2;
    //設置層2的距頂位置居中算法 
    div2.style.left = body.clientWidth / 2 - div2.clientWidth / 2;
    //設置層2的距左位置居中算法 
    }
    //關閉顯示 
    function closeShow() {
    div1.style.display = "none";
    div2.style.display = "none";
    }
    </script>
    <body bgcolor="#C0C0C0" id="body">
    <!--測試按鈕點擊觸發show()方法-->
    <input type="button" value="測試按鈕" onClick="show()" />
    <div id="div1" class="div1"></div>
    <!--這是要覆蓋網頁的層,不必寫任何東西-->
    <div id="div2" class="div2">
    <!--這是彈出的模式窗口層-->
    <!--嵌套在層中的層,用來做標題欄,按個人需求定義-->
    <div id="div3"
    style="width: 100%; height: 20px; background-color: #0099FF"
    align="right">
    <label onClick="closeShow()"
    style="font-weight: bolder; cursor: hand"> 關閉 <!--用來關閉顯示,在label中加了onclick事件,與鼠標懸停手的樣式-->
    </label>
    </div>
    <input type=text> </br> <input type=text>
    </div>
    </body>
    </html>
    posted @ 2011-12-19 16:42 abin 閱讀(514) | 評論 (0)編輯 收藏

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>js run</title>
    </head>
    <script type="text/javascript">
    function createForm(){
    var form1=document.createElement("form");
    document.body.appendChild(form1);
    form1.method="POST";
    alert(form1)
    return form1;
    }
    function createFormElement(from3,elementName,elementValue){
    var element=document.createElement("input");
    element.name=elementName;
    element.value=elementValue;
    from3.appendChild(element);
    return element;
    }
    function createFormSubmit(){
    var form5=createForm();
    createFormElement(form5,"username","abin");
    createFormElement(form5,"password","varyall");
    form5.action="success.jsp";
    form5.submit();
    }
    </script>
    <body>
    <input type="button" value="提交FORM" onclick="createFormSubmit()" />
    <br>
    下面就是要創建的輸入框
    <br>
    <div id="div1">
    </div>
    <br>
    333
    </body>
    </html>
    posted @ 2011-12-19 16:06 abin 閱讀(385) | 評論 (0)編輯 收藏

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>js run</title>
    </head>
    <script type="text/javascript">
    function createForm(){
    var div3=document.getElementById("div1");
    var a=document.createElement("p");
    a.innerHTML=" 段落內容";
    div3.appendChild(a);
    div3.insertBefore(a,"");
    }
    </script>
    <body>
    <input type="button" value="創建input" onclick="return createForm()" />
    <br>
    下面就是要創建的輸入框
    <br>
    <div id="div1">
    </div>
    <br>
    333
    </body>
    </html>
    posted @ 2011-12-19 14:52 abin 閱讀(363) | 評論 (0)編輯 收藏

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>js run</title>
    </head>
    <script type="text/javascript">
    function createForm(){
    var div3=document.getElementById("div1");
    var a=document.createElement("select");
    a.options[0]=new Option("one","");
    a.options[1]=new Option("two","");
    a.size="2";
    var Object=div3.appendChild(a);
    }
    </script>
    <body>
    <input type="button" value="創建input" onclick="createForm()" />
    <br>
    下面就是要創建的輸入框
    <br>
    <div id="div1">
    </div>
    <br>
    333
    </body>
    </html>
    posted @ 2011-12-19 14:19 abin 閱讀(266) | 評論 (0)編輯 收藏

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>js run</title>
    </head>
    <script type="text/javascript">
    function createForm(){
    var div3=document.getElementById("div1");
    var a=document.createElement("select");
    a.options[0]=new Option("one","");
    a.options[1]=new Option("two","");
    a.size="2";
    var Object=div3.appendChild(a);
    }
    </script>
    <body>
    <input type="button" value="創建input" onclick="createForm()" />
    <br>
    下面就是要創建的輸入框
    <br>
    <div id="div1">
    </div>
    <br>
    333
    </body>
    </html>
    posted @ 2011-12-19 14:19 abin 閱讀(337) | 評論 (0)編輯 收藏

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        <head>
            <title>js run</title>
        </head>
        <script type="text/javascript">
    function createForm(){
         var div3=document.getElementById("div1");
         var a=document.createElement("input");
         a.type="text";
         a.value="測試1";
         var c=document.createElement("br");
         var b=document.createElement("input");
         b.type="text";
         b.value="測試2";
         var Object=div3.appendChild(a);
         var Object=div3.appendChild(c);
         var Object=div3.appendChild(b);
    }
    </script>
        <body>
            <input type="button" value="創建input" onclick="createForm()" />
            <br>
            下面就是要創建的輸入框
            <br>
            <div id="div1">
                

            </div>
            <br>
            333
        </body>
    </html>
    posted @ 2011-12-19 14:09 abin 閱讀(298) | 評論 (0)編輯 收藏

    僅列出標題
    共50頁: First 上一頁 42 43 44 45 46 47 48 49 50 下一頁 
    主站蜘蛛池模板: 亚洲春色在线视频| 亚洲国产无线乱码在线观看 | 国产无遮挡裸体免费视频| 永久免费无码网站在线观看个| 国产∨亚洲V天堂无码久久久| 久久精品国产免费观看| 小说区亚洲自拍另类| 久久久久久亚洲精品| 韩国二级毛片免费播放| 全黄大全大色全免费大片| 亚洲综合一区二区三区四区五区| 亚洲最大av无码网址| 色窝窝免费一区二区三区| 久久国产精品免费一区| 一本色道久久综合亚洲精品蜜桃冫| 国产亚洲精久久久久久无码77777| 国产91免费在线观看| jizz免费在线观看| 亚洲色少妇熟女11p| 亚洲av无码不卡| 国产精品无码一区二区三区免费| 无码中文字幕av免费放dvd| 美女羞羞喷液视频免费| 亚洲偷自精品三十六区| 国产亚洲综合色就色| 国产三级电影免费观看| 在线看片韩国免费人成视频| 两个人看的www免费| 国产亚洲综合视频| 亚洲宅男精品一区在线观看| 亚洲AV无码久久精品成人| 免费人成网站在线高清| 成人黄动漫画免费网站视频 | 国产在线国偷精品产拍免费| 日韩精品在线免费观看| 无码人妻一区二区三区免费视频| 亚洲国产精品成人午夜在线观看| 久久狠狠高潮亚洲精品| 亚洲va无码专区国产乱码| 国产亚洲一区区二区在线| 亚洲av成人一区二区三区在线观看|