隨筆-124  評論-49  文章-56  trackbacks-0
           

           Calendar   g=Calendar.getInstance();  
            g.add(Calendar.YEAR,1);  
            SimpleDateFormat   s=new   SimpleDateFormat("yyyy-MM-dd   HH-mm-ss",Locale.US);  
            String   d=s.format(g.getTime());  
            System.out.println(d);


          System.currentTimeMillis();
          以毫秒為單位返回當前時間

          java.util.Calendar

          posted @ 2009-11-29 21:28 junly 閱讀(192) | 評論 (0)編輯 收藏
          event.getValue() instanceof ActionForm 返回true或false
          instanceof判斷是否屬于此類型
          value instanceof Date
          posted @ 2009-11-29 21:27 junly 閱讀(216) | 評論 (0)編輯 收藏
          配置tomcat的連接池
          修改context.xml
          <Context reloadable="true">
           <WatchedResource>WEB-INF/web.xml</WatchedResource>
           <Resource name="jdbc/oracleds" auth="Container"
           type="javax.sql.DataSource"
           maxActive="100" maxldle="30" maxWait="10000"
           username="scott" password="tiger"
           driverClassName="oracle.jdbc.OracleDriver"
           url="jdbc:oracle:thin:@192.168.1.20:1521:ora9" />
          </Context>
          posted @ 2009-11-29 21:27 junly 閱讀(227) | 評論 (0)編輯 收藏
          日期格式化
          Date currentTime = new Date();
          SimpleDateFormat HMFromat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
          String strCurrentTime=HMFromat.format(currentTime);
          posted @ 2009-11-29 21:26 junly 閱讀(223) | 評論 (0)編輯 收藏

          java.lang.Class
          在類加載時,java虛擬機會自動創建相應的class對象
          1.獲取class對象
          Class c=Class.froName("c");
          2.解析屬性信息
          Field[] fs=c.getDeclaredFields();
          for(Field f:fs){
             System.out.println("屬性:"+f.toString());
             System.out.println("數據類型:"+f.getType());
             System.out.println("屬性名:"+f.getName());
             int mod=f.getModifeers();
             System.out.println("屬性修飾符:"+Modifier.toString(mod));
          }
          3.解析方法信息
          Method[] ms=c.getDeclaredMethods();
          for(Method m:ms){
             System.out.println("方法:"+m.toString());
             System.out.println("方法名:"+m.getName());
             int mod=f.getModifeers();
             System.out.println("方法修飾符:"+Modifier.toString(mod));
             Class pts[] = m.getParameterTypes();//得到參數列表
             m.getReturnType();//得到返回值類型
          }
          4.解析構造方法
          Constructor[]  cs=c.getDeclaredConstructors();
          for(Constructor con:cs){
             System.out.println("構造方法:"+con.toString());
             System.out.println("方法名:"+con.getName());
             System.out.println("方法修飾符:"+Modifier.toString(mod));
             Class pts[] = m.getParameterTypes();//得到參數列表
             m.getReturnType();//得到返回值類型
          }
          5.解析當前類類型的父類
          Class superClass=c.getSuperclass();
          6.解析當前類實現的接口
          Class[] interfaces=c.getInterfaces();
          for(Class cl:interfaces){
             System.out.println(cl.toString());
          }
          7.解析當前包
          Package p=c.getPackage();
          ---------------------------------------------------------------

          1.直接操作對象屬性
          User u=new User();
          Class c=u.getClass();//同Class.forName("p2.User");
          Field f=c.getField(fieldName);
          Object fv=f.get(u);//得到對象u實例對應f屬性的值
          f.set(u,value);設置u對象f屬性的值為value
          2.調用對象成員方法
          Class[] argTypes={String.class,int.class};
          //上行等同Class[] argTypes=new Class[]{String.class,int.class};
          Object[] args=new Object[]{"王五",99};

          Class c-u.getClass();
          Method m=c.getMethod(methodName,argTypes);
          Object result=m.invoke(u,args);
          System.out.println(result);
          3.調用類成員方法
          Class c=Class.forName("className");
          Method m=c.getMethod(methodName,argTypes);
          Object result=m.invoke(null,args);//沒有對象,所以指定為null
          ---------------------------------------------------------------
          獲取class對象
          *針對引用數據類型
          1.調用靜態方法Class.forName()
          Class.forName("p1.User");
          2.調用Object類中定義的getClass()方法
          User u=new User();
          Class c=u.getClass();
          3.使用.class表達式
          Class c1=String.class;
          Class c2=p1.User.class;
          *針對基本數據類型及void
          1.使用.class表達式
          Class c1=int.class;
          Class c2=double.class;
          Class c3=void.class;
          2.調用相應封裝類的.Type屬性
          Class c1=Integer.TYPE;
          Class c2=Double.TYPE;
          Class c3=Void.TYPE;
          ----------------------------------------------
          java.lang.reflect.Field
          1.獲取Field對類(Class類提供)
          public Field[] getDeclaredFields()//當前類的所有屬性,不包括父類
          public Field getDeclaredField(String name)//當前類指定屬性,不包括父類
          public Field[] getFields()//當前類所有public的屬性,包括父類
          public Field getField(String name)//當前類指定的public屬性,包括父類
          2.Field類主要成員方法
          public Object get(Object obj)
          pbulic void set(Object obj,Object value)
          public xxx getXxx(Object obj)
          public void setXxx(Object obj,xxx x)//xxx為基本數據類型
          public String getName()
          public int getModifiers()//當前屬性的修飾符
          public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
          返回當前屬性前面的注釋
          public String toString()
          public boolean equals(Object obj)
          ------------------------------------------------------------------------
          java.lang.reflect.Method
          1.獲取Method對類(Class類提供)
          public Method[] getDeclaredMethods()//當前類的所有方法,不包括父類
          public Method getDeclaredMethod(String name,Class<?> parameterTypes)//當前類指定方法,不包括父類
          public Method[] getMethods()//當前類所有public的方法,包括父類
          public Method getMethod(String name)//當前類指定的public方法,包括父類
          2.Method類主要成員方法
          public Object invoke(Object obj,Object args)****
          public String getName()
          public Class<?>[] getParameterTypes()
          public int getModifiers()//當前屬性的修飾符
          public Class<?> getReturnType()
          public Class<?>[] getExceptionTypes()
          public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
          返回當前屬性前面的注釋
          public String toString()
          public boolean equals(Object obj)
          -----------------------------------------------------------
          java.lang.reflect.Modifier
          1.獲取Modifier對象
          public int getModifieers()
          2.Modifier類方法
          public static boolean isPublic(int mod)
          public static boolean isPrivate(int mod)

          --------------------------------------------------------------
          java.lang.reflect.Constructor
          public T newInstance(Object initargs)

          Class c=Class.forName("p1.Person");
          Class[] argTypes={String.class,int.class};//參數列表
          Constructor cons=c.getConstructor(argTypes);
          Object obj=cons.newInstance("中國",5000);

          調用無參構造方法
          cons=c.getconstructor();
          obj=constructor.newInstance();
          obj=c.newInstance();
          ----------------------------------------------------------------
          java.lang.reflect.Array

          class類方法
          public Class<?> getComponentType()//返回數組對象的數據類型

          posted @ 2009-11-29 21:24 junly 閱讀(197) | 評論 (0)編輯 收藏

          Tomcat 配置文件修改
          修改server.xml
          <Connector port="8080" protocol="HTTP/1.1" maxThereads="150"
          connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
          目的:解決Get方法傳參的中文亂碼問題
          修改Context.xml
          <Context>修改成<Context reloadable="true">
          目的:當WEB應用中的文件或web.xml 文件修改后Tomcat服務器會自動加載當前的web應用。避免重新啟動Tomcat.
          <Context reloadable="false">產品階段不要改為true,改為 false
          修改tomcat-users.xml
          <?xml version='1.0' encoding='uft-8'?>
          <tomcat-users>
          <role rolename="manager"/>
          <role rolename="admin"/>
          <user username="liuwei" password="liuwei"
           roles="admin,manager"/>
          </tomcat-users>

          web錯誤處理
          401錯誤
          404錯誤
          500錯誤
          解決方案:訂制錯誤信息頁面,設置web.xml文件
          <error-page>
            <error-code>404</error-code>
            <location>/error404.html</location>
          </error-page>
          <error-page>
            <error-code>500</error-code>
            <location>/error500.html</location>
          </error-page>

          posted @ 2009-11-29 21:23 junly 閱讀(1025) | 評論 (0)編輯 收藏
           

          1、設置SQL Server服務器:

          1-1、“SQL Server 2005 服務”中停止服務“SQL Server SQLEXPRESS)”(默認是啟動狀態)

          1-2、“SQL Server 2005 網絡配置” MSSQLSERVER 的協議”,啟動“TCP/IP”(默認是禁用狀態),然后雙擊“TCP/IP”進入屬性設置,在“IP 地址”里,確認“IPAll

          中的“TCP 端口”為1433

          1-3、“SQL Server 2005 服務”中啟動服務“SQL Server MSSQLSERVER )”(默認是停止狀態)

          1-4、關閉“SQL Server Configuration Manager”(此時可以啟動“SQL Server Management Studio”,并用帳戶sa、密碼123登錄,SQL Server服務器設置正確的話應該能登錄成功)

          2、導入jar包:

          打開Test的“Properties Java Build Path Libraries Add External JARs ,選擇下載好的連接驅動包“sqljdbc.jar”,然后點擊“OK”確定

          3如果你以前用JDBC連接SQL Server 2000的話就要注意了

          SQL Server 2000 中加載驅動和URL路徑的語句是

          “com.microsoft.jdbc.sqlserver.SQLServerDriver”
          jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=JSPTest”

          SQL Server 2005 中加載驅動和URL的語句則為

          “com.microsoft.sqlserver.jdbc.SQLServerDriver”

          jdbc:sqlserver://localhost:1433; DatabaseName=JSPTest”

          注意兩者的差異
          posted @ 2009-11-29 21:22 junly 閱讀(206) | 評論 (0)編輯 收藏

           

          Set temp=new HashSet();
          Set entries 
          = temp.entrySet();
            
          for (Iterator iter = entries.iterator(); iter.hasNext();) {
             Map.Entry entry 
          = (Map.Entry) iter.next();
             ACL acl 
          = (ACL)entry.getValue();
            }
          posted @ 2009-11-29 21:20 junly 閱讀(195) | 評論 (0)編輯 收藏

          管理連接對象
          Modle:biz,dao,entity
          數據源接口:javax.sql.DataSource
          得到
          javax.namming.Context接口的lookup()方法
          java:comp/env/jdbc/books


          1 Tomcat的conf/context.xml(Tomcat5.5以前配在server.xml中<host>標簽中)
           <context>
            <Resource name="jdbc/books"http://JNDI名稱
                 auth="Container"http://連接池由誰管理(container完全由容器管理/application由程序管理)
                 type="javax.sql.DataSource"http://數據源類型
                 maxActive="100"http://最大連接
                 maxIdle="30"http://最大空閑
                 maxWait="10000"http://單位毫秒,最大等待,無限等待值設為-1
                 username="sa"
                 password="accp"
                 driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
                 url="jdbc:sqlserver://localhost:1433;databaseName=food"
                  />
           </context>

          2 加數庫據驅動jar
          -5.5以前
           TomCat/comm/lib
          -5.5以后
           TomCat/lib目錄下
           

          3 編寫代碼
           *javax.naming.context;
           *javax.naming.InitialContext;
           Connection conn;
           Statement stmt;
           ResultSet rs;
           try{
            Context ctx=new InitialContext();
            DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/books");
            conn=ds.getConnection();
            stmt=conn.createStatement();
            rs=stmt.executeQuery(sql);
           }catch(){}

          posted @ 2009-11-29 21:19 junly 閱讀(332) | 評論 (0)編輯 收藏

          1 輸入/輸出流
                     字節流      字符流
           輸入流  InputStream    Reader
           輸出流  OutputStream   Writer
          2 字節流和處理流
          ------------------------------------------------------------------------
          3 InputStream 向程序中輸入數據
          InputStream---FileInputStream
          InputStream---StringBufferInputStream
          InputStream---ObjectInputStream
          基本方法
          -讀取一個字節并以整數的形式返回
          -如果返回-1已到輸入流的末尾
          int read() throws IOException
          -讀取一系列字節并存儲到一個數組buffer
          int read(byte[] buffer) throws IOException
          -讀取length個字節并存到一個字節數組buffer
          int read(byte[] buffer,int offset[數組的那個下標開始存],int lenght) throws IOException
          -關閉流
          void close() throws IOException
          -------------------------------------------------------------------------------
          4 outputStream 輸出數據
          OutputStream---FileOutputStream
          OutputStream---ObjectOutputStream
          -向輸出流中寫一個字節數據
          void write(int b)throws IOException
          -將一個字節類型的數組中的數據寫入輸出流
          void write(byte[] b)throws IOException
          -將一個字節類型的數組中的從指定位置off開始的len個字節寫入到輸出流
          void write(byte[] b,int off,int len)throws IOException
          -關閉流
          void close()throws IOException
          -將輸出流中緩沖的數據全部寫出到目的地(重要:先flush再close)
          void flush() throws IOException
          -----------------------------------------------------------------------------------
          5 Reader/Writer
          ---------------------------------------------------
          6 FileInputStream/OutputStream
          long num=0;
          try{
           FileInputStream in=new FileInputStream("d:\\test.txt");
           FileOutputStream out=new FileOutputStream("d:/test1.text");
           while(int b=in.read()!=-1){
            out.write(b);
           }
           in.close();
           out.close();
          }catch(){}
          7 FileReader/FileWriter
            FileReader fr=null;
            FileWriter fw=null;
            int c=0;
            try{
           fr=new FileReader ("d:\\test.java");
           fw=new FileWriter ("d:/test1.java");
           while((c=fr.read)!=-1){
              System.out.print((char)c);
              fw.write(c);
           }
                fr.close();
                fw.close();
            }
           8 緩沖流
           常用構造方法
           BufferedReader(Reader in)
           BufferedReader(Reader in,int sz)
           BufferedWreter(Writer out)
           BufferedWreter(Writer out,int sz)
           BufferedInputStream(InputStream in)
           BufferedInputStream(InputStream in,int size)
           BufferedOutputStream(OutputStream out)
           BufferedOutputStream(OutputStream out,int size)
           *BufferedReader提供了readLine方法用于讀取一行字符串
           *BufferedWreter提供了newLine用于寫入一個行分隔符
           *可以使用flush方法將輸出到緩沖流的數據在內存中清空立刻寫入硬盤
          try{
              FileInputStream fis=new FileInputStream("d:\\share\\HelloWorld.java");
              BufferedInputStream bis=new BufferedInputStream (fis);
              bis.mark(100);從第100開始讀
          }

          try{
               BufferedWriter bw=new BufferedWriter (new FileWriter("d:\\test.txt"));
               BufferedReader br=new BufferedReader(new FileReader("d:\\test.txt"));
               String s=null;
               for(int i=0;i<=100;i++){
           s=String.valueOf(Math.random());
           bw.write(s);
                  bw.newLine();//寫一個換行符
               }
               bw.flush();//清空緩存寫入文件
               while((s=br.readLine())!=null){
           System.out.println(s);
               }
               bw.close();
               br.close();
          }
          9 轉換流
            InputStreamReader/OutputStreamWriter
            用于字節數據到字符數據之間的轉換
            InputStreamReader 需要和 InputStream "套接"
            OutputStreamWriter 需要和 OutputStream "套接"
            InputStream isr=new InputStreamReader(System.in,"ISO8859-1");

          try{
            OutputStreamWriter osw=new OutputStreamWriter (new FileOutputStream("d:\\test.txt"));
            osw.write("ssssssssssssssss");
            osw.close();
            osw=new OutputStreamWriter(new FileOutputStream("d:\\test.txt",true),"ISO8859-1");//true是指在原來的基礎上添加
            osw.write("ddddddddddddddddddd");
            osw.close();
          }

          InputStreamReader isr=new InputStreamReader(System.in);
          BufferedReader br=new BufferedReader(isr);
          String s=br.readLine();

          10 流據流,存儲和讀取java原始類型
          DataInputStream(InputStream in)/DataOutputStream(OutputStream out)
          boolean readBoolean()
          double readDouble()
          String readUTF()

          11 PrintStream / PrintWriter
          printStream ps=null;
          try{
             FileOutputStream fos=new FileOutStream("d:\\test.txt");
             ps=new PrintStream(fos);
          }
          if(ps!=null){
             System.setOut(ps);
          }
          int ln=0;
          for(char c=0;c<=60000;c++){
             System.out.print(c+" ");
             if(ln++>=100){
           System.out.println();
           ln=0;
             }
          }

          12 ObjectInputStream/ObjectOutputStream
          對象讀寫必須序列化,transient關鍵字表示該必性不被序列化
          class t implements Serializable{
            int i=10;
            transient int j=9;
            double d=2.3;
          }

          T t=new T();
          FileOutputStream fos=new FileOutputStream ();
          ObjectOutputStream oos=new ObjectOutputStream (fos);
          oos.writeObject(t);
          oos.flush();
          oos.close();
          13 Externalizable接口
          方法:
             void readExternal(ObjectInput in)
             void writeExternal(ObjectOutput out)

          posted @ 2009-11-29 21:18 junly 閱讀(207) | 評論 (0)編輯 收藏
          僅列出標題
          共18頁: First 上一頁 7 8 9 10 11 12 13 14 15 下一頁 Last 
          主站蜘蛛池模板: 高雄市| 通城县| 东丽区| 龙胜| 昆山市| 类乌齐县| 宁南县| 麻城市| 新昌县| 白玉县| 百色市| 西乌| 本溪| 略阳县| 镇宁| 乡宁县| 张家港市| 苍山县| 许昌县| 南安市| 吉林市| 中宁县| 河源市| 东平县| 柘荣县| 宽甸| 铅山县| 淮安市| 南部县| 黑龙江省| 伊吾县| 巴彦县| 渝中区| 乐山市| 清河县| 德兴市| 耒阳市| 宁南县| 石渠县| 甘泉县| 时尚|