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

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

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

    posts - 89, comments - 241, trackbacks - 0, articles - 1
       :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

         摘要: uploadFile.java  1package action;  2  3import java.io.File;      4import java.text.DateFormat;      5import ...  閱讀全文

    posted @ 2009-09-27 08:54 saobaolu| 編輯 收藏

    Apache FileUpload可以應用于很多方面
    現將一應用貼出
    FileUploadServlet.java
     1 package Servlet;
     2 
     3 import java.io.File;
     4 import java.io.IOException;
     5 import java.util.Iterator;
     6 import java.util.List;
     7  
     8 import javax.servlet.ServletException;
     9 import javax.servlet.http.HttpServlet;
    10 import javax.servlet.http.HttpServletRequest;
    11 import javax.servlet.http.HttpServletResponse;
    12  
    13 import org.apache.commons.fileupload.FileItem;
    14 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    15 import org.apache.commons.fileupload.servlet.ServletFileUpload;
    16  
    17 @SuppressWarnings("serial")
    18 public class FileUploadServlet extends HttpServlet {
    19     private String uploadPath = "D:\\temp"// 上傳文件的目錄
    20     private String tempPath = "d:\\temp\\buffer\\"// 臨時文件目錄
    21     File tempPathFile;
    22  
    23     @SuppressWarnings("unchecked")
    24     public void doPost(HttpServletRequest request, HttpServletResponse response)
    25            throws IOException, ServletException {
    26        try {
    27            // Create a factory for disk-based file items
    28            DiskFileItemFactory factory = new DiskFileItemFactory();
    29  
    30            // Set factory constraints
    31            factory.setSizeThreshold(4096); // 設置緩沖區大小,這里是4kb
    32            factory.setRepository(tempPathFile);// 設置緩沖區目錄
    33  
    34            // Create a new file upload handler
    35            ServletFileUpload upload = new ServletFileUpload(factory);
    36  
    37            // Set overall request size constraint
    38            upload.setSizeMax(4194304); // 設置最大文件尺寸,這里是4MB
    39  
    40            List<FileItem> items = upload.parseRequest(request);// 得到所有的文件
    41            Iterator<FileItem> i = items.iterator();
    42            while (i.hasNext()) {
    43               FileItem fi = (FileItem) i.next();
    44               String fileName = fi.getName();
    45               if (fileName != null) {
    46                   File fullFile = new File(fi.getName());
    47                   File savedFile = new File(uploadPath, fullFile.getName());
    48                   fi.write(savedFile);
    49               }
    50            }
    51            System.out.print("upload succeed");
    52        } catch (Exception e) {
    53            // 可以跳轉出錯頁面
    54            e.printStackTrace();
    55        }
    56     }
    57  
    58     public void init() throws ServletException {
    59        File uploadFile = new File(uploadPath);
    60        if (!uploadFile.exists()) {
    61            uploadFile.mkdirs();
    62        }
    63        File tempPathFile = new File(tempPath);
    64         if (!tempPathFile.exists()) {
    65            tempPathFile.mkdirs();
    66        }
    67     }
    68 }
    upload頁面:
    1 <form name="myform" action="FileUpload" method="post" enctype="multipart/form-data">
    2 File:<br>
    3   <input type="file" name="myfile"><br>
    4   <br>
    5    <input type="submit" name="submit" value="Commit">
    6 </form>

    一般來說,要使用apache fileUpload這個插件,一般要導入兩個jar包
    commons-fileupload-1.2.1.jar
    commons-io-1.3.2.jar
    如果這個io包沒有導入貌似便會報錯。
    點擊下載這兩個包的最新版。
    /Files/chenglu/java/FileUpLoad.zip

    posted @ 2009-09-23 12:08 saobaolu| 編輯 收藏

    一個不會報錯的jsp彩色驗證碼程序
    一般的,會報servlet錯誤:
    getOutputStream() has already been called for this response
    但是這個程序不會報錯,原因是把里面的空格都刪除
    -------------------------------------------------------------
    在tomcat中jsp編譯成servlet之后在函數_jspService(HttpServletRequest request, HttpServletResponse response)的最后
    有一段這樣的代碼
    finally {
          if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
        }
    這里是在釋放在jsp中使用的對象,會調用response.getWriter(),因為這個方法是和
    response.getOutputStream()相沖突的!所以會出現以上這個異常。

    然后當然是要提出解決的辦法,其實挺簡單的(并不是和某些朋友說的那樣--
    將jsp內的所有空格和回車符號所有都刪除掉),

    在使用完輸出流以后調用以下兩行代碼即可:
    out.clear();
    out = pageContext.pushBody();

    --------------------------------------------------------
    分割線內為引用~

     1<%@ page  import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
     2<%@ page import="java.io.OutputStream" %>
     3<%!
     4Color getRandColor(int fc,int bc){
     5Random random = new Random();
     6if(fc>255) fc=255;
     7if(bc>255) bc=255;
     8int r=fc+random.nextInt(bc-fc);
     9int g=fc+random.nextInt(bc-fc);
    10int b=fc+random.nextInt(bc-fc);
    11return new Color(r,g,b);
    12}

    13%>
    14<%
    15try{
    16response.setHeader("Pragma","No-cache");
    17response.setHeader("Cache-Control","no-cache");
    18response.setDateHeader("Expires"0);
    19int width=60, height=20;
    20BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    21OutputStream os=response.getOutputStream();
    22Graphics g = image.getGraphics();
    23Random random = new Random();
    24g.setColor(getRandColor(200,250));
    25g.fillRect(00, width, height);
    26
    27g.setFont(new Font("Times New Roman",Font.PLAIN,18));
    28g.setColor(getRandColor(160,200));
    29for (int i=0;i<155;i++)
    30{
    31int x = random.nextInt(width);
    32int y = random.nextInt(height);
    33int xl = random.nextInt(12);
    34int yl = random.nextInt(12);
    35g.drawLine(x,y,x+xl,y+yl);
    36}

    37String sRand="";
    38for (int i=0;i<4;i++){
    39String rand=String.valueOf(random.nextInt(10));
    40sRand+=rand;
    41g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));
    42g.drawString(rand,13*i+6,16);
    43}

    44session.setAttribute("rand",sRand);
    45g.dispose();
    46
    47ImageIO.write(image, "JPEG",os);
    48os.flush();
    49os.close();
    50os=null;
    51response.flushBuffer();
    52out.clear();
    53out = pageContext.pushBody();
    54}

    55catch(IllegalStateException e)
    56{
    57System.out.println(e.getMessage());
    58e.printStackTrace();
    59}
    %>
    60

    posted @ 2009-09-22 14:52 saobaolu| 編輯 收藏

    DROP,CREATE這些是DDL語句,不能在JAVA中執行,存儲過程中也是一樣不能執行。
    只有DML如insert,delete,update,select才能執行。
    SQL語言共分為四大類:數據查詢語言DQL,數據操縱語言DML,
    數據定義語言DDL,數據控制語言DCL
    數據查詢語言DQL Q = Query
    數據操縱語言DML M = Manipulation
    事務控制語言TCL C = Control
    數據定義語言DDL D = Definition
    數據控制語言DCL(自動提交事務)

    最近在用java搞數據庫的應用,進行create table操作的過程中一直有Exception異常。不懂。遂記錄此條筆記。

    posted @ 2009-09-22 08:45 saobaolu| 編輯 收藏

      A:
    <s:a xhref=""></s:a>-----超鏈接,類似于html里的<a></a>
    <s:action name=""></s:action>-----執行一個view里面的一個action
    <s:actionerror/>-----如果action的errors有值那么顯示出來
    <s:actionmessage/>-----如果action的message有值那么顯示出來
    <s:append></s:append>-----添加一個值到list,類似于list.add();
    <s:autocompleter></s:autocompleter>-----自動完成<s:combobox>標簽的內容,這個是ajax

    B:
    <s:bean name=""></s:bean>-----類似于struts1.x中的,JavaBean的值

    C:
    <s:checkbox></s:checkbox>-----復選框
    <s:checkboxlist list=""></s:checkboxlist>-----多選框
    <s:combobox list=""></s:combobox>-----下拉框
    <s:component></s:component>-----圖像符號

    D:
    <s:date/>-----獲取日期格式
    <s:datetimepicker></s:datetimepicker>-----日期輸入框
    <s:debug></s:debug>-----顯示錯誤信息
    <s:div></s:div>-----表示一個塊,類似于html的<div></div>
    <s:doubleselect list="" doubleName="" doubleList=""></s:doubleselect>-----雙下拉框

    E:
    <s:if test=""></s:if>
    <s:elseif test=""></s:elseif>
    <s:else></s:else>-----這3個標簽一起使用,表示條件判斷

    F:
    <s:fielderror></s:fielderror>-----顯示文件錯誤信息
    <s:file></s:file>-----文件上傳
    <s:form action=""></s:form>-----獲取相應form的值

    G:
    <s:generator separator="" val=""></s:generator>----和<s:iterator>標簽一起使用

    H:
    <s:head/>-----在<head></head>里使用,表示頭文件結束
    <s:hidden></s:hidden>-----隱藏值

    I:
    <s:i18n name=""></s:i18n>-----加載資源包到值堆棧
    <s:include value=""></s:include>-----包含一個輸出,servlet或jsp頁面
    <s:inputtransferselect list=""></s:inputtransferselect>-----獲取form的一個輸入
    <s:iterator></s:iterator>-----用于遍歷集合

    L:
    <s:label></s:label>-----只讀的標簽

    M:
    <s:merge></s:merge>-----合并遍歷集合出來的值

    O:
    <s:optgroup></s:optgroup>-----獲取標簽組
    <s:optiontransferselect doubleList="" list="" doubleName=""></s:optiontransferselect>-----左右選擇框

    P:
    <s:param></s:param>-----為其他標簽提供參數
    <s:password></s:password>-----密碼輸入框
    <s:property/>-----得到'value'的屬性
    <s:push value=""></s:push>-----value的值push到棧中,從而使property標簽的能夠獲取value的屬性

    R:
    <s:radio list=""></s:radio>-----單選按鈕
    <s:reset></s:reset>-----重置按鈕

    S:
    <s:select list=""></s:select>-----單選框
    <s:set name=""></s:set>-----賦予變量一個特定范圍內的值
    <s:sort comparator=""></s:sort>-----通過屬性給list分類
    <s:submit></s:submit>-----提交按鈕
    <s:subset></s:subset>-----為遍歷集合輸出子集

    T:
    <s:tabbedPanel id=""></s:tabbedPanel>-----表格框
    <s:table></s:table>-----表格
    <s:text name=""></s:text>-----I18n文本信息
    <s:textarea></s:textarea>-----文本域輸入框
    <s:textfield></s:textfield>-----文本輸入框
    <s:token></s:token>-----攔截器
    <s:tree></s:tree>-----樹
    <s:treenode label=""></s:treenode>-----樹的結構

    U:
    <s:updownselect list=""></s:updownselect>-----多選擇框
    <s:url></s:url>-----創建url

    posted @ 2009-09-16 07:58 saobaolu| 編輯 收藏

    1)棧和隊列的共同特點是 C
    A)都是先進先出
    B)都是先進后出
    C)只允許在端點處插入和刪除元素
    D)沒有共同點

    2)已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是
    A)acbed
    B)decab
    C)deabc
    D)cedba

    3)鏈表不具有的特點是 B
    A)不必事先估計存儲空間
    B)可隨機訪問任一元素
    C)插入刪除不需要移動元素
    D)所需空間與線性表長度成正比

    5)為了提高測試的效率,應該  D
    A)隨機選取測試數據
    B)取一切可能的輸入數據作為測試數據
    C)在完成編碼以后制定軟件的測試計劃
    D)集中對付那些錯誤群集的程序

    算法的時間復雜度是指算法執行過程中所需要的基本運算次數

     

    posted @ 2009-09-12 21:34 saobaolu| 編輯 收藏

    這本書的名字叫做 < < Dive Into Python >> 一個完全開放,免費閱讀和傳播的一本書 http://www.diveintopython.org/
    在這里,你可以下載到中文語言版本,不過一位Python大牛告訴我,讀英文原版的更好。
    這位Python大牛是一位受人尊敬的創業者 藍弩的創始人之一。 http://www.lanoo.cc

    posted @ 2009-09-11 10:28 saobaolu| 編輯 收藏

    雖然沒有win live writter好用,但是也可以滿足blogjava的慢速。

    posted @ 2009-09-11 08:51 saobaolu| 編輯 收藏

    棧(stack)在計算機科學中是限定僅在表尾進行插入或刪除操作的線形表。
        棧是一種數據結構,它按照先進后出的原則存儲數據,先進入的數據被壓入棧底,最后的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據(最后一個數據被第一個讀出來)。
        棧是只能在某一端插入和刪除的特殊線性表。用桶堆積物品,先堆進來的壓在底下,隨后一件一件往堆。取走時,只能從上面一件一件取。堆和取都在頂部進行,底部一般是不動的。
      棧就是一種類似桶堆積物品的數據結構,進行刪除和插入的一端稱棧頂,另一堆稱棧底。插入一般稱為進棧(PUSH),刪除則稱為退棧(POP)。 棧也稱為后進先出表(LIFO表)。
        1、進棧(PUSH)算法
            ①若TOP≥n時,則給出溢出信息,作出錯處理(進棧前首先檢查棧是否已滿,滿則溢出;不滿則作②);
            ②置TOP=TOP+1(棧指針加1,指向進棧地址);
            ③S(TOP)=X,結束(X為新進棧的元素);
        2、退棧(POP)算法
          ①若TOP≤0,則給出下溢信息,作出錯處理(退棧前先檢查是否已為空棧, 空則下溢;不空則作②);
          ②X=S(SOP),(退棧后的元素賦給X);
          ③TOP=TOP-1,結束(棧指針減1,指向棧頂)。
    棧可以用來在函數調用的時候存儲斷點,做遞歸時要用到棧!

    posted @ 2009-08-03 18:19 saobaolu| 編輯 收藏

         摘要: 用于鼠標移動到自定義(所有標簽均可)的提示作用  閱讀全文

    posted @ 2009-07-30 21:44 saobaolu| 編輯 收藏

    http://www.oracle.com/technology/global/cn/pub/articles/maps1.html

    http://www.oracle.com/technology/global/cn/tech/java/ajax.html

    IBM有這些教程 oracle也有咯~呵呵

    posted @ 2009-07-20 13:52 saobaolu| 編輯 收藏

     1. Java中的異常處理機制的簡單和應用。

      當Java程序違反了Java的語義規則時,Java虛擬機就會將發生的錯誤表示為一個異常。違反語義規則包括2種情況。一種是Java類庫內置的語義。例如數組下標越界,會引發IndexOutOfBoundsException;訪問null的對象時會引發NullPointerException。另一種情況就是Java允許程序員擴展這種語義檢查,程序員可以創建自己的異常,并自由選擇在何時用throw關鍵字引發異常。所有的異常都是java.lang.Thowable的子類。

      2. Java的接口和C++的虛類的相同和不同處。

      由于Java不支持多繼承,而有可能某個類或對象要使用分別在幾個類或對象里面的方法或屬性,現有的單繼承機制就不能滿足要求。與繼承相比,接口有更高的靈活性,因為接口中沒有任何實現代碼。當一個類實現了接口以后,該類要實現接口里面所有的方法和屬性,接口里面的屬性在默認狀態下面都是public static,所有方法默認情況下是public.一個類可以實現多個接口。

      3. 垃圾回收的優點和原理。并考慮2種回收機制。

      Java語言中一個顯著的特點就是引入了垃圾回收機制,使c++程序員最頭疼的內存的問題迎刃而解,它使得Java程序員在編寫程序的時候不再需要考慮內存管理。由于有個垃圾回收機制,Java中的對象不再有“作用域”的概念,只有對象的引用才有“作用域”。垃圾回收可以有效的防止內存泄露,有效的使用可以使用的內存。垃圾回收器通常是作為一個單獨的低級別的線程運行,不可預知的情況下對內存堆中已經死亡的或者長時間沒有使用的對象進行清除和回收,程序員不能實時的調用垃圾回收器對某個對象或所有對象進行垃圾回收。回收機制有分代復制垃圾回收和標記垃圾回收,增量垃圾回收。

      4.線程同步的方法。

      wait():使一個線程處于等待狀態,并且釋放所持有的對象的lock。

      sleep():使一個正在運行的線程處于睡眠狀態,是一個靜態方法,調用此方法要捕捉InterruptedException異常。

      notify():喚醒一個處于等待狀態的線程,注意的是在調用此方法的時候,并不能確切地喚醒某一個等待狀態的線程,而是由JVM確定喚醒哪個線程,而且不是按優先級。

      Allnotity():喚醒所有處入等待狀態的線程,注意并不是給所有喚醒線程一個對象的鎖,而是讓它們競爭。

      5. Error與Exception有什么區別?

      Error表示系統級的錯誤和程序不必處理的異常,

      Exception表示需要捕捉或者需要程序進行處理的異常。

      6. 在java中一個類被聲明為final類型,表示了什么意思?

      表示該類不能被繼承,是頂級類。

      7. heap和stack有什么區別。

      棧是一種線形集合,其添加和刪除元素的操作應在同一段完成。棧按照后進先出的方式進行處理。堆是棧的一個組成元素。

      8. 談談final, finally, finalize的區別。

      final—修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載。

      finally—異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那么相匹配的 catch 子句就會執行,然后控制就會進入 finally 塊(如果有的話)。
     
      finalize—方法名。Java 技術允許使用 finalize() 方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在 Object類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統資源或者執行其他清理工作。finalize() 方法是在垃圾收集器刪除對象之前對這個對象調用的。

      9. Anonymous Inner Class (匿名內部類)

      是否可以extends(繼承)其它類,是否可以implements(實現)interface(接口)?

      匿名的內部類是沒有名字的內部類。不能extends(繼承) 其它類,但一個內部類可以作為一個接口,由另一個內部類實現。

      10. Static Nested Class 和 Inner Class的不同

      Nested Class (一般是C++的說法),Inner Class (一般是JAVA的說法)。Java內部類與C++嵌套類最大的不同就在于是否有指向外部的引用上。

      注: 靜態內部類(Inner Class)意味著1創建一個static內部類的對象,不需要一個外部類對象,2不能從一個static內部類的一個對象訪問一個外部類對象。

    轉載:http://edu.hsw.cn/system/2009/07/13/050238819.shtml

    posted @ 2009-07-13 20:14 saobaolu| 編輯 收藏

    今日做網站,對js  div+css等小有感冒
    1.首頁flash圖片輪播源文件
    /Files/chenglu/flash-index.rar
    2.圖片局部放大
    /Files/chenglu/tjpzoom.zip
    3.Tab內容切換
    /Files/chenglu/ajaxtabscontent.rar
    4.Jquery報紙特效
    /Files/chenglu/jquerynewspager.rar

    posted @ 2009-07-04 09:17 saobaolu| 編輯 收藏

     

    1<href="#" onclick="this.style.behavior='url(#default#homepage)';this.setHomePage(chenglu.blogjava.net)" > <font color="#FFFFFF">設為首頁 </font> </a> 
    2<href="#" onClick="window.external.AddFavorite(document.location.href,'Javazhai)" onmousemove="status='收藏本頁';" onmouseout="status='';"> <font color="#FFFFFF">加入收藏夾 </font> </a>

    posted @ 2009-06-14 18:07 saobaolu| 編輯 收藏

    一個人如果不懂得處世的藝術,尤其是處世沒有一點“心機”,是無法獲得成功的。要處理好與同事、朋友、家人等一切社會關系,在如今越來越復雜的社會里,要想更好地生存和發展,必須要學會處世之道。處世厚黑學是一種智慧和謀略,是助我們通往成功之路的向導。

    1、要懂得適度偽裝自己,不能太單純。
    要想保護自己,發展自己,要懂得適度偽裝自己。

    2、做人要留退路,留余地。
    做人難,難做人。很多時候,不僅要給別人留有余地,還要給自己鋪個臺階。

    3、嘴不遮掩難成大事。
    有些人話說得絕對,信誓旦旦,又嘴不遮掩,處處許諾,結果能做到的很少,泡湯的很多,最終累得自己半死,還遭人討厭,真是得力不討好,費心還傷神。

    4、成熟而不世故。
    成熟的人,做人沉著穩當,人人想與之交往,這樣的人在社會上做人也左右逢源,如魚得水;而世故的人,本以為占了便宜,把社會上各種算計運用得自以為是,結果,人人對你敬而遠之。

    5、想得開活得不累。
    寵辱不驚,看庭前花開花落;去留無意,望天上云卷云舒。心態決定一切,有好的心態就活得瀟灑不累。

    6、沒事不惹事,來事不怕事。
    一般來說,自然形成的都是圓的,人為修飾的都是方的,因此,方為動,圓為靜,方是原則,圓是機變,方是以不變應萬變,圓是以萬變應不變。外表要圓(大智若愚),內心要方(清靜明志),對己要方(嚴以律己),對人要圓(寬以待人)。

    7、防挨朋友刀。
    處世最怕的是挨朋友插的刀。因為是朋友,你不注意他,因為是朋友,你不防范他,因為是朋友,他了解你的肢體命脈,所以給你那一刀插得最深,因為是朋友,他才會真懂得背后下手。

    8、用勢利眼尋找可靠伙伴。
    有點勢利眼可謂是善識時務,不懂得勢利的人,只能說自欺欺人,表面哽氣,其實糊涂。人生當中,免不了與他人合作,有“勢利眼”的人,能選擇高能耐有前途的人,自己自然也沾光。

    9、放下面子來做人。
    只要臉不太厚,心不太黑,做人就能做得完善,做事就能做得完美。

    posted @ 2009-06-11 15:57 saobaolu| 編輯 收藏

    僅列出標題
    共6頁: 上一頁 1 2 3 4 5 6 下一頁 
    主站蜘蛛池模板: 久久午夜夜伦鲁鲁片无码免费| 成人网站免费大全日韩国产| 亚欧在线精品免费观看一区| 亚洲色偷偷av男人的天堂| 真实国产乱子伦精品免费| 亚洲精品无码久久毛片波多野吉衣| 日本黄色动图免费在线观看| 亚洲av无码一区二区三区网站| 男的把j放进女人下面视频免费| 亚洲国产成人片在线观看无码 | 91免费在线视频| 亚洲第一中文字幕| 在线观看免费视频资源| 亚洲一线产品二线产品| 拔擦拔擦8x华人免费久久| 一级A毛片免费观看久久精品| 亚洲中久无码永久在线观看同| 日韩a级无码免费视频| 亚洲午夜免费视频| 丁香花在线观看免费观看| 激情无码亚洲一区二区三区 | 亚洲国产精品无码久久久蜜芽| 9420免费高清在线视频| 久久狠狠爱亚洲综合影院| 成人免费无码精品国产电影| 一级毛片一级毛片免费毛片| 久久久亚洲精品国产| 免费一本色道久久一区| 无码人妻一区二区三区免费视频| 亚洲成av人影院| 在线A级毛片无码免费真人| 久久精品成人免费国产片小草 | 亚洲欧洲日产国码久在线观看 | 成人免费一区二区三区| 亚洲欧洲日产国产最新| 深夜国产福利99亚洲视频| 免费人成黄页在线观看日本| 中文文字幕文字幕亚洲色| 国产亚洲精品自在线观看| 亚洲精品视频在线观看免费| 国产亚洲漂亮白嫩美女在线|