隨筆 - 45, 文章 - 2, 評論 - 11, 引用 - 0
          數據加載中……

          過濾敏感詞匯類

          java

          這個類,是從DLOG4J上學到的。

          posted @ 2011-03-31 08:16 jack zhai 閱讀(840) | 評論 (3)編輯 收藏

          權限管理系統 sql

          sql

          posted @ 2011-03-30 13:25 jack zhai 閱讀(320) | 評論 (0)編輯 收藏

          sqlserver 基礎

            1 --創建表
            2     if exists(select * from sysobjects where name='user' and type='U'drop table [user] ;
            3     create table [user](
            4     id int identity(1,1) , --自增字段
            5     name varchar(50) ,
            6     pwd varchar(50) ,
            7     constraint pk_user_id primary key(id) --主鍵
            8     --constraint pk_user_id primary key(id,[name])
            9     );
           10 
           11 -- 變量的聲明,sql里面聲明變量時必須在變量前加@符號
           12     DECLARE @I INT
           13 
           14 -- 變量的賦值,變量賦值時變量前必須加set
           15     SET @I = 30
           16 
           17 -- 聲明多個變量
           18     DECLARE @s varchar(10),@a INT
           19 
           20 -- Sql 里if語句
           21     IF 條件 BEGIN
           22         執行語句
           23     END
           24     ELSE BEGIN
           25         執行語句
           26     END
           27             
           28     DECLARE @d INT
           29     set @d = 1
           30 
           31     IF @d = 1 BEGIN
           32 
           33     -- 打印
           34         PRINT '正確'
           35     END
           36     ELSE BEGIN
           37         PRINT '錯誤'
           38     END
           39 
           40 
           41 -- Sql 里的多條件選擇語句.
           42     DECLARE @iRet INT@PKDisp VARCHAR(20)
           43     SET @iRet = 1
           44     Select @iRet =
           45     CASE
           46         WHEN @PKDisp = '' THEN 1
           47         WHEN @PKDisp = '' THEN 2
           48         WHEN @PKDisp = '' THEN 3
           49         WHEN @PKDisp = '' THEN 4
           50         WHEN @PKDisp = '' THEN 5
           51         ELSE 100
           52     END
           53 
           54 -- 循環語句
           55     WHILE 條件 BEGIN    
           56         執行語句
           57     END
           58 
           59     DECLARE @i INT
           60     SET @i = 1
           61     WHILE @i<1000000 BEGIN
           62         set @i=@i+1
           63     END
           64     -- 打印
           65     PRINT @i
           66 
           67 
           68 -- TRUNCATE 刪除表中的所有行,而不記錄單個行刪除操作,不能帶條件
           69 
           70     /*
           71     TRUNCATE TABLE 在功能上與不帶 Where 子句的 Delete 語句相同:二者均刪除表中的全部行
           72 
           73 。但 TRUNCATE TABLE 比 Delete 速度快,且使用的系統和事務日志資源少。
           74     Delete 語句每次刪除一行,并在事務日志中為所刪除的每行記錄一項。TRUNCATE TABLE 通過
           75 
           76 釋放存儲表數據所用的數據頁來刪除數據,并且只在事務日志中記錄頁的釋放。
           77     TRUNCATE TABLE 刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用
           78 
           79 的計數值重置為該列的種子。如果想保留標識計數值,請改用 Delete。如果要刪除表定義及其數據,請
           80 
           81 使用 Drop TABLE 語句。
           82     對于由 FOREIGN KEY 約束引用的表,不能使用 TRUNCATE TABLE,而應使用不帶 Where 子句的
           83 
           84 Delete 語句。由于 TRUNCATE TABLE 不記錄在日志中,所以它不能激活觸發器。
           85     TRUNCATE TABLE 不能用于參與了索引視圖的表。
           86     示例
           87         下例刪除 authors 表中的所有數據。*/
           88         
           89         TRUNCATE TABLE authors
           90                 
           91 
           92 -- Select INTO 從一個查詢的計算結果中創建一個新表。 數據并不返回給客戶端,這一點和普通的
           93 -- Select 不同。 新表的字段具有和 Select 的輸出字段相關聯(相同)的名字和數據類型。
           94         
           95         select * into NewTable
           96             from Uname
           97 
           98 
           99 -- Insert INTO Select
          100         -- 表ABC必須存在
          101         -- 把表Uname里面的字段Username復制到表ABC
          102         Insert INTO ABC Select Username FROM Uname
          103 
          104 -- 創建臨時表
          105         Create TABLE #temp(
          106             UID int identity(11PRIMARY KEY,
          107             UserName varchar(16),
          108             Pwd varchar(50),
          109             Age smallint,
          110             Sex varchar(6)
          111         )
          112         -- 打開臨時表
          113         Select * from #temp
          114 
          115 -- 存儲過程
          116         -- 要創建存儲過程的數據庫
          117         Use Test
          118         -- 判斷要創建的存儲過程名是否存在
          119             if Exists(Select name From sysobjects Where name='csp_AddInfo' And
          120 
          121 type='P')
          122             -- 刪除存儲過程
          123             Drop Procedure dbo.csp_AddInfo
          124         Go
          125                 
          126                 
          127         -- 創建存儲過程
          128         Create Proc dbo.csp_AddInfo
          129         -- 存儲過程參數
          130         @UserName varchar(16),
          131         @Pwd varchar(50),
          132         @Age smallint,
          133         @Sex varchar(6)
          134         AS
          135         -- 存儲過程語句體
          136         insert into Uname (UserName,Pwd,Age,Sex)
          137             values (@UserName,@Pwd,@Age,@Sex)
          138         RETURN
          139         -- 執行
          140         GO
          141                 
          142         -- 執行存儲過程
          143         EXEC csp_AddInfo 'Junn.A','123456',20,'';
          144 修改自:http://blog.csdn.net/mx1029/archive/2007/07/06/1680910.aspx

          posted @ 2011-03-25 16:31 jack zhai 閱讀(211) | 評論 (0)編輯 收藏

          commons-FileUpload上傳過程

          1、

          ServletFileUpload.isMultipartContent(request)

          檢測request中是否包含有multipart內容

          2、如果有,生成DiskFileItemFactory工廠將進行相關的設置

                   DiskFileItemFactory factory = new DiskFileItemFactory();
                  // maximum size that will be stored in memory
                  factory.setSizeThreshold(maxMemSize);
                  // Location to save data that is larger than maxMemSize.
                  factory.setRepository(new File("d:/"));

          3、生成上傳ServletFileUpload類,并將DiskFileFactory工廠傳給它,并對ServletFileUpload進行配置

                 // Create a new file upload handler
                  ServletFileUpload upload = new ServletFileUpload(factory);
                  // maximum file size to be uploaded.
                  upload.setSizeMax(maxFileSize);

          4、從request得到上傳的文件列表

                      // Parse the request to get file items.
                      List fileItems = upload.parseRequest(request);

                      // Process the uploaded file items
                      Iterator i = fileItems.iterator();

          5、處理文件:寫入或者其他操作

          while (i.hasNext()) {
                          FileItem fi = (FileItem) i.next();
                          if (!fi.isFormField()) {
                              // Get the uploaded file parameters
                              String fieldName = fi.getFieldName();
                              String fileName = fi.getName();
                              String contentType = fi.getContentType();
                              boolean isInMemory = fi.isInMemory();
                              long sizeInBytes = fi.getSize();
                              // Write the file
                              if (fileName.lastIndexOf("\\") >= 0) {
                                  file = new File(
                                          filePath
                                                  + fileName.substring(fileName
                                                          .lastIndexOf("\\")));
                              } else {
                                  file = new File(
                                          filePath
                                                  + fileName.substring(fileName
                                                          .lastIndexOf("\\") + 1));
                              }
                              fi.write(file);
                              out.println("Uploaded Filename: " + fileName + "<br>");
                          }
                      }

          }

           

          說明:

          FileItem接口是對用戶上傳文件的封裝

          DiskFileItemFactory實現了FileItemFactory接口,主要方法有public FileItem createItem(String fieldName, String contentType, boolean isFormField, String fileName)

          ServletFileUpload從FileUpload繼承,而FileUpload又從FileUploadBase繼承,功能:分析傳入的request對象、得到文件列表FileItemIterator……

          posted @ 2011-03-23 13:01 jack zhai 閱讀(1554) | 評論 (0)編輯 收藏

          利用Servlet + commons-FileUpload 實現文件上傳

          簡明步驟

          1、下載所需包:commons-FileUpload  http://commons.apache.org/fileupload/ 依賴commons-IO包

                                    commons-IO http://commons.apache.org/io/

          2、前端:

          3、書寫Servlet

          4、web.xml中配置上傳文件存放地址

          5、web.xml中配置Servlet

           

           

          一、前端

           
          <html>
          <head>
          <title>File Uploading Form</title>
          </head>
          <body>
          <h3>File Upload:</h3>
          Select a file to upload: <br />
          <form action="UploadServlet" method="post"
                                  enctype="multipart/form-data">
          <input type="file" name="file" size="50" />
          <br />
          <input type="submit" value="Upload File" />
          </form>
          </body>
          </html>
          

           

          二、書寫Servlet

          web.xml

          三、web.xml中配置上傳文件存放地址

          web.xml

           

          四、web.xml中配置Servlet

          web.xml

          posted @ 2011-03-23 09:25 jack zhai 閱讀(1144) | 評論 (0)編輯 收藏

          翻譯:使用Servlet實現文件上傳

          原文地址:http://www.tutorialspoint.com/servlets/servlets-file-uploading.htm

           

          一個Servlet可以通過HTML表單標簽將文件上傳到服務器。支待上傳的有文本、圖像及任何文件。

          創建文件上傳表單:

                   下面的html代碼創建了一個上傳表單。創建過程需要注意以下幾點:

          form標簽中的method屬性必須設置為POST,即GET方法是不可以的。

          form標簽中的enctype屬性應該設置為multipart/form-data

          from標簽中的action屬性應該與服務器后臺的servlet映射路徑相同。接下來的實例,我們將使用UploadServlet實現文件上傳。

          要上傳一個文件,你應該使用一個<input type=”file”.../>標記。要多個文件上傳,必須包含多個具有不同的名稱屬性值的<input type=”file”.../>標記。The browser associates a Browse button with each of them

          <html>

          <head>

          <title>File Uploading Form</title>

          </head>

          <body>

          <h3>File Upload:</h3>

          Select a file to upload: <br />

          <form action="UploadServlet" method="post"

                                  enctype="multipart/form-data">

          <input type="file" name="file" size="50" />

          <br />

          <input type="submit" value="Upload File" />

          </form>

          </body>

          </html>

          以上代碼將得到以下效果。你可以在本地PC上選擇一個文件。當你點擊“Upload File”,表單將會隨著你選擇的文件一起被提交。

          后臺servlet

          以下UploadServlet servlet將接收上傳的文件并將其保存入<Tomcat-installation-directory>/webapps/data文件夾。這個文件夾的名稱可以通過外部配置文件web.xml中的context-param元素內容增加。代碼如下:

          <web-app>
          ....
          <context-param> 
              <description>Location to store uploaded file</description> 
              <param-name>file-upload</param-name> 
              <param-value>
                   c:"apache-tomcat-5.5.29"webapps"data"
               </param-value> 
          </context-param>
          ....
          </web-app>

                   以下是實現了多文件同時上傳功能的UploadServlet。在此之前您必須確定以下幾點:

          以下實例依賴F ileUpload類,所以您須將最新版的commons-fileupload.x.x.jar放到您的classpath下??梢詮倪@里下載:http://commons.apache.org/fileupload/。

          FileUpload類依賴于Commons IO包,所以您須將最新版commons-fileupload.x.x.jar放到您的classpath下??梢詮倪@里下載:http://commons.apache.org/io/

          在測試以下例子的時候,您應該上傳小于maxFileSize的文件,否則無法上傳。

          事先確定你已經建議好文件夾:c:"tempc:"apache-tomcat-5.5.29"webapps"data。

          // Import required java libraries
          import java.io.*;
          import java.util.*;
          import javax.servlet.ServletConfig;
          import javax.servlet.ServletException;
          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;
          import org.apache.commons.fileupload.FileItem;
          import org.apache.commons.fileupload.FileUploadException;
          import org.apache.commons.fileupload.disk.DiskFileItemFactory;
          import org.apache.commons.fileupload.servlet.ServletFileUpload;
          import org.apache.commons.io.output.*;
           
          public class UploadServlet extends HttpServlet {
             
             private boolean isMultipart;
             private String filePath;
             private int maxFileSize = 50 * 1024;
             private int maxMemSize = 4 * 1024;
             private File file ;
           
             public void init( ){
                // Get the file location where it would be stored.
                filePath = 
                       getServletContext().getInitParameter("file-upload"); 
             }
             public void doPost(HttpServletRequest request, 
                         HttpServletResponse response)
                        throws ServletException, java.io.IOException {
                // Check that we have a file upload request
                isMultipart = ServletFileUpload.isMultipartContent(request);
                response.setContentType("text/html");
                java.io.PrintWriter out = response.getWriter( );
                if( !isMultipart ){
                   out.println("<html>");
                   out.println("<head>");
                   out.println("<title>Servlet upload</title>"); 
                   out.println("</head>");
                   out.println("<body>");
                   out.println("<p>No file uploaded</p>"); 
                   out.println("</body>");
                   out.println("</html>");
                   return;
                }
                DiskFileItemFactory factory = new DiskFileItemFactory();
                // maximum size that will be stored in memory
                factory.setSizeThreshold(maxMemSize);
                // Location to save data that is larger than maxMemSize.
                factory.setRepository(new File("c:""temp"));
           
                // Create a new file upload handler
                ServletFileUpload upload = new ServletFileUpload(factory);
                // maximum file size to be uploaded.
                upload.setSizeMax( maxFileSize );
           
                try{ 
                // Parse the request to get file items.
                List fileItems = upload.parseRequest(request);
                  
                // Process the uploaded file items
                Iterator i = fileItems.iterator();
           
                out.println("<html>");
                out.println("<head>");
                out.println("<title>Servlet upload</title>"); 
                out.println("</head>");
                out.println("<body>");
                while ( i.hasNext () ) 
                {
                   FileItem fi = (FileItem)i.next();
                   if ( !fi.isFormField () )      
                   {
                      // Get the uploaded file parameters
                      String fieldName = fi.getFieldName();
                      String fileName = fi.getName();
                      String contentType = fi.getContentType();
                      boolean isInMemory = fi.isInMemory();
                      long sizeInBytes = fi.getSize();
                      // Write the file
                      if( fileName.lastIndexOf("""") >= 0 ){
                         file = new File( filePath + 
                         fileName.substring( fileName.lastIndexOf(""""))) ;
                      }else{
                         file = new File( filePath + 
                         fileName.substring(fileName.lastIndexOf("""")+1)) ;
                      }
                      fi.write( file ) ;
                      out.println("Uploaded Filename: " + fileName + "<br>");
                   }
                }
                out.println("</body>");
                out.println("</html>");
             }catch(Exception ex) {
                 System.out.println(ex);
             }
             }
             public void doGet(HttpServletRequest request, 
                                 HttpServletResponse response)
                  throws ServletException, java.io.IOException {
                  
                  throw new ServletException("GET method used with " +
                          getClass( ).getName( )+": POST method required.");
             } 
          }

                 編譯并運行Servlet

              編譯以上UploadServlet并在web.xml中創建必須的實體,如下:

          <servlet>
             <servlet-name>UploadServlet</servlet-name>
             <servlet-class>UploadServlet</servlet-class>
          </servlet>
           
          <servlet-mapping>
             <servlet-name>UploadServlet</servlet-name>
             <url-pattern>/UploadServlet</url-pattern>
          </servlet-mapping>

                   現在可以嘗試使用你創建的HTML表單上傳文件。當你訪問http://localhost:8080/UploadFile.htm,瀏覽器里將會顯示如下效果,您可以從本地上傳你想要上傳的任何文件。

                   如果您的servlet腳本運行成功,您的文件上傳在c:"apache-tomcat-5.5.29"webapps"data"directory文件夾。

          posted @ 2011-03-23 08:52 jack zhai 閱讀(3807) | 評論 (0)編輯 收藏

          JavaMail發送郵件

          1、取得系統Properties,并配置

              Properties props = System.getProperties();
              props.setProperty("mail.transport.protocol", "smtp"); // smtp協議
              props.setProperty("mail.smtp.host", m_server); // 服務器地址
              props.setProperty("mail.smtp.port", "" + m_port); // 端口號

              props.setProperty("mail.smtp.auth", "true"); //// 認證信息

          2、將取得Session

          javax.mail.Session sess = javax.mail.Session.getDefaultInstance(props);

          3、實例MimeMessage類,然后設置收件人、主題、發件日期

          MimeMessage msg = new MimeMessage(sess);

          msg.setFrom(new InternetAddress(m_from));        // 發件人

          msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(m_to)); //收件人

          msg.setSubject(m_subject); //主題

          msg.setSentDate(new Date()); //發件日期

          4、向MimeMessage中添加文本內容及附件

          MimeMultipart content = new MimeMultipart();// 文本內容

          MimeBodyPart  part = new MimeBodyPart(); //part還需要加入頭,類型之類的屬性

          content.addBodyPart(part);   

          part = new MimeBodyPart();                 //這里是加入附件
          FileDataSource fds = new FileDataSource(filename);
          part.setDataHandler(new DataHandler(fds));
          part.setFileName(MimeUtility.encodeText(fds.getName()));

          content.addBodyPart(part);

          msg.setContent(content); //設置并保存
          msg.saveChanges();

          5、使用Session取得Transport

          Transport trans = sess.getTransport();

          6、使用Transport連接服務器

          trans.connect(m_server, m_user, m_pass);
                  

          7、發送郵件并關閉

          trans.sendMessage(msg, InternetAddress.parse(m_to));
          trans.close();

          posted @ 2011-03-18 23:36 jack zhai 閱讀(266) | 評論 (0)編輯 收藏

          java對象序列化知識

          1、java對象序列化不保存對象中的靜態變量

          ser

          2、虛擬機是否允許反序列化,不僅取決于類路徑和功能代碼是否一致,一個非常重要的一點是兩個類的序列化 ID 是否一致(就是 private static final long serialVersionUID = 1L)。

          3、父類的序列化與transient關鍵字

          只有子類和父類都實現了Serializable接口時,對子類反序列化時才會將父類也序列化。反序列化過程是先反序列過父類對象再反序列化子類。而如果不想序列化某一個變量,則可以在定義變量時使用transient關鍵字。

          Parent
          Son and main


          4、Java 序列化機制為了節省磁盤空間,具有特定的存儲規則,當寫入文件的為同一對象時,并不會再將對象的內容進行存儲,而只是再次存儲一份引用。

           

          從IBM DW 整理而來

          http://www.ibm.com/developerworks/cn/java/j-lo-serial/index.html#icomments


           

          posted @ 2011-03-15 13:24 jack zhai 閱讀(177) | 評論 (0)編輯 收藏

          理解Class.forName()

          Class.froName(“cc.a.C”)

          返回:C這個類的class(其實是這個類的字節碼)

          作用:告訴jvm使用相應的加載器,將C.class加載入jvm(至于加載到哪個位置,本人還不知道)

           

          而Class.forName(“cc.a.C”).newInstance()則是實例化一個對象;而new關鍵的作用也是實例化一個對象

          所以可以粗略的將這兩種實例化對象的方法等同。

          當然它們有不同的地方。

          在網上看到別人是這樣區別的:

          newInstance: 弱類型。低效率。只能調用無參構造。
          new: 強類型。相對高效。能調用任何public構造。

          posted @ 2011-03-14 18:57 jack zhai 閱讀(168) | 評論 (0)編輯 收藏

          給eclipes安裝myeclipes插件

          將myeclipes安裝目錄C:\Program Files\Genuitec\Common\plugins 所有的東西復制到eclipes安裝目錄的\plugins里,并覆蓋。

          重新啟動eclipes就可以了。

          posted @ 2011-03-14 11:07 jack zhai 閱讀(450) | 評論 (0)編輯 收藏

          僅列出標題
          共5頁: 上一頁 1 2 3 4 5 下一頁 
          主站蜘蛛池模板: 盐源县| 丘北县| 大足县| 临城县| 毕节市| 前郭尔| 彰化市| 萨迦县| 拉萨市| 宾川县| 广丰县| 旌德县| 磴口县| 岐山县| 竹山县| 怀仁县| 聂拉木县| 鄂温| 信丰县| 白银市| 社旗县| 宁强县| 宁都县| 蓬安县| 垣曲县| 横峰县| 梁山县| 潢川县| 德钦县| 西安市| 丹寨县| 邵东县| 双牌县| 封丘县| 涡阳县| 扬中市| 南宫市| 长武县| 济源市| 绥芬河市| 仙居县|