千山鳥飛絕 萬徑人蹤滅
          勤練內(nèi)功,不斷實(shí)踐招數(shù)。爭取早日成為武林高手

          置頂隨筆

          在實(shí)現(xiàn)程序的修改模塊時(shí),要在頁面端檢查用戶是否修改過數(shù)據(jù),以便提醒用戶及時(shí)保存修改后的數(shù)據(jù)。
          實(shí)現(xiàn)要求:
            判斷用戶是否修改了輸入的內(nèi)容,要能判斷input中的checkbox,text,radio等,不知道會(huì)多少個(gè)input,也不知道input的ID和name,要在客戶端判斷是否修改,不能產(chǎn)

          生提交。還要同時(shí)滿足IE和firefox兩種環(huán)境。也要支持master和content頁的使用。
          解決方案;
            處理思路:在頁面加載時(shí)記錄所有的input的值或狀態(tài),如果要求在用戶進(jìn)行修改操作時(shí)立即調(diào)整控件狀態(tài),則在數(shù)據(jù)區(qū)div上的onclick和onkeypress事件里調(diào)用檢查數(shù)據(jù)

          是否改變的函數(shù),并設(shè)置相應(yīng)控件的狀態(tài)(用ha_setch())。如果是在提交或用戶手動(dòng)控制檢查過程時(shí),則在相應(yīng)的操作事件中調(diào)用檢查數(shù)據(jù)是否改變(例在button的onclick

          ()中使用ha_checkin()控制提交)。
             以下是實(shí)現(xiàn)代碼
          var ha_last=new Array;//定義一個(gè)全局的空對(duì)象,存放所有的初始值。
          function ha_get()//讀取初始值
          { var ha_input = document.getElementsByTagName("input");
          for (var i=0;i<ha_input.length;i++)
          {
          if (ha_input[i].type=="password"){ ha_last.push(ha_input[i].value);}//根本頁面需要設(shè)置type的值和對(duì)象屬性
          if (ha_input[i].type=="radio") {ha_last.push(ha_input[i].checked);}//要保證檢查的范圍是否準(zhǔn)確
          }
          }
          window.onload=ha_get;//綁定讀取初始值的函數(shù)
          function ha_checkin()//檢查新的輸入值和初始值是否相等。返回判斷結(jié)果。true為沒有發(fā)生修改,false為有修改。
          { var ha_now=new Array;
          var ha_input = document.getElementsByTagName("input");
          for (var i=0;i<ha_input.length;i++)
          {
          if (ha_input[i].type=="password"){ ha_now.push(ha_input[i].value);}//根本頁面需要設(shè)置type的值和對(duì)象屬性。
          if (ha_input[i].type=="radio") {ha_now.push(ha_input[i].checked);}//也要保證和ha_get()中檢查的標(biāo)簽相一致
          }
          if (ha_now.toString()==ha_last.toString())//沒修改
          {return true;}
          else//有修改
          {return false;}
          }
          function ha_setch(){//設(shè)置相應(yīng)的控件狀態(tài)
          if (ha_checkin())//沒有變化
             //改變控件的顯示和功能狀態(tài)
          else//有變化
             //改變控件的顯示和功能狀態(tài)
          }


          做了適當(dāng)?shù)男薷摹W詈笤赽utton里面onclick直接調(diào)用

           

               var ha_last=new Array;//定義一個(gè)全局的空對(duì)象,存放所有的初始值。
                      function ha_get()//讀取初始值
                      {
                          var ha_input = document.getElementsByTagName("input");
                          ha_last.push($("#select").val());//采用jquery獲取select 選擇的值
                          for (var i=0;i<ha_input.length;i++)
                          {
                              if (ha_input[i].type=="text"){ ha_last.push(ha_input[i].value);}//根本頁面需要設(shè)置type的值和對(duì)象屬性
                          }
                      }
                      window.onload=ha_get;//綁定讀取初始值的函數(shù)
                      function ha_checkin(action)//檢查新的輸入值和初始值是否相等。返回判斷結(jié)果。true為沒有發(fā)生修改,false為有修改。
                      {
                               if(action=="update"){
                              var ha_now=new Array;
                              var ha_input = document.getElementsByTagName("input");
                              ha_now.push($("#select").val());
                             
                              for (var i=0;i<ha_input.length;i++)
                              {
                                  if (ha_input[i].type=="text"){ ha_now.push(ha_input[i].value);}//根本頁面需要設(shè)置type的值和對(duì)象屬性。
                              }
                              if (ha_now.toString()==ha_last.toString())//沒修改
                              {
                                  alert("沒有修改");
                                  return false;
                              }
                              else//有修改
                              {
                                  //  return true;
                              }
                          }
                      }

           


           
                  

           

           

          posted @ 2009-11-23 17:36 笑口常開、財(cái)源滾滾來! 閱讀(563) | 評(píng)論 (0)編輯 收藏
           

          來自:http://www.javaeye.com/topic/304818

          jQuery 是我最喜歡的一個(gè)Javascript框架,下表中包含了240+可以為jQuery愛好者們使用的插件。我斷定一定還有下表沒有包括的,如果你還知道其他的好東西,歡迎與大家分享。

          文件上傳

          Ajax File Upload
          jQUploader
          Multiple File Upload plugin
          jQuery File Style
          Styling an input type file
          Progress Bar Plugin

          表單驗(yàn)證

          jQuery Validation
          Auto Help
          Simple jQuery form validation
          jQuery XAV - form validations
          jQuery AlphaNumeric
          Masked Input
          TypeWatch Plugin
          Text limiter for form fields
          Ajax Username Check with jQuery

          Form - Select Box stuff

          jQuery Combobox
          jQuery controlled dependent (or Cascadign) Select List
          Multiple Selects
          Select box manipulation
          Select Combo Plugin
          jQuery - LinkedSelect
          Auto-populate multiple select boxes
          Choose Plugin (Select Replacement)

          表單基本、輸入與、復(fù)選框等

          jQuery Form Plugin
          jQuery-Form
          jLook Nice Forms
          jNice
          Ping Plugin
          Toggle Form Text
          ToggleVal
          jQuery Field Plugin
          jQuery Form’n Field plugin
          jQuery Checkbox manipulation
          jTagging
          jQuery labelcheck
          Overlabel
          3 state radio buttons
          ShiftCheckbox jQuery Plugin
          Watermark Input
          jQuery Checkbox (checkboxes with imags)
          jQuery SpinButton Control
          jQuery Ajax Form Builder
          jQuery Focus Fields
          jQuery Time Entry

          時(shí)間,日期和顏色選取器

          jQuery UI Datepicker
          jQuery date picker plugin
          jQuery Time Picker
          Time Picker
          ClickPick
          TimePicker
          Farbtastic jQuery Color Picker Plugin
          Color Picker by intelliance.fr

          投票插件

          jQuery Star Rating Plugin
          jQuery Star Rater
          Content rater with asp.net, ajax and jQuery
          Half-Star Rating Plugin

          搜索插件

          Autocomplete Box
          jQuery Suggest
          jQuery Autocomplete
          jQuery Autocomplete Mod
          jQuery Autocomplete by AjaxDaddy
          jQuery Autocomplete Plugin with HTML formatting
          jQuery Autocompleter
          AutoCompleter (Tutorial with PHP&MySQL)
          quick Search jQuery Plugin

          編輯器

          jTagEditor
          WYMeditor
          jQuery jFrame
          Jeditable - edit in place plugin for jQuery
          jQuery editable
          jQuery Disable Text Select Plugin
          Edit in Place with Ajax using jQuery
          jQuery Plugin - Another In-Place Editor
          TableEditor
          tEditable - in place table editing for jQuery

          聲音,視頻,F(xiàn)lash, SVG等

          jMedia - accessible multi-media embedding
          JBEdit - Ajax online Video Editor
          jQuery MP3 Plugin
          jQuery Media Plugin
          jQuery Flash Plugin
          Embed QuickTime
          SVG Integration
          jQuery Multimedia Portfolio
          jQuery YouTube Plugin

          圖片

          ThickBox
          jQuery lightBox plugin
          jQuery FancyBox
          jQuery Multimedia Portfolio
          jQuery Image Strip
          jQuery slideViewer
          jQuery jqGalScroll 2.0
          jQuery - jqGalViewII
          jQuery - jqGalViewIII
          jQuery Photo Slider
          jQuery Thumbs - easily create thumbnails
          jQuery jQIR Image Replacement
          jCarousel Lite
          jQPanView
          jCarousel
          Interface Imagebox
          Image Gallery using jQuery, Interface & Reflactions
          simple jQuery Gallery
          jQuery Gallery Module
          EO Gallery
          jQuery ScrollShow
          jQuery Cycle Plugin
          jQuery Flickr
          jQuery Lazy Load Images Plugin
          Zoomi - Zoomable Thumbnails
          jQuery Crop - crop any image on the fly
          Image Reflection

          Google Map

          jQuery Plugin googlemaps
          jMaps jQuery Maps Framework
          jQmaps
          jQuery & Google Maps
          jQuery Maps Interface forr Google and Yahoo maps
          jQuery J Maps - by Tane Piper

          游戲

          Tetris with jQuery
          jQuery Chess
          Mad Libs Word Game
          jQuery Puzzle
          jQuery Solar System (not a game but awesome jQuery Stuff)
          jQuery Memory

          表格

          UI/Tablesorter
          jQuery ingrid
          jQuery Grid Plugin
          Table Filter - awesome!
          TableEditor
          jQuery Tree Tables
          Expandable “Detail” Table Rows
          Sortable Table ColdFusion Costum Tag with jQuery UI
          jQuery Bubble
          TableSorter
          Scrollable HTML Table
          jQuery column Manager Plugin
          jQuery tableHover Plugin
          jQuery columnHover Plugin
          jQuery Grid
          TableSorter plugin for jQuery
          tEditable - in place table editing for jQuery
          jQuery charToTable Plugin
          jQuery Grid Column Sizing
          jQuery Grid Row Sizing

          圖表

          Flot
          jQuery Wizard Plugin
          jQuery Chart Plugin
          Bar Chart
          Accessible Charts using Canvas and jQuery

          邊框,圓角,背景

          jQuery Corner
          jQuery Curvy Corner
          Nifty jQuery Corner
          Transparent Corners
          jQuery Corner Gallery
          Gradient Plugin

          文本和鏈接

          jQuery Spoiler plugin
          Text Highlighting
          Disable Text Select Plugin
          jQuery Newsticker
          Auto line-height Plugin
          Textgrad - a text gradient plugin
          LinkLook - a link thumbnail preview
          pager jQuery Plugin
          shortKeys jQuery Plugin
          jQuery Biggerlink
          jQuery Ajax Link Checker
          Chili jQuery code highlighter plugin
          jScroller

          鼠標(biāo)提示

          jQuery Plugin - Tooltip
          jTip - The jQuery Tool Tip
          clueTip
          BetterTip
          Flash Tooltips using jQuery
          ToolTip

          菜單,導(dǎo)航欄

          jQuery Tabs Plugin - awesome! [demo nested tabs ]
          another jQuery nested Tab Set example (based on jQuery Tabs Plugin)
          jQuery idTabs
          jdMenu - Hierarchical Menu Plugin for jQuery
          jQuery SuckerFish Style
          jQuery Plugin Treeview
          treeView Basic
          FastFind Menu
          Sliding Menu
          Lava Lamp jQuery Menu
          jQuery iconDock
          jVariations Control Panel
          ContextMenu plugin
          clickMenu
          CSS Dock Menu
          jQuery Pop-up Menu Tutorial
          Sliding Menu

          手風(fēng)琴,幻燈片等效果

          jQuery Plugin Accordion
          jQuery Accordion Plugin Horizontal Way
          haccordion - a simple horizontal accordion plugin for jQuery
          Horizontal Accordion by portalzine.de
          HoverAccordion
          Accordion Example from fmarcia.info
          jQuery Accordion Example
          jQuery Demo - Expandable Sidebar Menu
          Sliding Panels for jQuery
          jQuery ToggleElements
          Coda Slider
          jCarousel
          Accesible News Slider Plugin
          Showing and Hiding code Examples
          jQuery Easing Plugin
          jQuery Portlets
          AutoScroll
          Innerfade
          CodaSlider

          拖拽

          UI/Draggables
          EasyDrag jQuery Plugin
          jQuery Portlets
          jqDnR - drag, drop resize
          Drag Demos

          XML XSL JSON Feeds

          XSLT Plugin
          jQuery Ajax call and result XML parsing
          xmlObjectifier - Converts XML DOM to JSON
          jQuery XSL Transform
          jQuery Taconite - multiple Dom updates
          RSS/ATOM Feed Parser Plugin
          jQuery Google Feed Plugin

          瀏覽器

          Wresize - IE Resize event Fix Plugin
          jQuery ifixpng
          jQuery pngFix
          Link Scrubber - removes the dotted line onfocus from links
          jQuery Perciformes - the entire suckerfish familly under one roof
          Background Iframe
          QinIE - for proper display of Q tags in IE
          jQuery Accessibility Plugin
          jQuery MouseWheel Plugin

          對(duì)話框,確認(rèn)窗口

          jQuery Impromptu
          jQuery Confirm Plugin
          jqModal
          SimpleModal

          CSS

          jQuery Style Switcher
          JSS - Javascript StyleSheets
          jQuery Rule - creation/manipulation of CSS Rules
          jPrintArea

          DOM, Ajax 和其他插件

          FlyDOM
          jQuery Dimenion Plugin
          jQuery Loggin
          Metadata - extract metadata from classes, attributes, elements
          Super-tiny Client-Side Include Javascript jQuery Plugin
          Undo Made Easy with Ajax
          JHeartbeat - periodically poll the server
          Lazy Load Plugin
          Live Query
          jQuery Timers
          jQuery Share it - display social bookmarking icons
          jQuery serverCookieJar
          jQuery autoSave
          jQuery Puffer
          jQuery iFrame Plugin
          Cookie Plugin for jQuery
          jQuery Spy - awesome plugin
          Effect Delay Trick
          jQuick - a quick tag creator for jQuery
          Metaobjects

          elementReady

          posted @ 2009-11-15 15:21 笑口常開、財(cái)源滾滾來! 閱讀(449) | 評(píng)論 (0)編輯 收藏
           

          starterkit.html

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
          <title>jQuery Starterkit</title>

          <link rel="stylesheet" type="text/css" media="screen" href="style.css" />
          <script type="text/javascript" src="http://www.css88.com/jquery-1.3.2/jquery-1.3.2.min.js"></script>
          <script src="jquery.js" type="text/javascript"></script>
          <script src="custom.js" type="text/javascript"></script>
          <script src="jquery.tablesorter.js" type="text/javascript"></script>
          <script src="jquery-latest.js" type="text/javascript"></script>
          <script src="jquery.tablesorter.min.js" type="text/javascript"></script>
          <script src="jquery.metadata.js" type="text/javascript"></script>
          </head>
          <body>

          <!-- tablecode taken from tablesorter examples -->

          <table class="tablesorter " cellspacing=1>
          <thead>

           <tr>
            <th class="{sorter:'text'}">Email</th>
            <th>Id</th>
            <th>Phone</th>
            <th>Total</th>
            <th>Ip</th>

            <th class="{sorter:'procent'}">Url</th>
            <th>Time</th>
            <th>ISO Date</th>
            <th>UK Date</th>
           </tr>
          </thead> 
          <tbody>
           <tr>

            
           </tr>
            
           <tr>
            <td>henry@mountdev.net</td>

            <td>35889</td>
            <td>941-964-9543</td>
            <td>$2776.09</td>
            <td>119.232.182.142</td>
            <td>http://www.gmail.com</td>
            <td>3:54</td>

            <td>1974/1/19</td>
            <td>19/1/1974</td>
           </tr>
            
           <tr>
            <td>christian@reno.gov</td>
            <td>60021</td>

            <td>941-964-5617</td>

            <td>$2743.41</td>
            <td>167.209.64.181</td>
            <td>http://www.dotnet.ca</td>
            <td>10:58</td>
            <td>2000/3/25</td>

            <td>25/3/2000</td>

           </tr>
            
           <tr>
            <td>muffins@donuts.com</td>
            <td>17927</td>
            <td>941-964-9511</td>

            <td>$2998.18</td>
            <td>210.214.231.182</td>

            <td>http://google.se</td>
            <td>21:22</td>
            <td>1993/1/24</td>
            <td>24/1/1993</td>

           </tr>
            
           <tr>
            <td>muffins@reno.gov</td>

            <td>76375</td>
            <td>941-964-2757</td>
            <td>$1836.09</td>

            <td>220.222.93.171</td>
            <td>http://www.samba.org</td>
            <td>15:22</td>

            <td>1988/4/4</td>
            <td>4/4/1988</td>
           </tr>   
            <tr>
            <td>found@flexomat.com</td>

            <td>20953</td>
            <td>941-964-5544</td>
            <td>$575.42</td>
            <td>247.246.235.138</td>
            <td>http://gmail.com</td>
            <td>3:12</td>

            <td>1978/6/10</td>
            <td>10/6/1978</td>
           </tr>   

             
           <tr>
            <td>foo@reno.gov</td>
            <td>03603</td>
            <td>941-964-8942</td>

            <td>$1677.07</td>
            <td>176.96.162.192</td>

            <td>http://www.flexomat.com</td>
            <td>19:11</td>
            <td>1980/7/31</td>
            <td>31/7/1980</td>

           </tr>
            
           <tr>
            <td>found@flexomat.com</td>

            <td>84939</td>
            <td>941-964-7004</td>
            <td>$3916.83</td>

            <td>240.145.198.78</td>
            <td>http://www.fish.org</td>
            <td>1:29</td>

            <td>1980/8/26</td>
            <td>26/8/1980</td>
           </tr>
           
           <tr>
            <td>muffins@reno.gov</td>
            <td>95926</td>
            <td>941-964-147</td>

            <td>$3897.91</td>
            <td>105.85.121.209</td>

            <td>http://www.flexomat.com</td>
            <td>9:50</td>
            <td>2003/4/1</td>
            <td>1/4/2003</td>

           </tr>
             
              </tbody>
          </table>

           

          </body>
          </html>


          custom.js


          jQuery(document).ready(function() {
           $.tablesorter.defaults.widgets=['zebra'];
           $.tablesorter.defaults.sortList=[[0,0]];
           $("table").tablesorter();
          });

          posted @ 2009-10-10 17:07 笑口常開、財(cái)源滾滾來! 閱讀(824) | 評(píng)論 (0)編輯 收藏
           
          starterkit.html

          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
          <title>jQuery Starterkit</title>

          <link rel="stylesheet" type="text/css" media="screen" href="screen.css" />
          <script type="text/javascript" src="http://www.css88.com/jquery-1.3.2/jquery-1.3.2.min.js"></script>
          <script src="jquery.js" type="text/javascript"></script>
          <script src="custom.js" type="text/javascript"></script>
          <script src="jquery.tablesorter.js" type="text/javascript"></script>
          <script src="jquery-latest.js" type="text/javascript"></script>
          <script src="jquery.tablesorter.min.js" type="text/javascript"></script>
          <script src="jquery.metadata.js" type="text/javascript"></script>
          </head>


          <body>

          <table id="large" cellspacing="0">
          <thead>

           <tr>
            <th>Email</th>
            <th>Id</th>
            <th>Phone</th>
            <th>Total</th>
            <th>Ip</th>

            <th>Url</th>
            <th>Time</th>
            <th>ISO Date</th>
            <th>UK Date</th>
           </tr>
          </thead> 
          <tbody>
           <tr>

            <td>devo@flexomat.com</td>
            <td>66672</td>
            <td>941-964-8535</td>
            <td>$2482.79</td>
            <td>172.78.200.124</td>

            <td>http://gmail.com</td>

            <td>15:10</td>
            <td>1988/12/14</td>
            <td>14/12/1988</td>
           </tr>
            
           <tr>
            <td>henry@mountdev.net</td>

            <td>35889</td>
            <td>941-964-9543</td>
            <td>$2776.09</td>
            <td>119.232.182.142</td>
            <td>http://www.gmail.com</td>
            <td>3:54</td>

            <td>1974/1/19</td>
            <td>19/1/1974</td>
           </tr>
            
           <tr>
            <td>christian@reno.gov</td>
            <td>60021</td>

            <td>941-964-5617</td>

            <td>$2743.41</td>
            <td>167.209.64.181</td>
            <td>http://www.dotnet.ca</td>
            <td>10:58</td>
            <td>2000/3/25</td>

            <td>25/3/2000</td>

           </tr>
            
           <tr>
            <td>muffins@donuts.com</td>
            <td>17927</td>
            <td>941-964-9511</td>

            <td>$2998.18</td>
            <td>210.214.231.182</td>

            <td>http://google.se</td>
            <td>21:22</td>
            <td>1993/1/24</td>
            <td>24/1/1993</td>

           </tr>
            
           <tr>
            <td>muffins@reno.gov</td>

            <td>76375</td>
            <td>941-964-2757</td>
            <td>$1836.09</td>

            <td>220.222.93.171</td>
            <td>http://www.samba.org</td>
            <td>15:22</td>

            <td>1988/4/4</td>
            <td>4/4/1988</td>
           </tr>

            
           <tr>
            <td>mendez@gmail.com</td>
            <td>45834</td>
            <td>941-964-2575</td>

            <td>$2805.46</td>
            <td>228.170.245.253</td>

            <td>http://flexomat.com</td>
            <td>11:31</td>
            <td>1975/12/12</td>
            <td>12/12/1975</td>

           </tr>
            
           <tr>

            <td>dev@gmail.com</td>
            <td>20022</td>
            <td>941-964-4967</td>
            <td>$3296.54</td>
            <td>175.248.70.240</td>

            <td>http://www.flexomat.com</td>

            <td>4:27</td>
            <td>2002/7/3</td>
            <td>3/7/2002</td>
           </tr>
            
           <tr>
            <td>foo@polyester.se</td>

            <td>55977</td>
            <td>941-964-745</td>
            <td>$2953.73</td>
            <td>222.114.227.156</td>
            <td>http://www.donuts.com</td>
            <td>23:49</td>

            <td>1977/8/4</td>
            <td>4/8/1977</td>
           </tr>
            
           <tr>
            <td>adam@aftonbladet.se</td>
            <td>38867</td>

            <td>941-964-6302</td>

            <td>$1949.27</td>
            <td>116.241.143.196</td>
            <td>http://flexomat.com</td>
            <td>23:35</td>
            <td>1995/7/27</td>

            <td>27/7/1995</td>

           </tr>
            
           <tr>
            <td>devo@donuts.com</td>
            <td>51426</td>
            <td>941-964-1234</td>

            <td>$1067.00</td>
            <td>88.96.149.82</td>

            <td>http://www.polyester.se</td>
            <td>15:17</td>
            <td>1986/1/5</td>
            <td>5/1/1986</td>

           </tr>
            
           <tr>
            <td>henry@samba.org</td>

            <td>40859</td>
            <td>941-964-4856</td>
            <td>$3401.19</td>

            <td>68.152.250.74</td>
            <td>http://www.flexomat.com</td>
            <td>4:36</td>

            <td>1990/3/7</td>
            <td>7/3/1990</td>
           </tr>

            
           <tr>
            <td>found@dotnet.ca</td>
            <td>23986</td>
            <td>941-964-2686</td>

            <td>$1393.52</td>
            <td>98.102.181.138</td>

            <td>http://lostnfound.org</td>
            <td>5:51</td>
            <td>1993/7/22</td>
            <td>22/7/1993</td>

           </tr>
            
           <tr>

            <td>carl@fish.org</td>
            <td>73392</td>
            <td>941-964-5792</td>
            <td>$3876.04</td>
            <td>246.234.182.243</td>

            <td>http://www.google.se</td>

            <td>6:52</td>
            <td>1984/7/14</td>
            <td>14/7/1984</td>
           </tr>
            
           <tr>
            <td>found@mountdev.net</td>

            <td>03519</td>
            <td>941-964-1599</td>
            <td>$1176.48</td>
            <td>104.212.122.177</td>
            <td>http://donuts.com</td>
            <td>18:52</td>

            <td>2000/8/6</td>
            <td>6/8/2000</td>
           </tr>
            
           <tr>
            <td>lost@fish.org</td>
            <td>36628</td>

            <td>941-964-5975</td>

            <td>$822.23</td>
            <td>153.63.68.208</td>
            <td>http://www.gmail.com</td>
            <td>7:53</td>
            <td>1994/7/14</td>

            <td>14/7/1994</td>

           </tr>
            
           <tr>
            <td>mendez@dotnet.ca</td>
            <td>90442</td>
            <td>941-964-1649</td>

            <td>$1975.72</td>
            <td>128.161.95.170</td>

            <td>http://reno.gov</td>
            <td>8:35</td>
            <td>1997/10/20</td>
            <td>20/10/1997</td>

           </tr>
            
           <tr>
            <td>carl@donuts.com</td>

            <td>00412</td>
            <td>941-964-6432</td>
            <td>$1834.77</td>

            <td>141.231.126.192</td>
            <td>http://gmail.com</td>
            <td>16:15</td>

            <td>1997/8/23</td>
            <td>23/8/1997</td>
           </tr>

            
           <tr>
            <td>foo@fish.org</td>
            <td>80653</td>
            <td>941-964-1022</td>

            <td>$260.26</td>
            <td>98.102.97.81</td>

            <td>http://samba.org</td>
            <td>8:27</td>
            <td>1991/11/24</td>
            <td>24/11/1991</td>

           </tr>
            
           <tr>

            <td>found@fish.org</td>
            <td>54635</td>
            <td>941-964-6439</td>
            <td>$1442.80</td>
            <td>108.133.231.154</td>

            <td>http://dotnet.ca</td>

            <td>6:47</td>
            <td>1977/7/12</td>
            <td>12/7/1977</td>
           </tr>
            
           <tr>
            <td>found@flexomat.com</td>

            <td>20953</td>
            <td>941-964-5544</td>
            <td>$575.42</td>
            <td>247.246.235.138</td>
            <td>http://gmail.com</td>
            <td>3:12</td>

            <td>1978/6/10</td>
            <td>10/6/1978</td>
           </tr>
            
           <tr>
            <td>lost@aftonbladet.se</td>
            <td>60810</td>

            <td>941-964-8406</td>

            <td>$1054.39</td>
            <td>130.80.125.154</td>
            <td>http://www.samba.org</td>
            <td>15:50</td>
            <td>1978/5/18</td>

            <td>18/5/1978</td>

           </tr>
            
           <tr>
            <td>carl@reno.gov</td>
            <td>22666</td>
            <td>941-964-104</td>

            <td>$373.59</td>
            <td>185.150.127.115</td>

            <td>http://www.lostnfound.org</td>
            <td>10:11</td>
            <td>1971/11/5</td>
            <td>5/11/1971</td>

           </tr>
            
           <tr>
            <td>carl@donuts.com</td>

            <td>82867</td>
            <td>941-964-1031</td>
            <td>$631.03</td>

            <td>62.244.222.152</td>
            <td>http://www.reno.gov</td>
            <td>11:24</td>

            <td>1985/1/22</td>
            <td>22/1/1985</td>
           </tr>

            
           <tr>
            <td>foo@donuts.com</td>
            <td>11268</td>
            <td>941-964-208</td>

            <td>$3730.64</td>
            <td>234.192.138.252</td>

            <td>http://aftonbladet.se</td>
            <td>22:45</td>
            <td>1979/8/4</td>
            <td>4/8/1979</td>

           </tr>
            
           <tr>

            <td>devo@google.se</td>
            <td>17059</td>
            <td>941-964-2903</td>
            <td>$1404.67</td>
            <td>73.189.246.202</td>

            <td>http://www.gmail.com</td>

            <td>22:28</td>
            <td>1983/4/28</td>
            <td>28/4/1983</td>
           </tr>
            
           <tr>
            <td>muffins@flexomat.com</td>

            <td>90584</td>
            <td>941-964-4640</td>
            <td>$3706.01</td>
            <td>243.162.73.115</td>
            <td>http://www.fish.org</td>
            <td>11:12</td>

            <td>1997/4/8</td>
            <td>8/4/1997</td>
           </tr>
            
           <tr>
            <td>foo@samba.org</td>
            <td>82966</td>

            <td>941-964-7245</td>

            <td>$1001.38</td>
            <td>255.182.148.252</td>
            <td>http://www.reno.gov</td>
            <td>8:42</td>
            <td>1995/11/1</td>

            <td>1/11/1995</td>

           </tr>
            
           <tr>
            <td>foo@reno.gov</td>
            <td>03603</td>
            <td>941-964-8942</td>

            <td>$1677.07</td>
            <td>176.96.162.192</td>

            <td>http://www.flexomat.com</td>
            <td>19:11</td>
            <td>1980/7/31</td>
            <td>31/7/1980</td>

           </tr>
            
           <tr>
            <td>found@flexomat.com</td>

            <td>84939</td>
            <td>941-964-7004</td>
            <td>$3916.83</td>

            <td>240.145.198.78</td>
            <td>http://www.fish.org</td>
            <td>1:29</td>

            <td>1980/8/26</td>
            <td>26/8/1980</td>
           </tr>

            
           <tr>
            <td>henry@lostnfound.org</td>
            <td>76453</td>
            <td>941-964-3084</td>

            <td>$3875.88</td>
            <td>235.225.168.168</td>

            <td>http://www.fish.org</td>
            <td>15:31</td>
            <td>2000/10/22</td>
            <td>22/10/2000</td>

           </tr>
            
           <tr>

            <td>sam@aftonbladet.se</td>
            <td>36274</td>
            <td>941-964-7784</td>
            <td>$73.43</td>
            <td>114.190.194.148</td>

            <td>http://www.dn.se</td>

            <td>18:24</td>
            <td>1994/11/11</td>
            <td>11/11/1994</td>
           </tr>
            
           <tr>
            <td>dev@polyester.se</td>

            <td>15971</td>
            <td>941-964-7527</td>
            <td>$1855.18</td>
            <td>179.121.143.189</td>
            <td>http://www.flexomat.com</td>
            <td>10:25</td>

            <td>1984/8/16</td>
            <td>16/8/1984</td>
           </tr>
            
           <tr>
            <td>devo@fish.org</td>
            <td>31734</td>

            <td>941-964-9760</td>

            <td>$3201.35</td>
            <td>213.186.220.205</td>
            <td>http://www.samba.org</td>
            <td>19:37</td>
            <td>1979/3/4</td>

            <td>4/3/1979</td>

           </tr>
            
           <tr>
            <td>devo@reno.gov</td>
            <td>52074</td>
            <td>941-964-2068</td>

            <td>$3035.24</td>
            <td>189.62.225.163</td>

            <td>http://www.dn.se</td>
            <td>21:18</td>
            <td>1998/2/24</td>
            <td>24/2/1998</td>

           </tr>
            
           <tr>
            <td>mendez@fish.org</td>

            <td>87800</td>
            <td>941-964-7933</td>
            <td>$618.59</td>

            <td>254.119.153.91</td>
            <td>http://www.dn.se</td>
            <td>22:34</td>

            <td>1979/5/28</td>
            <td>28/5/1979</td>
           </tr>

            
           <tr>
            <td>muffins@reno.gov</td>
            <td>95926</td>
            <td>941-964-147</td>

            <td>$3897.91</td>
            <td>105.85.121.209</td>

            <td>http://www.flexomat.com</td>
            <td>9:50</td>
            <td>2003/4/1</td>
            <td>1/4/2003</td>

           </tr>
            
           <tr>

            <td>carl@donuts.com</td>
            <td>74513</td>
            <td>941-964-4507</td>
            <td>$2150.68</td>
            <td>106.175.123.125</td>

            <td>http://www.fish.org</td>

            <td>21:42</td>
            <td>1977/4/8</td>
            <td>8/4/1977</td>
           </tr>
            
           <tr>
            <td>sam@fish.org</td>

            <td>82420</td>
            <td>941-964-2134</td>
            <td>$3947.54</td>
            <td>129.78.102.122</td>
            <td>http://mountdev.net</td>
            <td>11:33</td>

            <td>1990/11/26</td>
            <td>26/11/1990</td>
           </tr>
            
           <tr>
            <td>devo@mountdev.net</td>
            <td>81905</td>

            <td>941-964-3535</td>

            <td>$722.17</td>
            <td>229.101.84.111</td>
            <td>http://fish.org</td>
            <td>7:29</td>
            <td>1975/12/28</td>

            <td>28/12/1975</td>

           </tr>
            
           <tr>
            <td>john@lostnfound.org</td>
            <td>93124</td>
            <td>941-964-1508</td>

            <td>$394.82</td>
            <td>61.184.235.77</td>

            <td>http://www.mountdev.net</td>
            <td>14:38</td>
            <td>1979/12/10</td>
            <td>10/12/1979</td>

           </tr>
             </tbody>
          </table>


          </body>


          custom.js

          jQuery(document).ready(function() {
            $("#large").tablesorter( {sortList: [[0,0], [1,0]]} );
          });


          posted @ 2009-10-10 16:02 笑口常開、財(cái)源滾滾來! 閱讀(2032) | 評(píng)論 (0)編輯 收藏
           
          1.在當(dāng)前類路徑下新建一個(gè)properties文件;
          編寫DBconfig.properties

          driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
          url=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=school   
          user=sa   
          password=sa


          2.新建工具類

          package com.itcast.db;

          import java.sql.Connection;
          import java.sql.DriverManager;
          import java.util.Properties;

          public class ConnectionUtil {

           public Connection openConnection() {
            String driver = "";
            String url = "";
            String user = "";
            String password = "";
            Properties prop = new Properties();
            Connection conn = null;
            try {
             //加載屬性文件   
             prop.load(this.getClass().getClassLoader().getResourceAsStream(
               "DBConfig.properties"));
             driver = prop.getProperty("driver");
             url = prop.getProperty("url");
             user = prop.getProperty("user");
             password = prop.getProperty("password");
             //Class.forName加載驅(qū)動(dòng)   
             Class.forName(driver);
             //DriverManager獲得連接   
             conn = DriverManager.getConnection(url, user, password);
             return conn;
            } catch (Exception e) {
             e.printStackTrace();
            }
            return null;
           }

          }


          3.業(yè)務(wù)實(shí)現(xiàn)類


          package com.itcast.service.impl;

          import java.sql.Connection;
          import java.sql.DriverManager;
          import java.sql.PreparedStatement;
          import java.sql.ResultSet;
          import java.sql.SQLException;
          import java.sql.Statement;
          import java.util.ArrayList;
          import java.util.List;

          import com.itcast.db.ConnectionUtil;
          import com.itcast.db.DBConnection;
          import com.itcast.model.User;
          import com.itcast.service.IUser;

          /**
           * 業(yè)務(wù)邏輯處理
           *
           * @author Administrator
           *
           */
          public class UserImpl implements IUser {

          // DBConnection db = new DBConnection();

           private PreparedStatement pstm;
           
           /**
            * 添加用戶
            */
           public void  add_User(User user) {
            try{
          //  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
          //  conn= DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=school", "sa", "sa");
             Connection conn = new ConnectionUtil().openConnection();
            pstm=conn.prepareStatement("insert into userTable(user_name , user_password ,user_age,user_sex,user_address,user_telephone) values(?,?,?,?,?,?)");
            pstm.setString(1, user.getUsername());
            pstm.setString(2, user.getPassword());
            pstm.setInt(3, user.getAge());
            pstm.setString(4, user.getSex());
            pstm.setString(5, user.getAddress());
            pstm.setString(6, user.getTelephone());
            pstm.executeUpdate();
            }catch(SQLException e){
             e.printStackTrace();
            }catch(Exception e){
             e.printStackTrace();
            }
          //  String sql="insert into userTable(user_name , user_password ,user_age,user_sex,user_address,user_telephone) values(?,?,?,?,?,?)";
          //  
          //  db.GetConnection();
            

           }

           /**
            * 刪除用戶
            */
           public boolean del_User(int id) {
            boolean result=false;
            try{
             Connection conn = new ConnectionUtil().openConnection();
             pstm=conn.prepareStatement("delete from  userTable where user_id="+id);
             
             pstm.executeUpdate();
             result=true;
             }catch(SQLException e){
              e.printStackTrace();
             }catch(Exception e){
              e.printStackTrace();
             }
             return result;
           }

           /**
            * 查找用戶
            */
           public List<User> find_User() {
           
            Connection conn = new ConnectionUtil().openConnection();
            List<User> list = new ArrayList();
            User user = new User();
            
            String sql = "select * from userTable ";
            try {
             pstm=conn.prepareStatement(sql);
          //   pstm.setInt(1, id);
             ResultSet rs=pstm.executeQuery();
             while (rs.next()) {
              user.setId(rs.getInt(1));
              user.setUsername(rs.getString(2));
              user.setPassword(rs.getString(3));
              user.setAge(rs.getInt(4));
              user.setSex(rs.getString(5));
              user.setAddress(rs.getString(6));
              user.setTelephone(rs.getString(7));
              user.setTime(rs.getDate(8));
          //    System.out.println(rs.getString(7));
              list.add(user);
             }
            } catch (SQLException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            }
            return list;
            
            
           }

           /**
            * 按照id查詢用戶信息
            */
           public List find_Users(int id) {
            Connection conn = new ConnectionUtil().openConnection();
            List list = new ArrayList();
            User user = new User();
            
            String sql = "select * from userTable where user_id=?";
            try {
             pstm=conn.prepareStatement(sql);
             pstm.setInt(1, id);
             ResultSet rs=pstm.executeQuery();
             while (rs.next()) {
              user.setId(rs.getInt(1));
              user.setUsername(rs.getString(2));
              user.setPassword(rs.getString(3));
              user.setAge(rs.getInt(4));
              user.setSex(rs.getString(5));
              user.setAddress(rs.getString(6));
              user.setTelephone(rs.getString(7));
              user.setTime(rs.getDate(8));
          //    System.out.println(rs.getString(7));
              list.add(user);
             }
            } catch (SQLException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            }
            return list;
           }

           /**
            * 修改用戶信息
            */
           public IUser modify_User() {
            // TODO Auto-generated method stub
            return null;
           }

          }

          posted @ 2009-09-26 14:09 笑口常開、財(cái)源滾滾來! 閱讀(741) | 評(píng)論 (0)編輯 收藏
           
                      以前用myeclipse連接sql server 2005時(shí),直接用的一個(gè)jdbcdriver.jar就ok了。但是目前為了需要
          必須用sql server 2000,所以我才在網(wǎng)上找了找連接驅(qū)動(dòng)。
                     
                   
          SQLServer2000的JDBC驅(qū)動(dòng)
          轉(zhuǎn)自  
          http://blog.csdn.net/javalf00/archive/2009/06/09/4254478.aspx



          一、下載SQL SERVER2000的jdbc驅(qū)動(dòng)程序。在微軟站點(diǎn)就有這個(gè)驅(qū)動(dòng)程序: Window操作系統(tǒng)

          http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/setup.exe Unix操作系統(tǒng)

          Mssqlserver.tar http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/mssqlserver.tar

           二、安裝JDBC 執(zhí)行ms_jdbc_setup.exe可執(zhí)行文件,一切只需要點(diǎn)擊下一

          步,至到出現(xiàn)finish按鈕,完成安裝。注: (1) ms_JDBC_setup默認(rèn)安裝路

          徑為:c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC (2)此版

          (Version 2.2.0022)本僅支持Microsoft SQL Server 2000 Driver for JDBC (3)安

          裝目錄\lib\下的三個(gè)jar文件即是我們要的JDBC驅(qū)動(dòng)核心 msbase.jar

          mssqlserver.jar msutil.jar

           三、將以上(3)中指的三個(gè)jar文件加入到環(huán)境變量中去 classpath:
           
          d:\webserver\lib\msbase.jar;d:\webserver\lib\mssqlserver.jar;d:\webserver\lib\msutil.jar
           
          注:也可以省事的將以上三個(gè)文件拷貝至你的jvm機(jī)所在的

          JAVA_HOME\jre\lib\ext目錄下,不過不建議這么做。 對(duì)于web項(xiàng)目,可

          直接將以上三個(gè)jar包拷貝到WEB-INF下的lib文件夾下即可。

          四、測試 jsp文件:

          您的第一個(gè)字段內(nèi)容為:

          您的第二個(gè)字段內(nèi)容為:

          五、注意事項(xiàng) 1. 要保證你的Sql服務(wù)是啟動(dòng)狀態(tài) 2. 在Sql 的管理器中能夠

          使用sa或其它用戶正常登錄;(有些人在安裝sql時(shí)用了nt用戶管理模式,

          這里可能會(huì)有一定問題) 3. 第一次配置好環(huán)境變量最好能重啟一下電腦

          4. 注意JVM和DataBase的啟動(dòng)順序:先啟動(dòng)DataBase,再啟動(dòng)JVM機(jī)。

          注:在停止Web服務(wù)器后,再重啟動(dòng),中間最好能有10秒以上的間隔。
           
          5. 注意操作系統(tǒng)的網(wǎng)絡(luò)連通性 A.啟動(dòng)了Tcp/IP服務(wù) B.配置了相關(guān)IP地址,

          有些人機(jī)器可能用的是自動(dòng)分配IP或有配置IP時(shí),但網(wǎng)絡(luò)不通可能也找不

          到IP 6. 有些機(jī)器在調(diào)試明最好能將(四)中的連接地址localhost改成數(shù)據(jù)

          庫服務(wù)器的IP,這也是要注意5的原因。

           package zmsjdbc;
          import java.sql.*;
          public class sqlserver1 {
          private String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=catv"; //catv是數(shù)據(jù)庫!loacalhost可以用IP和主機(jī)
          private String user="sa";
          private String pwd="";
          public Connection getcon() {
          Connection con;
          try { //加載驅(qū)動(dòng)程序
          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); //創(chuàng)建連接 con=DriverManager.getConnection(url,user,pwd);
          return con;
          } catch(ClassNotFoundException e) {
          System.out.println("加載驅(qū)動(dòng)程序出錯(cuò)");
          } catch(SQLException e) {
          System.out.println(e.getMessage());
          } catch(Exception e) {
           System.out.println("出現(xiàn)了好大的錯(cuò)誤");
          }
           return null;
           }
          public ResultSet executeSql(String sqlstr) {
          Connection conn; Statement stmt;
           try { conn=getcon();
          stmt=conn.createStatement();
          ResultSet rs=stmt.executeQuery(sqlstr);
          return rs;
          } catch(SQLException e) {
          System.out.print("獲取數(shù)據(jù)集時(shí)出現(xiàn)錯(cuò)誤");
           }
          return null;
          }
           public static void main(String[] args) {
          ResultSet rs1;
          sqlserver1 sql1=new sqlserver1();
           rs1=sql1.executeSql("select ui_id,ui_name from userinfo");
           try {
          while(rs1.next()) {
          System.out.println(rs1.getString("ui_id")+" 姓名:"+rs1.getString("ui_name"));
           
               }
          } catch(Exception e)
          {
          System.out.println(e.getMessage());
          }
          } } /*

          1、對(duì)于SQLSERVER 必須下載 SQLSERVER驅(qū)動(dòng) http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/setup.exe 然后把 msbase.jar mssqlserver.jar msutil.jar 復(fù)制到 D:\JBuilder9\jdk1.4\jre\lib\ext,或者放在web項(xiàng)目的WEB-INF/lib下。

          2:如果出現(xiàn)錯(cuò)誤: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 說明 SQLERVER 端口號(hào) 不對(duì) 》》》更改端口號(hào):SQLSERVER->屬性-常規(guī)-網(wǎng)絡(luò)配置-常規(guī)-TCP/IP-屬性--更改端口號(hào)有個(gè)命令可以用: cmd-> netstat -a 例如:String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=zmstv"; 說明你使用的是1433 在CMD 下 輸入 netstat -a -n 應(yīng)該看不到:TCP 127.0.0.1:1433 0.0.0.0:0 LISTENING 如果安裝 sqlserver 2000 出現(xiàn) 報(bào)錯(cuò) "以前的某個(gè)程序安裝已在安裝計(jì)算機(jī)上創(chuàng)建掛起的文件操作。。。。" 打開注冊(cè)表編輯器,在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations項(xiàng)目,并刪除它。這樣就可以清除安裝暫掛項(xiàng)目。

           

           


          posted @ 2009-09-21 12:08 笑口常開、財(cái)源滾滾來! 閱讀(11423) | 評(píng)論 (0)編輯 收藏
           

          在J2ME程序開發(fā)過程中,為了一定的需要,經(jīng)常需要來獲得用戶的手機(jī)號(hào)碼,但是這個(gè)功能卻在標(biāo)準(zhǔn)的J2ME類庫中沒有提供。

          在使用中國移動(dòng)的CMWAP方式連接網(wǎng)絡(luò)時(shí),中國移動(dòng)會(huì)將用戶的手機(jī)號(hào)碼放在一個(gè)名稱為x-up-calling-line-id的頭信息中,可以通過讀取該頭信息,獲得用戶的手機(jī)號(hào)碼,具體代碼如下:

          String usermphone = http.getHeader("x-up-calling-line-id");

          偽手機(jī)號(hào),用戶在移動(dòng)夢網(wǎng)的ID:

          String usermphone = http.getHeader("MISC_MID");

          其中http是HttpConnction類型的對(duì)象。 

          [color=Green]注意:必須要是CNWAP聯(lián)網(wǎng)才行。 [/color]

          posted @ 2009-09-17 20:42 笑口常開、財(cái)源滾滾來! 閱讀(790) | 評(píng)論 (2)編輯 收藏
           
          轉(zhuǎn)載:
          http://hi.baidu.com/yashengwh/blog/item/27130edf7ec447156327980b.html


          手機(jī)號(hào)碼:Request.ServerVariables("HTTP_X_UP_CALLING_LINE_ID")
          手機(jī)型號(hào):request.ServerVariables("HTTP_User-Agent")

          補(bǔ)充:
          手機(jī)號(hào)碼,要看當(dāng)?shù)氐倪\(yùn)營商了
          有三種方法獲得(聯(lián)通的)
          1.加密的手機(jī)號(hào)碼:被加密的手機(jī)號(hào)碼,與手機(jī)號(hào)碼一一對(duì)應(yīng)。
          中國聯(lián)通WAP平臺(tái)向CP Server(主域或IP地址)傳送加密手機(jī)號(hào)碼,CP Server獲取該加密手機(jī)號(hào)碼的方法為:在每次用戶發(fā)送的請(qǐng)求http header中取“deviceid”。
          2.公開的手機(jī)號(hào)碼:中國聯(lián)通WAP平臺(tái)向CP Server(主域或IP地址)傳送公開的手機(jī)號(hào)碼,CP Server獲取該公開手機(jī)號(hào)碼的方法為:在每次用戶發(fā)送的請(qǐng)求http header中取“x-up-calling-line-id”。
          以上要和聯(lián)通進(jìn)行申請(qǐng)

          3、你可以試這樣的方法獲得手機(jī)號(hào)碼: Mobile = request.ServerVariables("HTTP_X_UP_subno")
          Mobile =mid(FromMobile,3,11) ??
          asp?lp=27&id=1782582>http://www.blueidea.com/bbs/NewsDetail.asp?lp=27&id=1782582
          聲明:第三種方法不保險(xiǎn)

          頭文件參考:
          答7:
          POST /default.asp HTTP/1.0
          Host: 211.94.121.3:81
          content-type: text/plain
          accept-language: zh
          accept-charset: ISO-8859-1, UTF-8; Q=0.8, ISO-10646-UCS-2; Q=0.6
          profile:
          http://nds.nokia.com/uaprof/N7210r100.xml
          user-agent: Nokia7210/1.0 (3.09) Profile/MIDP-1.0 Configuration/CLDC-1.0
          x-wap.tod-coded: Thu, 01 Jan 1970 00:00:00 GMT
          accept: */*
          content-length: 1
          Cookie: ASPSESSIONIDGGGQGAPU=KFHHMHPCHJFPKPEPBEDFHCJL
          via: WTP/1.1 wapgw2 (Nokia WAP Gateway 3.1/CD1/3.1.43), HTTP/1.1 httpproxy2[0A0000C3] (Traffic-Server/4.0.9 [uSc ])
          X-Network-info: GPRS,10.15.96.127,13810027XXX,211.139.172.70,unsecured
          X-Forwarded-For: 10.15.96.127
          X-Up-Calling-Line-ID: 13810027XXX
          X-Source-ID: 211.139.172.70
          X-Nokia-CONNECTION_MODE: CLESS
          X-Nokia-BEARER: GPRS
          X-Nokia-gateway-id: NAWG/3.1/Build43
          Client-ip: 192.168.0.6
          Connection: keep-alive

          posted @ 2009-09-17 19:51 笑口常開、財(cái)源滾滾來! 閱讀(1628) | 評(píng)論 (0)編輯 收藏
           

          package cn.itcast.bean;

          public class Person {

           private Integer id;
           private String name;
           
           public Person(){
            
           }
           
           public Person(String name) {
            this.name=name;
           }
           
             getter&&setter方法 
          }


          Person.hbm.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE hibernate-mapping PUBLIC
                  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
                  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
          <hibernate-mapping package="cn.itcast.bean">
           <class name="Person" table="person">
           
            <id name="id" type="integer">
             <generator class="native"></generator>
            </id>
            <property name="name" length="10" not-null="true">
            </property>
           </class>

          </hibernate-mapping>

          定義業(yè)務(wù)接口

          package cn.itcast.service;

          import java.util.List;

          import cn.itcast.bean.Person;

          public interface IPersonService {

           /**
            * 保存人員信息
            * @param person
            */
           public abstract void save(Person person);

           /**
            * 更新信息
            * @param person
            */
           public abstract void update(Person person);

           /**
            * 獲取人員
            * @param personId
            * @return
            */
           public abstract Person getPerson(Integer personId);

           /**
            * 刪除人員信息
            * @param personId
            */
           public abstract void delete(Integer personId);

           /**
            * 獲取人員列表
            * @return
            */
           public abstract List<Person> getPersons();

          }


          業(yè)務(wù)實(shí)現(xiàn)類

          package cn.itcast.service.impl;

          import java.util.List;

          import javax.annotation.Resource;

          import org.hibernate.SessionFactory;
          import org.springframework.transaction.annotation.Propagation;
          import org.springframework.transaction.annotation.Transactional;

          import cn.itcast.bean.Person;
          import cn.itcast.service.IPersonService;

          /**
           * 業(yè)務(wù)層,采用注解聲明事務(wù)
           *
           * @author Administrator
           *
           */
          @Transactional
          public class PersonServiceBean implements IPersonService {

           @Resource
           private SessionFactory sessionFactory;

           public void save(Person person) {

            // 從spring 容器中得到正在管理的sessionFactory,persist方法用于保存實(shí)體

            sessionFactory.getCurrentSession().persist(person);

           }

           public void update(Person person) {
            sessionFactory.getCurrentSession().merge(person);
           }
          @Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true)
           public Person getPerson(Integer personId) {
            return (Person) sessionFactory.getCurrentSession().get(Person.class,
              personId);
           }

           public void delete(Integer personId) {
            sessionFactory.getCurrentSession()
              .delete(
                sessionFactory.getCurrentSession().load(Person.class,
                  personId));
           }
           @Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true)
           @SuppressWarnings("unchecked")
           public List<Person> getPersons() {
            return sessionFactory.getCurrentSession().createQuery("from Person")
              .list();
           }

          }


          hibernate && spring的配置文件
          beans.xml

          <?xml version="1.0" encoding="UTF-8"?>

          <!--
           - Application context definition for JPetStore's business layer.
           - Contains bean references to the transaction manager and to the DAOs in
           - dataAccessContext-local/jta.xml (see web.xml's "contextConfigLocation").
          -->
          <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xsi:schemaLocation="
             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
             http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
             http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">

           <context:annotation-config />
           <!-- 配置數(shù)據(jù)源 -->
           <bean id="dataSource"
            class="org.apache.commons.dbcp.BasicDataSource"
            destroy-method="close">
            <property name="driverClassName"
             value="org.gjt.mm.mysql.Driver" />
            <property name="url"
             value="jdbc:mysql://localhost:3306/itcast?useUnicode=true&amp;characterEncoding=UTF-8" />
            <property name="username" value="root" />
            <property name="password" value="" />
            <!-- 連接池啟動(dòng)時(shí)的初始值 -->
            <property name="initialSize" value="1" />
            <!-- 連接池的最大值 -->
            <property name="maxActive" value="500" />
            <!-- 最大空閑值.當(dāng)經(jīng)過一個(gè)高峰時(shí)間后,連接池可以慢慢將已經(jīng)用不到的連接慢慢釋放一部分,一直減少到maxIdle為止 -->
            <property name="maxIdle" value="2" />
            <!--  最小空閑值.當(dāng)空閑的連接數(shù)少于閥值時(shí),連接池就會(huì)預(yù)申請(qǐng)去一些連接,以免洪峰來時(shí)來不及申請(qǐng) -->
            <property name="minIdle" value="1" />
           </bean>

           <bean id="sessionFactory"
            class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
            <property name="dataSource" ref="dataSource" /><!-- 將datasource注入到sessionFactory -->
            <property name="mappingResources">
             <list>
              <value>cn/itcast/bean/Person.hbm.xml</value>
             </list>
            </property>
            <property name="hibernateProperties">
             <value>
              hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
              hibernate.hbm2ddl.auto=update hibernate.show_sql=false
              hibernate.format_sql=false
             </value>
            </property>
           </bean>

           <!--  通過事務(wù)管理 管理sessionFactory -->
           <bean id="txManager"
            class="org.springframework.orm.hibernate3.HibernateTransactionManager">

            <property name="sessionFactory" ref="sessionFactory" />
           </bean>

           <tx:annotation-driven transaction-manager="txManager" />
           <bean id="personServiceBean"
            class="cn.itcast.service.impl.PersonServiceBean">
           </bean>
          </beans>



          /**
          測試類**/

          package junit;


          import java.util.List;

          import org.junit.BeforeClass;
          import org.junit.Test;
          import org.springframework.context.ApplicationContext;
          import org.springframework.context.support.ClassPathXmlApplicationContext;

          import cn.itcast.bean.Person;
          import cn.itcast.service.IPersonService;

          public class IPersonServiceTest {

           private static IPersonService ipersonservice;
           @BeforeClass
           public static void setUpBeforeClass() throws Exception {
            try {
             ApplicationContext ctx=new ClassPathXmlApplicationContext("beans.xml");
             ipersonservice=(IPersonService)ctx.getBean("personServiceBean");
            } catch (RuntimeException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            }
           }
           
           @Test
           public void TestSave(){
            
            ipersonservice.save(new Person("小張"));
            System.out.println("保存成功");
           }

           @Test public void testGetPerson(){
            Person person=ipersonservice.getPerson(1);
            System.out.println(person.getName());
           }
           
           @Test public void testUpdate(){
            Person person=ipersonservice.getPerson(1);
            person.setName("小麗");
            ipersonservice.update(person);
           }
           
           @Test public void testGetPersons(){
            List<Person> persons=ipersonservice.getPersons();
            for(Person person : persons){
             System.out.println(person.getId()+"  :" +person.getName());
            }
           }
           
           @Test public void testDelete(){
            ipersonservice.delete(1);
           }
          }

          table :person
          id  int
          name varchar

          posted @ 2009-09-13 16:38 笑口常開、財(cái)源滾滾來! 閱讀(443) | 評(píng)論 (0)編輯 收藏
           
          接口

          package cn.itcast.service;

          import java.util.List;

          import cn.itcast.bean.Person;

          public interface IPersonService {

           public void save(Person person);
           
           public void update(Person person);
           
           public void delete(int personId);
           
           public Person getPerson(int personId);
           
           public List<Person> getPersons();
          }

          實(shí)現(xiàn)類:

          package cn.itcast.service.impl;

          import java.util.List;

          import javax.annotation.Resource;
          import javax.sql.DataSource;

          import org.springframework.jdbc.core.JdbcTemplate;
          import org.springframework.jdbc.core.RowMapper;
          import org.springframework.stereotype.Service;
          import org.springframework.transaction.annotation.Transactional;

          import cn.itcast.bean.Person;
          import cn.itcast.service.IPersonService;


          @Transactional
          public class PersonServiceImpl implements IPersonService {

           private JdbcTemplate jdbcTemplete;

           // private DataSource datasource;
          @Resource
           public void setDatasource(DataSource datasource) {
            this.jdbcTemplete = new JdbcTemplate(datasource);
           }

           public void delete(int personId) {
            this.jdbcTemplete
              .update("delete from  person where id=?",
                new Object[] { personId },
                new int[] { java.sql.Types.INTEGER });

           }

           public Person getPerson(int personId) {
            return (Person) this.jdbcTemplete.queryForObject(
              "select * from person where id=?", new Object[] { personId },
              new int[] { java.sql.Types.INTEGER }, new PersonRowMapper());

           }

           @SuppressWarnings("unchecked")
           public List<Person> getPersons() {

            return (List<Person>) this.jdbcTemplete.query("select * from person",
              new PersonRowMapper());

           }

           public void save(Person person) {
            System.out.println(person.getName());

            this.jdbcTemplete.update("insert into person(name) values(?)",
              new Object[] { person.getName() },
              new int[] { java.sql.Types.VARCHAR });

           }

           public void update(Person person) {
            this.jdbcTemplete.update("update person set name=? where id=?",
              new Object[] { person.getName(), person.getId() }, new int[] {
                java.sql.Types.VARCHAR, java.sql.Types.INTEGER });

           }

          }


          實(shí)體類:

          package cn.itcast.bean;

          public class Person {

           private int id;
           
           private String name;

           public Person() {
            
           }

           public Person(String name) {
           
            this.name = name;
           }

           public int getId() {
            return id;
           }

           public void setId(int id) {
            this.id = id;
           }

           public String getName() {
            return name;
           }

           public void setName(String name) {
            this.name = name;
           }
          }



          package cn.itcast.service.impl;

          import java.sql.ResultSet;
          import java.sql.SQLException;

          import org.springframework.jdbc.core.RowMapper;

          import cn.itcast.bean.Person;

          public class PersonRowMapper implements RowMapper {

           public Object mapRow(ResultSet rs, int index) throws SQLException {
            cn.itcast.bean.Person person=new Person(rs.getString("name"));
            person.setId(rs.getInt("id"));
            
            return person;
           }

          }


          配置文件:

          <?xml version="1.0" encoding="UTF-8"?>

          <!--
           - Application context definition for JPetStore's business layer.
           - Contains bean references to the transaction manager and to the DAOs in
           - dataAccessContext-local/jta.xml (see web.xml's "contextConfigLocation").
          -->
          <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xsi:schemaLocation="
             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
             http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
             http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
           <aop:aspectj-autoproxy proxy-target-class="true"/>

           
           <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
            <property name="driverClassName" value="org.gjt.mm.mysql.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/itcast?useUnicode=true&amp;characterEncoding=UTF-8"/>
            <property name="username" value="root"/>
            <property name="password" value=""/>
            <!-- 連接池啟動(dòng)時(shí)的初始值 -->
            <property name="initialSize" value="1"/>
            <!-- 連接池的最大值 -->
            <property name="maxActive" value="500"/>
            <!-- 最大空閑值.當(dāng)經(jīng)過一個(gè)高峰時(shí)間后,連接池可以慢慢將已經(jīng)用不到的連接慢慢釋放一部分,一直減少到maxIdle為止 -->
            <property name="maxIdle" value="2"/>
            <!--  最小空閑值.當(dāng)空閑的連接數(shù)少于閥值時(shí),連接池就會(huì)預(yù)申請(qǐng)去一些連接,以免洪峰來時(shí)來不及申請(qǐng) -->
            <property name="minIdle" value="1"/>
           </bean>


           <bean id="txManager"
            class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource" />
           </bean>

           <tx:annotation-driven transaction-manager="txManager" />


           <bean id="personServiceImpl"
            class="cn.itcast.service.impl.PersonServiceImpl">
            <property name="datasource" ref="dataSource" />
           </bean>

          </beans>

          測試類:

          package junit.test;


          import java.util.List;

          import org.junit.BeforeClass;
          import org.junit.Test;
          import org.springframework.context.ApplicationContext;
          import org.springframework.context.support.ClassPathXmlApplicationContext;

          import cn.itcast.bean.Person;
          import cn.itcast.service.IPersonService;

          public class TestSpringAndJdbc {

           public static IPersonService iPersonService;
           @BeforeClass
           public static void setUpBeforeClass() throws Exception {
            ApplicationContext ctx=new ClassPathXmlApplicationContext("beans.xml");
            iPersonService=(IPersonService)ctx.getBean("personServiceImpl");
           }
           @Test
           public void TestSave(){
            for(int i=1;i<5;i++){
             iPersonService.save(new Person("傳智博客"+i));
            }
            
           }
           @Test
           public void TestFindPerson(){
            
            iPersonService.getPerson(1);
            System.out.println(iPersonService.getPerson(1).getName());
           }
           
           @Test
           public void TestUpdate(){
            Person person=iPersonService.getPerson(1);//通過id取得person對(duì)象
            person.setName("張三");//設(shè)置名字
            iPersonService.update(person);//更新
           }
           
           @Test
           public void TestDelete(){
            Person person=iPersonService.getPerson(2);
            iPersonService.delete(person.getId());
           }

           @Test
           public void testFindAllPeron(){
            List<Person> list=iPersonService.getPersons();
            for(Person person:list){
             System.out.println(person.getId()+"  "+person.getName());
            }
           }
          }







          posted @ 2009-09-03 16:03 笑口常開、財(cái)源滾滾來! 閱讀(242) | 評(píng)論 (0)編輯 收藏
           
          轉(zhuǎn)載:http://hi.baidu.com/panqf/blog/item/b0db04874b1ccb2bc65cc313.html

           Spring 框架是一個(gè)分層架構(gòu),由 7 個(gè)定義良好的模塊組成。Spring 模塊構(gòu)建在核心容器之上,核心容器定義了創(chuàng)建、配置和管理 bean 的方式,如圖 1 所示。
          圖 1. Spring 框架的 7 個(gè)模塊
          Spring 框架圖示

          組成 Spring 框架的每個(gè)模塊(或組件)都可以單獨(dú)存在,或者與其他一個(gè)或多個(gè)模塊聯(lián)合實(shí)現(xiàn)。每個(gè)模塊的功能如下:

          • 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要組件是 BeanFactory,它是工廠模式的實(shí)現(xiàn)。BeanFactory 使用控制反轉(zhuǎn) (IOC) 模式將應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序代碼分開。
          • Spring 上下文:Spring 上下文是一個(gè)配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企業(yè)服務(wù),例如 JNDI、EJB、電子郵件、國際化、校驗(yàn)和調(diào)度功能。
          • Spring AOP: 通過配置管理特性,Spring AOP 模塊直接將面向方面的編程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何對(duì)象支持 AOP。Spring AOP 模塊為基于 Spring 的應(yīng)用程序中的對(duì)象提供了事務(wù)管理服務(wù)。通過使用 Spring AOP,不用依賴 EJB 組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。
          • Spring DAO:JDBC DAO 抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來管理異常處理和不同數(shù)據(jù)庫供應(yīng)商拋出的錯(cuò)誤消息。異常層次結(jié)構(gòu)簡化了錯(cuò)誤處理,并且極大地降低了需要編寫 的異常代碼數(shù)量(例如打開和關(guān)閉連接)。Spring DAO 的面向 JDBC 的異常遵從通用的 DAO 異常層次結(jié)構(gòu)。
          • Spring ORM:Spring 框架插入了若干個(gè) ORM 框架,從而提供了 ORM 的對(duì)象關(guān)系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有這些都遵從 Spring 的通用事務(wù)和 DAO 異常層次結(jié)構(gòu)。
          • Spring Web 模塊:Web 上下文模塊建立在應(yīng)用程序上下文模塊之上,為基于 Web 的應(yīng)用程序提供了上下文。所以,Spring 框架支持與 Jakarta Struts 的集成。Web 模塊還簡化了處理多部分請(qǐng)求以及將請(qǐng)求參數(shù)綁定到域?qū)ο蟮墓ぷ鳌?
          • Spring MVC 框架:MVC 框架是一個(gè)全功能的構(gòu)建 Web 應(yīng)用程序的 MVC 實(shí)現(xiàn)。通過策略接口,MVC 框架變成為高度可配置的,MVC 容納了大量視圖技術(shù),其中包括 JSP、Velocity、Tiles、iText 和 POI。

                  Spring 框架的功能可以用在任何 J2EE 服務(wù)器中,大多數(shù)功能也適用于不受管理的環(huán)境。Spring 的核心要點(diǎn)是:支持不綁定到特定 J2EE 服務(wù)的可重用業(yè)務(wù)和數(shù)據(jù)訪問對(duì)象。毫無疑問,這樣的對(duì)象可以在不同 J2EE 環(huán)境 (Web 或 EJB)、獨(dú)立應(yīng)用程序、測試環(huán)境之間重用。


          posted @ 2009-08-28 09:53 笑口常開、財(cái)源滾滾來! 閱讀(687) | 評(píng)論 (0)編輯 收藏

          2009年11月23日

          在實(shí)現(xiàn)程序的修改模塊時(shí),要在頁面端檢查用戶是否修改過數(shù)據(jù),以便提醒用戶及時(shí)保存修改后的數(shù)據(jù)。
          實(shí)現(xiàn)要求:
            判斷用戶是否修改了輸入的內(nèi)容,要能判斷input中的checkbox,text,radio等,不知道會(huì)多少個(gè)input,也不知道input的ID和name,要在客戶端判斷是否修改,不能產(chǎn)

          生提交。還要同時(shí)滿足IE和firefox兩種環(huán)境。也要支持master和content頁的使用。
          解決方案;
            處理思路:在頁面加載時(shí)記錄所有的input的值或狀態(tài),如果要求在用戶進(jìn)行修改操作時(shí)立即調(diào)整控件狀態(tài),則在數(shù)據(jù)區(qū)div上的onclick和onkeypress事件里調(diào)用檢查數(shù)據(jù)

          是否改變的函數(shù),并設(shè)置相應(yīng)控件的狀態(tài)(用ha_setch())。如果是在提交或用戶手動(dòng)控制檢查過程時(shí),則在相應(yīng)的操作事件中調(diào)用檢查數(shù)據(jù)是否改變(例在button的onclick

          ()中使用ha_checkin()控制提交)。
             以下是實(shí)現(xiàn)代碼
          var ha_last=new Array;//定義一個(gè)全局的空對(duì)象,存放所有的初始值。
          function ha_get()//讀取初始值
          { var ha_input = document.getElementsByTagName("input");
          for (var i=0;i<ha_input.length;i++)
          {
          if (ha_input[i].type=="password"){ ha_last.push(ha_input[i].value);}//根本頁面需要設(shè)置type的值和對(duì)象屬性
          if (ha_input[i].type=="radio") {ha_last.push(ha_input[i].checked);}//要保證檢查的范圍是否準(zhǔn)確
          }
          }
          window.onload=ha_get;//綁定讀取初始值的函數(shù)
          function ha_checkin()//檢查新的輸入值和初始值是否相等。返回判斷結(jié)果。true為沒有發(fā)生修改,false為有修改。
          { var ha_now=new Array;
          var ha_input = document.getElementsByTagName("input");
          for (var i=0;i<ha_input.length;i++)
          {
          if (ha_input[i].type=="password"){ ha_now.push(ha_input[i].value);}//根本頁面需要設(shè)置type的值和對(duì)象屬性。
          if (ha_input[i].type=="radio") {ha_now.push(ha_input[i].checked);}//也要保證和ha_get()中檢查的標(biāo)簽相一致
          }
          if (ha_now.toString()==ha_last.toString())//沒修改
          {return true;}
          else//有修改
          {return false;}
          }
          function ha_setch(){//設(shè)置相應(yīng)的控件狀態(tài)
          if (ha_checkin())//沒有變化
             //改變控件的顯示和功能狀態(tài)
          else//有變化
             //改變控件的顯示和功能狀態(tài)
          }


          做了適當(dāng)?shù)男薷摹W詈笤赽utton里面onclick直接調(diào)用

           

               var ha_last=new Array;//定義一個(gè)全局的空對(duì)象,存放所有的初始值。
                      function ha_get()//讀取初始值
                      {
                          var ha_input = document.getElementsByTagName("input");
                          ha_last.push($("#select").val());//采用jquery獲取select 選擇的值
                          for (var i=0;i<ha_input.length;i++)
                          {
                              if (ha_input[i].type=="text"){ ha_last.push(ha_input[i].value);}//根本頁面需要設(shè)置type的值和對(duì)象屬性
                          }
                      }
                      window.onload=ha_get;//綁定讀取初始值的函數(shù)
                      function ha_checkin(action)//檢查新的輸入值和初始值是否相等。返回判斷結(jié)果。true為沒有發(fā)生修改,false為有修改。
                      {
                               if(action=="update"){
                              var ha_now=new Array;
                              var ha_input = document.getElementsByTagName("input");
                              ha_now.push($("#select").val());
                             
                              for (var i=0;i<ha_input.length;i++)
                              {
                                  if (ha_input[i].type=="text"){ ha_now.push(ha_input[i].value);}//根本頁面需要設(shè)置type的值和對(duì)象屬性。
                              }
                              if (ha_now.toString()==ha_last.toString())//沒修改
                              {
                                  alert("沒有修改");
                                  return false;
                              }
                              else//有修改
                              {
                                  //  return true;
                              }
                          }
                      }

           


           
                  

           

           

          posted @ 2009-11-23 17:36 笑口常開、財(cái)源滾滾來! 閱讀(563) | 評(píng)論 (0)編輯 收藏

          2009年11月15日

          來自:http://www.javaeye.com/topic/304818

          jQuery 是我最喜歡的一個(gè)Javascript框架,下表中包含了240+可以為jQuery愛好者們使用的插件。我斷定一定還有下表沒有包括的,如果你還知道其他的好東西,歡迎與大家分享。

          文件上傳

          Ajax File Upload
          jQUploader
          Multiple File Upload plugin
          jQuery File Style
          Styling an input type file
          Progress Bar Plugin

          表單驗(yàn)證

          jQuery Validation
          Auto Help
          Simple jQuery form validation
          jQuery XAV - form validations
          jQuery AlphaNumeric
          Masked Input
          TypeWatch Plugin
          Text limiter for form fields
          Ajax Username Check with jQuery

          Form - Select Box stuff

          jQuery Combobox
          jQuery controlled dependent (or Cascadign) Select List
          Multiple Selects
          Select box manipulation
          Select Combo Plugin
          jQuery - LinkedSelect
          Auto-populate multiple select boxes
          Choose Plugin (Select Replacement)

          表單基本、輸入與、復(fù)選框等

          jQuery Form Plugin
          jQuery-Form
          jLook Nice Forms
          jNice
          Ping Plugin
          Toggle Form Text
          ToggleVal
          jQuery Field Plugin
          jQuery Form’n Field plugin
          jQuery Checkbox manipulation
          jTagging
          jQuery labelcheck
          Overlabel
          3 state radio buttons
          ShiftCheckbox jQuery Plugin
          Watermark Input
          jQuery Checkbox (checkboxes with imags)
          jQuery SpinButton Control
          jQuery Ajax Form Builder
          jQuery Focus Fields
          jQuery Time Entry

          時(shí)間,日期和顏色選取器

          jQuery UI Datepicker
          jQuery date picker plugin
          jQuery Time Picker
          Time Picker
          ClickPick
          TimePicker
          Farbtastic jQuery Color Picker Plugin
          Color Picker by intelliance.fr

          投票插件

          jQuery Star Rating Plugin
          jQuery Star Rater
          Content rater with asp.net, ajax and jQuery
          Half-Star Rating Plugin

          搜索插件

          Autocomplete Box
          jQuery Suggest
          jQuery Autocomplete
          jQuery Autocomplete Mod
          jQuery Autocomplete by AjaxDaddy
          jQuery Autocomplete Plugin with HTML formatting
          jQuery Autocompleter
          AutoCompleter (Tutorial with PHP&MySQL)
          quick Search jQuery Plugin

          編輯器

          jTagEditor
          WYMeditor
          jQuery jFrame
          Jeditable - edit in place plugin for jQuery
          jQuery editable
          jQuery Disable Text Select Plugin
          Edit in Place with Ajax using jQuery
          jQuery Plugin - Another In-Place Editor
          TableEditor
          tEditable - in place table editing for jQuery

          聲音,視頻,F(xiàn)lash, SVG等

          jMedia - accessible multi-media embedding
          JBEdit - Ajax online Video Editor
          jQuery MP3 Plugin
          jQuery Media Plugin
          jQuery Flash Plugin
          Embed QuickTime
          SVG Integration
          jQuery Multimedia Portfolio
          jQuery YouTube Plugin

          圖片

          ThickBox
          jQuery lightBox plugin
          jQuery FancyBox
          jQuery Multimedia Portfolio
          jQuery Image Strip
          jQuery slideViewer
          jQuery jqGalScroll 2.0
          jQuery - jqGalViewII
          jQuery - jqGalViewIII
          jQuery Photo Slider
          jQuery Thumbs - easily create thumbnails
          jQuery jQIR Image Replacement
          jCarousel Lite
          jQPanView
          jCarousel
          Interface Imagebox
          Image Gallery using jQuery, Interface & Reflactions
          simple jQuery Gallery
          jQuery Gallery Module
          EO Gallery
          jQuery ScrollShow
          jQuery Cycle Plugin
          jQuery Flickr
          jQuery Lazy Load Images Plugin
          Zoomi - Zoomable Thumbnails
          jQuery Crop - crop any image on the fly
          Image Reflection

          Google Map

          jQuery Plugin googlemaps
          jMaps jQuery Maps Framework
          jQmaps
          jQuery & Google Maps
          jQuery Maps Interface forr Google and Yahoo maps
          jQuery J Maps - by Tane Piper

          游戲

          Tetris with jQuery
          jQuery Chess
          Mad Libs Word Game
          jQuery Puzzle
          jQuery Solar System (not a game but awesome jQuery Stuff)
          jQuery Memory

          表格

          UI/Tablesorter
          jQuery ingrid
          jQuery Grid Plugin
          Table Filter - awesome!
          TableEditor
          jQuery Tree Tables
          Expandable “Detail” Table Rows
          Sortable Table ColdFusion Costum Tag with jQuery UI
          jQuery Bubble
          TableSorter
          Scrollable HTML Table
          jQuery column Manager Plugin
          jQuery tableHover Plugin
          jQuery columnHover Plugin
          jQuery Grid
          TableSorter plugin for jQuery
          tEditable - in place table editing for jQuery
          jQuery charToTable Plugin
          jQuery Grid Column Sizing
          jQuery Grid Row Sizing

          圖表

          Flot
          jQuery Wizard Plugin
          jQuery Chart Plugin
          Bar Chart
          Accessible Charts using Canvas and jQuery

          邊框,圓角,背景

          jQuery Corner
          jQuery Curvy Corner
          Nifty jQuery Corner
          Transparent Corners
          jQuery Corner Gallery
          Gradient Plugin

          文本和鏈接

          jQuery Spoiler plugin
          Text Highlighting
          Disable Text Select Plugin
          jQuery Newsticker
          Auto line-height Plugin
          Textgrad - a text gradient plugin
          LinkLook - a link thumbnail preview
          pager jQuery Plugin
          shortKeys jQuery Plugin
          jQuery Biggerlink
          jQuery Ajax Link Checker
          Chili jQuery code highlighter plugin
          jScroller

          鼠標(biāo)提示

          jQuery Plugin - Tooltip
          jTip - The jQuery Tool Tip
          clueTip
          BetterTip
          Flash Tooltips using jQuery
          ToolTip

          菜單,導(dǎo)航欄

          jQuery Tabs Plugin - awesome! [demo nested tabs ]
          another jQuery nested Tab Set example (based on jQuery Tabs Plugin)
          jQuery idTabs
          jdMenu - Hierarchical Menu Plugin for jQuery
          jQuery SuckerFish Style
          jQuery Plugin Treeview
          treeView Basic
          FastFind Menu
          Sliding Menu
          Lava Lamp jQuery Menu
          jQuery iconDock
          jVariations Control Panel
          ContextMenu plugin
          clickMenu
          CSS Dock Menu
          jQuery Pop-up Menu Tutorial
          Sliding Menu

          手風(fēng)琴,幻燈片等效果

          jQuery Plugin Accordion
          jQuery Accordion Plugin Horizontal Way
          haccordion - a simple horizontal accordion plugin for jQuery
          Horizontal Accordion by portalzine.de
          HoverAccordion
          Accordion Example from fmarcia.info
          jQuery Accordion Example
          jQuery Demo - Expandable Sidebar Menu
          Sliding Panels for jQuery
          jQuery ToggleElements
          Coda Slider
          jCarousel
          Accesible News Slider Plugin
          Showing and Hiding code Examples
          jQuery Easing Plugin
          jQuery Portlets
          AutoScroll
          Innerfade
          CodaSlider

          拖拽

          UI/Draggables
          EasyDrag jQuery Plugin
          jQuery Portlets
          jqDnR - drag, drop resize
          Drag Demos

          XML XSL JSON Feeds

          XSLT Plugin
          jQuery Ajax call and result XML parsing
          xmlObjectifier - Converts XML DOM to JSON
          jQuery XSL Transform
          jQuery Taconite - multiple Dom updates
          RSS/ATOM Feed Parser Plugin
          jQuery Google Feed Plugin

          瀏覽器

          Wresize - IE Resize event Fix Plugin
          jQuery ifixpng
          jQuery pngFix
          Link Scrubber - removes the dotted line onfocus from links
          jQuery Perciformes - the entire suckerfish familly under one roof
          Background Iframe
          QinIE - for proper display of Q tags in IE
          jQuery Accessibility Plugin
          jQuery MouseWheel Plugin

          對(duì)話框,確認(rèn)窗口

          jQuery Impromptu
          jQuery Confirm Plugin
          jqModal
          SimpleModal

          CSS

          jQuery Style Switcher
          JSS - Javascript StyleSheets
          jQuery Rule - creation/manipulation of CSS Rules
          jPrintArea

          DOM, Ajax 和其他插件

          FlyDOM
          jQuery Dimenion Plugin
          jQuery Loggin
          Metadata - extract metadata from classes, attributes, elements
          Super-tiny Client-Side Include Javascript jQuery Plugin
          Undo Made Easy with Ajax
          JHeartbeat - periodically poll the server
          Lazy Load Plugin
          Live Query
          jQuery Timers
          jQuery Share it - display social bookmarking icons
          jQuery serverCookieJar
          jQuery autoSave
          jQuery Puffer
          jQuery iFrame Plugin
          Cookie Plugin for jQuery
          jQuery Spy - awesome plugin
          Effect Delay Trick
          jQuick - a quick tag creator for jQuery
          Metaobjects

          elementReady

          posted @ 2009-11-15 15:21 笑口常開、財(cái)源滾滾來! 閱讀(449) | 評(píng)論 (0)編輯 收藏

          2009年10月10日


          starterkit.html

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
          <title>jQuery Starterkit</title>

          <link rel="stylesheet" type="text/css" media="screen" href="style.css" />
          <script type="text/javascript" src="http://www.css88.com/jquery-1.3.2/jquery-1.3.2.min.js"></script>
          <script src="jquery.js" type="text/javascript"></script>
          <script src="custom.js" type="text/javascript"></script>
          <script src="jquery.tablesorter.js" type="text/javascript"></script>
          <script src="jquery-latest.js" type="text/javascript"></script>
          <script src="jquery.tablesorter.min.js" type="text/javascript"></script>
          <script src="jquery.metadata.js" type="text/javascript"></script>
          </head>
          <body>

          <!-- tablecode taken from tablesorter examples -->

          <table class="tablesorter " cellspacing=1>
          <thead>

           <tr>
            <th class="{sorter:'text'}">Email</th>
            <th>Id</th>
            <th>Phone</th>
            <th>Total</th>
            <th>Ip</th>

            <th class="{sorter:'procent'}">Url</th>
            <th>Time</th>
            <th>ISO Date</th>
            <th>UK Date</th>
           </tr>
          </thead> 
          <tbody>
           <tr>

            
           </tr>
            
           <tr>
            <td>henry@mountdev.net</td>

            <td>35889</td>
            <td>941-964-9543</td>
            <td>$2776.09</td>
            <td>119.232.182.142</td>
            <td>http://www.gmail.com</td>
            <td>3:54</td>

            <td>1974/1/19</td>
            <td>19/1/1974</td>
           </tr>
            
           <tr>
            <td>christian@reno.gov</td>
            <td>60021</td>

            <td>941-964-5617</td>

            <td>$2743.41</td>
            <td>167.209.64.181</td>
            <td>http://www.dotnet.ca</td>
            <td>10:58</td>
            <td>2000/3/25</td>

            <td>25/3/2000</td>

           </tr>
            
           <tr>
            <td>muffins@donuts.com</td>
            <td>17927</td>
            <td>941-964-9511</td>

            <td>$2998.18</td>
            <td>210.214.231.182</td>

            <td>http://google.se</td>
            <td>21:22</td>
            <td>1993/1/24</td>
            <td>24/1/1993</td>

           </tr>
            
           <tr>
            <td>muffins@reno.gov</td>

            <td>76375</td>
            <td>941-964-2757</td>
            <td>$1836.09</td>

            <td>220.222.93.171</td>
            <td>http://www.samba.org</td>
            <td>15:22</td>

            <td>1988/4/4</td>
            <td>4/4/1988</td>
           </tr>   
            <tr>
            <td>found@flexomat.com</td>

            <td>20953</td>
            <td>941-964-5544</td>
            <td>$575.42</td>
            <td>247.246.235.138</td>
            <td>http://gmail.com</td>
            <td>3:12</td>

            <td>1978/6/10</td>
            <td>10/6/1978</td>
           </tr>   

             
           <tr>
            <td>foo@reno.gov</td>
            <td>03603</td>
            <td>941-964-8942</td>

            <td>$1677.07</td>
            <td>176.96.162.192</td>

            <td>http://www.flexomat.com</td>
            <td>19:11</td>
            <td>1980/7/31</td>
            <td>31/7/1980</td>

           </tr>
            
           <tr>
            <td>found@flexomat.com</td>

            <td>84939</td>
            <td>941-964-7004</td>
            <td>$3916.83</td>

            <td>240.145.198.78</td>
            <td>http://www.fish.org</td>
            <td>1:29</td>

            <td>1980/8/26</td>
            <td>26/8/1980</td>
           </tr>
           
           <tr>
            <td>muffins@reno.gov</td>
            <td>95926</td>
            <td>941-964-147</td>

            <td>$3897.91</td>
            <td>105.85.121.209</td>

            <td>http://www.flexomat.com</td>
            <td>9:50</td>
            <td>2003/4/1</td>
            <td>1/4/2003</td>

           </tr>
             
              </tbody>
          </table>

           

          </body>
          </html>


          custom.js


          jQuery(document).ready(function() {
           $.tablesorter.defaults.widgets=['zebra'];
           $.tablesorter.defaults.sortList=[[0,0]];
           $("table").tablesorter();
          });

          posted @ 2009-10-10 17:07 笑口常開、財(cái)源滾滾來! 閱讀(824) | 評(píng)論 (0)編輯 收藏
           
          starterkit.html

          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
          <title>jQuery Starterkit</title>

          <link rel="stylesheet" type="text/css" media="screen" href="screen.css" />
          <script type="text/javascript" src="http://www.css88.com/jquery-1.3.2/jquery-1.3.2.min.js"></script>
          <script src="jquery.js" type="text/javascript"></script>
          <script src="custom.js" type="text/javascript"></script>
          <script src="jquery.tablesorter.js" type="text/javascript"></script>
          <script src="jquery-latest.js" type="text/javascript"></script>
          <script src="jquery.tablesorter.min.js" type="text/javascript"></script>
          <script src="jquery.metadata.js" type="text/javascript"></script>
          </head>


          <body>

          <table id="large" cellspacing="0">
          <thead>

           <tr>
            <th>Email</th>
            <th>Id</th>
            <th>Phone</th>
            <th>Total</th>
            <th>Ip</th>

            <th>Url</th>
            <th>Time</th>
            <th>ISO Date</th>
            <th>UK Date</th>
           </tr>
          </thead> 
          <tbody>
           <tr>

            <td>devo@flexomat.com</td>
            <td>66672</td>
            <td>941-964-8535</td>
            <td>$2482.79</td>
            <td>172.78.200.124</td>

            <td>http://gmail.com</td>

            <td>15:10</td>
            <td>1988/12/14</td>
            <td>14/12/1988</td>
           </tr>
            
           <tr>
            <td>henry@mountdev.net</td>

            <td>35889</td>
            <td>941-964-9543</td>
            <td>$2776.09</td>
            <td>119.232.182.142</td>
            <td>http://www.gmail.com</td>
            <td>3:54</td>

            <td>1974/1/19</td>
            <td>19/1/1974</td>
           </tr>
            
           <tr>
            <td>christian@reno.gov</td>
            <td>60021</td>

            <td>941-964-5617</td>

            <td>$2743.41</td>
            <td>167.209.64.181</td>
            <td>http://www.dotnet.ca</td>
            <td>10:58</td>
            <td>2000/3/25</td>

            <td>25/3/2000</td>

           </tr>
            
           <tr>
            <td>muffins@donuts.com</td>
            <td>17927</td>
            <td>941-964-9511</td>

            <td>$2998.18</td>
            <td>210.214.231.182</td>

            <td>http://google.se</td>
            <td>21:22</td>
            <td>1993/1/24</td>
            <td>24/1/1993</td>

           </tr>
            
           <tr>
            <td>muffins@reno.gov</td>

            <td>76375</td>
            <td>941-964-2757</td>
            <td>$1836.09</td>

            <td>220.222.93.171</td>
            <td>http://www.samba.org</td>
            <td>15:22</td>

            <td>1988/4/4</td>
            <td>4/4/1988</td>
           </tr>

            
           <tr>
            <td>mendez@gmail.com</td>
            <td>45834</td>
            <td>941-964-2575</td>

            <td>$2805.46</td>
            <td>228.170.245.253</td>

            <td>http://flexomat.com</td>
            <td>11:31</td>
            <td>1975/12/12</td>
            <td>12/12/1975</td>

           </tr>
            
           <tr>

            <td>dev@gmail.com</td>
            <td>20022</td>
            <td>941-964-4967</td>
            <td>$3296.54</td>
            <td>175.248.70.240</td>

            <td>http://www.flexomat.com</td>

            <td>4:27</td>
            <td>2002/7/3</td>
            <td>3/7/2002</td>
           </tr>
            
           <tr>
            <td>foo@polyester.se</td>

            <td>55977</td>
            <td>941-964-745</td>
            <td>$2953.73</td>
            <td>222.114.227.156</td>
            <td>http://www.donuts.com</td>
            <td>23:49</td>

            <td>1977/8/4</td>
            <td>4/8/1977</td>
           </tr>
            
           <tr>
            <td>adam@aftonbladet.se</td>
            <td>38867</td>

            <td>941-964-6302</td>

            <td>$1949.27</td>
            <td>116.241.143.196</td>
            <td>http://flexomat.com</td>
            <td>23:35</td>
            <td>1995/7/27</td>

            <td>27/7/1995</td>

           </tr>
            
           <tr>
            <td>devo@donuts.com</td>
            <td>51426</td>
            <td>941-964-1234</td>

            <td>$1067.00</td>
            <td>88.96.149.82</td>

            <td>http://www.polyester.se</td>
            <td>15:17</td>
            <td>1986/1/5</td>
            <td>5/1/1986</td>

           </tr>
            
           <tr>
            <td>henry@samba.org</td>

            <td>40859</td>
            <td>941-964-4856</td>
            <td>$3401.19</td>

            <td>68.152.250.74</td>
            <td>http://www.flexomat.com</td>
            <td>4:36</td>

            <td>1990/3/7</td>
            <td>7/3/1990</td>
           </tr>

            
           <tr>
            <td>found@dotnet.ca</td>
            <td>23986</td>
            <td>941-964-2686</td>

            <td>$1393.52</td>
            <td>98.102.181.138</td>

            <td>http://lostnfound.org</td>
            <td>5:51</td>
            <td>1993/7/22</td>
            <td>22/7/1993</td>

           </tr>
            
           <tr>

            <td>carl@fish.org</td>
            <td>73392</td>
            <td>941-964-5792</td>
            <td>$3876.04</td>
            <td>246.234.182.243</td>

            <td>http://www.google.se</td>

            <td>6:52</td>
            <td>1984/7/14</td>
            <td>14/7/1984</td>
           </tr>
            
           <tr>
            <td>found@mountdev.net</td>

            <td>03519</td>
            <td>941-964-1599</td>
            <td>$1176.48</td>
            <td>104.212.122.177</td>
            <td>http://donuts.com</td>
            <td>18:52</td>

            <td>2000/8/6</td>
            <td>6/8/2000</td>
           </tr>
            
           <tr>
            <td>lost@fish.org</td>
            <td>36628</td>

            <td>941-964-5975</td>

            <td>$822.23</td>
            <td>153.63.68.208</td>
            <td>http://www.gmail.com</td>
            <td>7:53</td>
            <td>1994/7/14</td>

            <td>14/7/1994</td>

           </tr>
            
           <tr>
            <td>mendez@dotnet.ca</td>
            <td>90442</td>
            <td>941-964-1649</td>

            <td>$1975.72</td>
            <td>128.161.95.170</td>

            <td>http://reno.gov</td>
            <td>8:35</td>
            <td>1997/10/20</td>
            <td>20/10/1997</td>

           </tr>
            
           <tr>
            <td>carl@donuts.com</td>

            <td>00412</td>
            <td>941-964-6432</td>
            <td>$1834.77</td>

            <td>141.231.126.192</td>
            <td>http://gmail.com</td>
            <td>16:15</td>

            <td>1997/8/23</td>
            <td>23/8/1997</td>
           </tr>

            
           <tr>
            <td>foo@fish.org</td>
            <td>80653</td>
            <td>941-964-1022</td>

            <td>$260.26</td>
            <td>98.102.97.81</td>

            <td>http://samba.org</td>
            <td>8:27</td>
            <td>1991/11/24</td>
            <td>24/11/1991</td>

           </tr>
            
           <tr>

            <td>found@fish.org</td>
            <td>54635</td>
            <td>941-964-6439</td>
            <td>$1442.80</td>
            <td>108.133.231.154</td>

            <td>http://dotnet.ca</td>

            <td>6:47</td>
            <td>1977/7/12</td>
            <td>12/7/1977</td>
           </tr>
            
           <tr>
            <td>found@flexomat.com</td>

            <td>20953</td>
            <td>941-964-5544</td>
            <td>$575.42</td>
            <td>247.246.235.138</td>
            <td>http://gmail.com</td>
            <td>3:12</td>

            <td>1978/6/10</td>
            <td>10/6/1978</td>
           </tr>
            
           <tr>
            <td>lost@aftonbladet.se</td>
            <td>60810</td>

            <td>941-964-8406</td>

            <td>$1054.39</td>
            <td>130.80.125.154</td>
            <td>http://www.samba.org</td>
            <td>15:50</td>
            <td>1978/5/18</td>

            <td>18/5/1978</td>

           </tr>
            
           <tr>
            <td>carl@reno.gov</td>
            <td>22666</td>
            <td>941-964-104</td>

            <td>$373.59</td>
            <td>185.150.127.115</td>

            <td>http://www.lostnfound.org</td>
            <td>10:11</td>
            <td>1971/11/5</td>
            <td>5/11/1971</td>

           </tr>
            
           <tr>
            <td>carl@donuts.com</td>

            <td>82867</td>
            <td>941-964-1031</td>
            <td>$631.03</td>

            <td>62.244.222.152</td>
            <td>http://www.reno.gov</td>
            <td>11:24</td>

            <td>1985/1/22</td>
            <td>22/1/1985</td>
           </tr>

            
           <tr>
            <td>foo@donuts.com</td>
            <td>11268</td>
            <td>941-964-208</td>

            <td>$3730.64</td>
            <td>234.192.138.252</td>

            <td>http://aftonbladet.se</td>
            <td>22:45</td>
            <td>1979/8/4</td>
            <td>4/8/1979</td>

           </tr>
            
           <tr>

            <td>devo@google.se</td>
            <td>17059</td>
            <td>941-964-2903</td>
            <td>$1404.67</td>
            <td>73.189.246.202</td>

            <td>http://www.gmail.com</td>

            <td>22:28</td>
            <td>1983/4/28</td>
            <td>28/4/1983</td>
           </tr>
            
           <tr>
            <td>muffins@flexomat.com</td>

            <td>90584</td>
            <td>941-964-4640</td>
            <td>$3706.01</td>
            <td>243.162.73.115</td>
            <td>http://www.fish.org</td>
            <td>11:12</td>

            <td>1997/4/8</td>
            <td>8/4/1997</td>
           </tr>
            
           <tr>
            <td>foo@samba.org</td>
            <td>82966</td>

            <td>941-964-7245</td>

            <td>$1001.38</td>
            <td>255.182.148.252</td>
            <td>http://www.reno.gov</td>
            <td>8:42</td>
            <td>1995/11/1</td>

            <td>1/11/1995</td>

           </tr>
            
           <tr>
            <td>foo@reno.gov</td>
            <td>03603</td>
            <td>941-964-8942</td>

            <td>$1677.07</td>
            <td>176.96.162.192</td>

            <td>http://www.flexomat.com</td>
            <td>19:11</td>
            <td>1980/7/31</td>
            <td>31/7/1980</td>

           </tr>
            
           <tr>
            <td>found@flexomat.com</td>

            <td>84939</td>
            <td>941-964-7004</td>
            <td>$3916.83</td>

            <td>240.145.198.78</td>
            <td>http://www.fish.org</td>
            <td>1:29</td>

            <td>1980/8/26</td>
            <td>26/8/1980</td>
           </tr>

            
           <tr>
            <td>henry@lostnfound.org</td>
            <td>76453</td>
            <td>941-964-3084</td>

            <td>$3875.88</td>
            <td>235.225.168.168</td>

            <td>http://www.fish.org</td>
            <td>15:31</td>
            <td>2000/10/22</td>
            <td>22/10/2000</td>

           </tr>
            
           <tr>

            <td>sam@aftonbladet.se</td>
            <td>36274</td>
            <td>941-964-7784</td>
            <td>$73.43</td>
            <td>114.190.194.148</td>

            <td>http://www.dn.se</td>

            <td>18:24</td>
            <td>1994/11/11</td>
            <td>11/11/1994</td>
           </tr>
            
           <tr>
            <td>dev@polyester.se</td>

            <td>15971</td>
            <td>941-964-7527</td>
            <td>$1855.18</td>
            <td>179.121.143.189</td>
            <td>http://www.flexomat.com</td>
            <td>10:25</td>

            <td>1984/8/16</td>
            <td>16/8/1984</td>
           </tr>
            
           <tr>
            <td>devo@fish.org</td>
            <td>31734</td>

            <td>941-964-9760</td>

            <td>$3201.35</td>
            <td>213.186.220.205</td>
            <td>http://www.samba.org</td>
            <td>19:37</td>
            <td>1979/3/4</td>

            <td>4/3/1979</td>

           </tr>
            
           <tr>
            <td>devo@reno.gov</td>
            <td>52074</td>
            <td>941-964-2068</td>

            <td>$3035.24</td>
            <td>189.62.225.163</td>

            <td>http://www.dn.se</td>
            <td>21:18</td>
            <td>1998/2/24</td>
            <td>24/2/1998</td>

           </tr>
            
           <tr>
            <td>mendez@fish.org</td>

            <td>87800</td>
            <td>941-964-7933</td>
            <td>$618.59</td>

            <td>254.119.153.91</td>
            <td>http://www.dn.se</td>
            <td>22:34</td>

            <td>1979/5/28</td>
            <td>28/5/1979</td>
           </tr>

            
           <tr>
            <td>muffins@reno.gov</td>
            <td>95926</td>
            <td>941-964-147</td>

            <td>$3897.91</td>
            <td>105.85.121.209</td>

            <td>http://www.flexomat.com</td>
            <td>9:50</td>
            <td>2003/4/1</td>
            <td>1/4/2003</td>

           </tr>
            
           <tr>

            <td>carl@donuts.com</td>
            <td>74513</td>
            <td>941-964-4507</td>
            <td>$2150.68</td>
            <td>106.175.123.125</td>

            <td>http://www.fish.org</td>

            <td>21:42</td>
            <td>1977/4/8</td>
            <td>8/4/1977</td>
           </tr>
            
           <tr>
            <td>sam@fish.org</td>

            <td>82420</td>
            <td>941-964-2134</td>
            <td>$3947.54</td>
            <td>129.78.102.122</td>
            <td>http://mountdev.net</td>
            <td>11:33</td>

            <td>1990/11/26</td>
            <td>26/11/1990</td>
           </tr>
            
           <tr>
            <td>devo@mountdev.net</td>
            <td>81905</td>

            <td>941-964-3535</td>

            <td>$722.17</td>
            <td>229.101.84.111</td>
            <td>http://fish.org</td>
            <td>7:29</td>
            <td>1975/12/28</td>

            <td>28/12/1975</td>

           </tr>
            
           <tr>
            <td>john@lostnfound.org</td>
            <td>93124</td>
            <td>941-964-1508</td>

            <td>$394.82</td>
            <td>61.184.235.77</td>

            <td>http://www.mountdev.net</td>
            <td>14:38</td>
            <td>1979/12/10</td>
            <td>10/12/1979</td>

           </tr>
             </tbody>
          </table>


          </body>


          custom.js

          jQuery(document).ready(function() {
            $("#large").tablesorter( {sortList: [[0,0], [1,0]]} );
          });


          posted @ 2009-10-10 16:02 笑口常開、財(cái)源滾滾來! 閱讀(2032) | 評(píng)論 (0)編輯 收藏

          2009年9月26日

          1.在當(dāng)前類路徑下新建一個(gè)properties文件;
          編寫DBconfig.properties

          driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
          url=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=school   
          user=sa   
          password=sa


          2.新建工具類

          package com.itcast.db;

          import java.sql.Connection;
          import java.sql.DriverManager;
          import java.util.Properties;

          public class ConnectionUtil {

           public Connection openConnection() {
            String driver = "";
            String url = "";
            String user = "";
            String password = "";
            Properties prop = new Properties();
            Connection conn = null;
            try {
             //加載屬性文件   
             prop.load(this.getClass().getClassLoader().getResourceAsStream(
               "DBConfig.properties"));
             driver = prop.getProperty("driver");
             url = prop.getProperty("url");
             user = prop.getProperty("user");
             password = prop.getProperty("password");
             //Class.forName加載驅(qū)動(dòng)   
             Class.forName(driver);
             //DriverManager獲得連接   
             conn = DriverManager.getConnection(url, user, password);
             return conn;
            } catch (Exception e) {
             e.printStackTrace();
            }
            return null;
           }

          }


          3.業(yè)務(wù)實(shí)現(xiàn)類


          package com.itcast.service.impl;

          import java.sql.Connection;
          import java.sql.DriverManager;
          import java.sql.PreparedStatement;
          import java.sql.ResultSet;
          import java.sql.SQLException;
          import java.sql.Statement;
          import java.util.ArrayList;
          import java.util.List;

          import com.itcast.db.ConnectionUtil;
          import com.itcast.db.DBConnection;
          import com.itcast.model.User;
          import com.itcast.service.IUser;

          /**
           * 業(yè)務(wù)邏輯處理
           *
           * @author Administrator
           *
           */
          public class UserImpl implements IUser {

          // DBConnection db = new DBConnection();

           private PreparedStatement pstm;
           
           /**
            * 添加用戶
            */
           public void  add_User(User user) {
            try{
          //  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
          //  conn= DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=school", "sa", "sa");
             Connection conn = new ConnectionUtil().openConnection();
            pstm=conn.prepareStatement("insert into userTable(user_name , user_password ,user_age,user_sex,user_address,user_telephone) values(?,?,?,?,?,?)");
            pstm.setString(1, user.getUsername());
            pstm.setString(2, user.getPassword());
            pstm.setInt(3, user.getAge());
            pstm.setString(4, user.getSex());
            pstm.setString(5, user.getAddress());
            pstm.setString(6, user.getTelephone());
            pstm.executeUpdate();
            }catch(SQLException e){
             e.printStackTrace();
            }catch(Exception e){
             e.printStackTrace();
            }
          //  String sql="insert into userTable(user_name , user_password ,user_age,user_sex,user_address,user_telephone) values(?,?,?,?,?,?)";
          //  
          //  db.GetConnection();
            

           }

           /**
            * 刪除用戶
            */
           public boolean del_User(int id) {
            boolean result=false;
            try{
             Connection conn = new ConnectionUtil().openConnection();
             pstm=conn.prepareStatement("delete from  userTable where user_id="+id);
             
             pstm.executeUpdate();
             result=true;
             }catch(SQLException e){
              e.printStackTrace();
             }catch(Exception e){
              e.printStackTrace();
             }
             return result;
           }

           /**
            * 查找用戶
            */
           public List<User> find_User() {
           
            Connection conn = new ConnectionUtil().openConnection();
            List<User> list = new ArrayList();
            User user = new User();
            
            String sql = "select * from userTable ";
            try {
             pstm=conn.prepareStatement(sql);
          //   pstm.setInt(1, id);
             ResultSet rs=pstm.executeQuery();
             while (rs.next()) {
              user.setId(rs.getInt(1));
              user.setUsername(rs.getString(2));
              user.setPassword(rs.getString(3));
              user.setAge(rs.getInt(4));
              user.setSex(rs.getString(5));
              user.setAddress(rs.getString(6));
              user.setTelephone(rs.getString(7));
              user.setTime(rs.getDate(8));
          //    System.out.println(rs.getString(7));
              list.add(user);
             }
            } catch (SQLException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            }
            return list;
            
            
           }

           /**
            * 按照id查詢用戶信息
            */
           public List find_Users(int id) {
            Connection conn = new ConnectionUtil().openConnection();
            List list = new ArrayList();
            User user = new User();
            
            String sql = "select * from userTable where user_id=?";
            try {
             pstm=conn.prepareStatement(sql);
             pstm.setInt(1, id);
             ResultSet rs=pstm.executeQuery();
             while (rs.next()) {
              user.setId(rs.getInt(1));
              user.setUsername(rs.getString(2));
              user.setPassword(rs.getString(3));
              user.setAge(rs.getInt(4));
              user.setSex(rs.getString(5));
              user.setAddress(rs.getString(6));
              user.setTelephone(rs.getString(7));
              user.setTime(rs.getDate(8));
          //    System.out.println(rs.getString(7));
              list.add(user);
             }
            } catch (SQLException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            }
            return list;
           }

           /**
            * 修改用戶信息
            */
           public IUser modify_User() {
            // TODO Auto-generated method stub
            return null;
           }

          }

          posted @ 2009-09-26 14:09 笑口常開、財(cái)源滾滾來! 閱讀(741) | 評(píng)論 (0)編輯 收藏

          2009年9月22日

               摘要: JSTL 入門: 探討 core JSTL 入門: 探討 core 使用定制標(biāo)記進(jìn)行流控制和 URL 管理 ...  閱讀全文
          posted @ 2009-09-22 10:50 笑口常開、財(cái)源滾滾來! 閱讀(404) | 評(píng)論 (0)編輯 收藏

          2009年9月21日

          由于采用sql server2000作為數(shù)據(jù)庫。用java進(jìn)行jdbc連接時(shí)

          出現(xiàn)Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.

          發(fā)現(xiàn)原來是少了sp4補(bǔ)丁。

          先下載補(bǔ)丁文件

          SQL2000-KB884525-SP4-x86-CHS.EXE

          之后安裝該文件,默認(rèn)安裝在c:/下

          進(jìn)入該文件夾,點(diǎn)擊set up.bat 進(jìn)行更新。

          最后重新開啟服務(wù)。就ok啦!


          posted @ 2009-09-21 16:35 笑口常開、財(cái)源滾滾來! 閱讀(224) | 評(píng)論 (0)編輯 收藏
           
                      以前用myeclipse連接sql server 2005時(shí),直接用的一個(gè)jdbcdriver.jar就ok了。但是目前為了需要
          必須用sql server 2000,所以我才在網(wǎng)上找了找連接驅(qū)動(dòng)。
                     
                   
          SQLServer2000的JDBC驅(qū)動(dòng)
          轉(zhuǎn)自  
          http://blog.csdn.net/javalf00/archive/2009/06/09/4254478.aspx



          一、下載SQL SERVER2000的jdbc驅(qū)動(dòng)程序。在微軟站點(diǎn)就有這個(gè)驅(qū)動(dòng)程序: Window操作系統(tǒng)

          http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/setup.exe Unix操作系統(tǒng)

          Mssqlserver.tar http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/mssqlserver.tar

           二、安裝JDBC 執(zhí)行ms_jdbc_setup.exe可執(zhí)行文件,一切只需要點(diǎn)擊下一

          步,至到出現(xiàn)finish按鈕,完成安裝。注: (1) ms_JDBC_setup默認(rèn)安裝路

          徑為:c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC (2)此版

          (Version 2.2.0022)本僅支持Microsoft SQL Server 2000 Driver for JDBC (3)安

          裝目錄\lib\下的三個(gè)jar文件即是我們要的JDBC驅(qū)動(dòng)核心 msbase.jar

          mssqlserver.jar msutil.jar

           三、將以上(3)中指的三個(gè)jar文件加入到環(huán)境變量中去 classpath:
           
          d:\webserver\lib\msbase.jar;d:\webserver\lib\mssqlserver.jar;d:\webserver\lib\msutil.jar
           
          注:也可以省事的將以上三個(gè)文件拷貝至你的jvm機(jī)所在的

          JAVA_HOME\jre\lib\ext目錄下,不過不建議這么做。 對(duì)于web項(xiàng)目,可

          直接將以上三個(gè)jar包拷貝到WEB-INF下的lib文件夾下即可。

          四、測試 jsp文件:

          您的第一個(gè)字段內(nèi)容為:

          您的第二個(gè)字段內(nèi)容為:

          五、注意事項(xiàng) 1. 要保證你的Sql服務(wù)是啟動(dòng)狀態(tài) 2. 在Sql 的管理器中能夠

          使用sa或其它用戶正常登錄;(有些人在安裝sql時(shí)用了nt用戶管理模式,

          這里可能會(huì)有一定問題) 3. 第一次配置好環(huán)境變量最好能重啟一下電腦

          4. 注意JVM和DataBase的啟動(dòng)順序:先啟動(dòng)DataBase,再啟動(dòng)JVM機(jī)。

          注:在停止Web服務(wù)器后,再重啟動(dòng),中間最好能有10秒以上的間隔。
           
          5. 注意操作系統(tǒng)的網(wǎng)絡(luò)連通性 A.啟動(dòng)了Tcp/IP服務(wù) B.配置了相關(guān)IP地址,

          有些人機(jī)器可能用的是自動(dòng)分配IP或有配置IP時(shí),但網(wǎng)絡(luò)不通可能也找不

          到IP 6. 有些機(jī)器在調(diào)試明最好能將(四)中的連接地址localhost改成數(shù)據(jù)

          庫服務(wù)器的IP,這也是要注意5的原因。

           package zmsjdbc;
          import java.sql.*;
          public class sqlserver1 {
          private String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=catv"; //catv是數(shù)據(jù)庫!loacalhost可以用IP和主機(jī)
          private String user="sa";
          private String pwd="";
          public Connection getcon() {
          Connection con;
          try { //加載驅(qū)動(dòng)程序
          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); //創(chuàng)建連接 con=DriverManager.getConnection(url,user,pwd);
          return con;
          } catch(ClassNotFoundException e) {
          System.out.println("加載驅(qū)動(dòng)程序出錯(cuò)");
          } catch(SQLException e) {
          System.out.println(e.getMessage());
          } catch(Exception e) {
           System.out.println("出現(xiàn)了好大的錯(cuò)誤");
          }
           return null;
           }
          public ResultSet executeSql(String sqlstr) {
          Connection conn; Statement stmt;
           try { conn=getcon();
          stmt=conn.createStatement();
          ResultSet rs=stmt.executeQuery(sqlstr);
          return rs;
          } catch(SQLException e) {
          System.out.print("獲取數(shù)據(jù)集時(shí)出現(xiàn)錯(cuò)誤");
           }
          return null;
          }
           public static void main(String[] args) {
          ResultSet rs1;
          sqlserver1 sql1=new sqlserver1();
           rs1=sql1.executeSql("select ui_id,ui_name from userinfo");
           try {
          while(rs1.next()) {
          System.out.println(rs1.getString("ui_id")+" 姓名:"+rs1.getString("ui_name"));
           
               }
          } catch(Exception e)
          {
          System.out.println(e.getMessage());
          }
          } } /*

          1、對(duì)于SQLSERVER 必須下載 SQLSERVER驅(qū)動(dòng) http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/setup.exe 然后把 msbase.jar mssqlserver.jar msutil.jar 復(fù)制到 D:\JBuilder9\jdk1.4\jre\lib\ext,或者放在web項(xiàng)目的WEB-INF/lib下。

          2:如果出現(xiàn)錯(cuò)誤: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 說明 SQLERVER 端口號(hào) 不對(duì) 》》》更改端口號(hào):SQLSERVER->屬性-常規(guī)-網(wǎng)絡(luò)配置-常規(guī)-TCP/IP-屬性--更改端口號(hào)有個(gè)命令可以用: cmd-> netstat -a 例如:String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=zmstv"; 說明你使用的是1433 在CMD 下 輸入 netstat -a -n 應(yīng)該看不到:TCP 127.0.0.1:1433 0.0.0.0:0 LISTENING 如果安裝 sqlserver 2000 出現(xiàn) 報(bào)錯(cuò) "以前的某個(gè)程序安裝已在安裝計(jì)算機(jī)上創(chuàng)建掛起的文件操作。。。。" 打開注冊(cè)表編輯器,在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations項(xiàng)目,并刪除它。這樣就可以清除安裝暫掛項(xiàng)目。

           

           


          posted @ 2009-09-21 12:08 笑口常開、財(cái)源滾滾來! 閱讀(11423) | 評(píng)論 (0)編輯 收藏

          2009年9月17日

          在J2ME程序開發(fā)過程中,為了一定的需要,經(jīng)常需要來獲得用戶的手機(jī)號(hào)碼,但是這個(gè)功能卻在標(biāo)準(zhǔn)的J2ME類庫中沒有提供。

          在使用中國移動(dòng)的CMWAP方式連接網(wǎng)絡(luò)時(shí),中國移動(dòng)會(huì)將用戶的手機(jī)號(hào)碼放在一個(gè)名稱為x-up-calling-line-id的頭信息中,可以通過讀取該頭信息,獲得用戶的手機(jī)號(hào)碼,具體代碼如下:

          String usermphone = http.getHeader("x-up-calling-line-id");

          偽手機(jī)號(hào),用戶在移動(dòng)夢網(wǎng)的ID:

          String usermphone = http.getHeader("MISC_MID");

          其中http是HttpConnction類型的對(duì)象。 

          [color=Green]注意:必須要是CNWAP聯(lián)網(wǎng)才行。 [/color]

          posted @ 2009-09-17 20:42 笑口常開、財(cái)源滾滾來! 閱讀(790) | 評(píng)論 (2)編輯 收藏
           

          原來獲取用戶手機(jī)號(hào)碼很簡單,關(guān)鍵是通信營運(yùn)商給不給你送。如果給你送的話,手機(jī)號(hào)碼是在Http請(qǐng)求頭里獲取,通常在x-up-calling-line-id項(xiàng)里,如果通過此項(xiàng)得不到的話。可采用循環(huán)讀出所有的Http頭里的信息,號(hào)碼在哪一個(gè)頭里就一目了然了。
          String userPhone = request.getHeader("x-up-calling-line-id");一般通過這句就能獲取到手機(jī)號(hào)碼。
          如果號(hào)碼不在上面這條請(qǐng)求頭里,采用下面方法讀取看號(hào)碼在哪一條請(qǐng)求頭里。

          Enumeration headers = request.getHeaderNames() ;
          while(headers.hasMoreElements())
          {
               String head = (String)headers.nextElement();
               out.println(head+":"+request.getHeader(head));
          }
          這樣就可以將所有的信息打印出來,看到號(hào)碼的位置了。注意獲取號(hào)碼的前提是跟營運(yùn)商有合作或者跟他們申請(qǐng)。同意給你送,否則程序?qū)崿F(xiàn)了也沒有用。

           

          本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/jhjinhua/archive/2008/12/12/3505675.aspx

          posted @ 2009-09-17 20:19 笑口常開、財(cái)源滾滾來! 閱讀(5868) | 評(píng)論 (6)編輯 收藏
          僅列出標(biāo)題  下一頁
           
          主站蜘蛛池模板: 乐安县| 色达县| 集安市| 武川县| 保亭| 贡嘎县| 全州县| 车险| 郓城县| 江安县| 南郑县| 平原县| 南宫市| 寿宁县| 福鼎市| 临清市| 和平县| 金门县| 广德县| 巨野县| 界首市| 四会市| 海宁市| 永登县| 双辽市| 兴义市| 凤翔县| 息烽县| 剑河县| 永德县| 濮阳市| 镇远县| 金坛市| 顺平县| 水富县| 甘南县| 托克逊县| 防城港市| 弋阳县| 钟祥市| 朝阳区|