vickzhu

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            151 隨筆 :: 0 文章 :: 34 評(píng)論 :: 0 Trackbacks

          #

          public class VickTest {
           public static void main(String[] args) throws InterruptedException {

            for (int i = 0; i <= 65535; i++) {
             MyTask mt=new MyTask(i);
             Thread thread=new Thread(mt);
             thread.start();
             if(i%100==0){
              Thread.sleep(500);
             }
            }
           }

          }

          class MyTask implements Runnable{
           int port;
           public MyTask(int port) {
            this.port = port;
           }

           public void run() {
            try {
             Socket s=new Socket(,port);
             System.out.println("端口"+port+"綁定成功!");
            } catch (UnknownHostException e) {
             System.out.println("主機(jī)不明");
            } catch (IOException e) {
             System.out.println("端口"+port+"綁定失敗.");
            }
           }
          }


          cvsnt配置 創(chuàng)建用戶

          1 、下載cvsNt地址
                 http://www.march-hare.com/cvsnt/features/cvsnt/

          2、創(chuàng)建倉(cāng)庫(kù)(Ropository)                          (版本為:CVS 2.5.03)
             
                  安裝完成后,打開(kāi) "開(kāi)始"菜單——>“程序”——> “CVSNT"——> "CVSNT Control Panel" 程序 ,打開(kāi)cvs管     

                   理窗品,選擇"Ropository configuation"選項(xiàng)卡,單擊"add"按鈕添加倉(cāng)庫(kù),location為文件本機(jī)存放路徑。


                 選擇一個(gè)路徑。Name會(huì)自動(dòng)改為"/目錄文件夾"! 這個(gè)名子也可以修改。點(diǎn)擊OK按鈕,它會(huì)提示你“這個(gè)

                  文件夾不是cvs倉(cāng)庫(kù),是否初始化?”的英文提示。點(diǎn)擊“是“。創(chuàng)建倉(cāng)庫(kù)完畢。

          3、創(chuàng)建新用戶

                 cvs默認(rèn)高級(jí)管理員為windows高級(jí)管理員。在添加新用戶時(shí),首先用高級(jí)管理員登陸。步驟如下:

                 1> 打開(kāi)Dos窗口 輸入以一命令
                    set cvsroot=:pserver:administrator@127.0.0.1:/cvs    回車(chē)
                       其中
          “/cvs”就是在創(chuàng)建倉(cāng)庫(kù)時(shí)的name
               
          2>輸入cvs login                              回車(chē)

                3>輸入administrator的密碼                回車(chē)                          

                  4>輸入
          cvs passwd -a xgz //添加用戶xgz    回車(chē)

                 5>輸入新密碼

                    6>再次輸入密碼


          OK新用戶創(chuàng)建成功!

          set cvsroot=:pserver:xgz@127.0.0.1:/cvsRoot   測(cè)試一下

          別忘了 cvs login

          輸入密碼登陸測(cè)試添加用戶是否成功.

          如果出現(xiàn)

          Fatal error, aborting.
                 cvs [login aborted]: test1: no such user

          這種錯(cuò)誤.還要打開(kāi)"
          CVSNT Control Panel" 程序在"Server Settings"選項(xiàng)卡的Run as 下拉框,選中administrator   默認(rèn)為 client user
          posted @ 2008-11-13 16:11 筱 筱 閱讀(1866) | 評(píng)論 (0)編輯 收藏

          以下都是實(shí)戰(zhàn)經(jīng)驗(yàn):
          1、Socket讀取
                String strServer=http://www.google.cn;//這里同樣可以用ip來(lái)訪問(wèn):203.208.35.100
                String strPage="/language_tools?hl=zh-CN";
                try { 
                     String hostname = strServer; 
                     int port = 80; 
                     InetAddress addr = InetAddress.getByName(hostname); 
                     Socket socket = new Socket(addr, port);
                     BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8")); 
                     wr.write("GET " + strPage + " HTTP/1.0\r\n"); 
                     wr.write("HOST:" + strServer + "\r\n"); 
                     wr.write("\r\n"); 
                     wr.flush();
                     BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                     String line; 
                     while ((line = rd.readLine()) != null) { 
                          System.out.println(line); 
                     }
                     wr.close(); 
                     rd.close(); 
                } catch (Exception e) { 
                     System.out.println(e.toString()); 
                }
          2、HttpClient方式
                HttpClient client=new HttpClient();
                GetMethod method=new GetMethod("       int status=client.executeMethod(method);
                if(status==HttpStatus.SC_OK){
                 //讀取內(nèi)容
                 byte[] responseBody = method.getResponseBody();
                 //處理內(nèi)容
                 System.out.println(new String(responseBody));
                 System.out.println("文件名稱:"+method.getPath());
                  }
          3、HttpURLConnection方式
                URL url = new URL("這里是你要連接的地址");
                HttpURLConnection conn = (HttpURLConnection)url.openConnection();
                conn.setDoOutput(true);//是否可用于輸出(輸出參數(shù)),默認(rèn)為fasle。另:setDoInput()為是否可用于輸入,默認(rèn)為true
                String parameters = "name=admin&password=123456";//這里是要傳遞的參數(shù)
                OutputStream os = conn.getOutputStream();
                os.write(parameters.getBytes("utf-8"));
                os.flush();
                os.close();
                System.out.println("返回狀態(tài)碼:"+conn.getResponseCode());
                System.out.println("返回消息:"+conn.getResponseMessage());
                InputStream is = conn.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(is,"utf-8"));
                String line = null;
                while((line=br.readLine())!=null){
                 System.out.println(line);
                }
              //  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();;
              //  DocumentBuilder db = dbf.newDocumentBuilder();
              //  Document doc = db.parse(is);
          如果誰(shuí)還有更多的方式分享,請(qǐng)留言!

              getOutputStream() has already been called for this response 這個(gè)錯(cuò)誤遇到過(guò)不少次,網(wǎng)上看到大多不能解決問(wèn)題。
              下面兩點(diǎn)是我自己總結(jié)出來(lái)的:
              1、在我們應(yīng)用驗(yàn)證碼時(shí),都會(huì)用到字節(jié)流response.getOutputStream()來(lái)將驗(yàn)證碼輸出,但是jsp頁(yè)面自己最后會(huì)調(diào)用字符流JspWriter的out()方法將頁(yè)面的內(nèi)容輸出。通過(guò)查看servlet的API我們可以看到知道,在servlet中不能夠同時(shí)利用這兩個(gè)流輸出,解決辦法將驗(yàn)證碼寫(xiě)在servlet中,具體見(jiàn)下面。
              2、相信請(qǐng)求轉(zhuǎn)發(fā)( request.getRequestDispacher().forward() )和請(qǐng)求跳轉(zhuǎn)( response.sendRedirect() )的區(qū)別大家都知道。其中request.getRequestDispacher().forward() 方法的調(diào)用者與被調(diào)用者之間共享相同的request對(duì)象和response對(duì)象,它們屬于同一個(gè)訪問(wèn)請(qǐng)求和響應(yīng)過(guò)程。JSP頁(yè)面轉(zhuǎn)譯為的_servlet會(huì)最后調(diào)用releasePageContext()方法( All PageContext objects obtained via this method shall be released by invoking releasePageContext().)釋放我們頁(yè)面所有的實(shí)體對(duì)象,當(dāng)我們的調(diào)用者有頁(yè)面輸出時(shí),就會(huì)拋出這個(gè)異常。具體原因也沒(méi)有弄清楚,各位大俠如果誰(shuí)知道可以告知一下。其實(shí)驗(yàn)證碼也是同一個(gè)原理,如果我們將驗(yàn)證碼的代碼寫(xiě)在jsp頁(yè)面中,因?yàn)閖sp頁(yè)面會(huì)調(diào)用JspWriter的out()方法將內(nèi)容輸出,同時(shí)我們的圖片又調(diào)用了response.getOutputStream()方法因此會(huì)拋出這個(gè)異常;如果我們將驗(yàn)證碼寫(xiě)在servlet中,就不會(huì)同時(shí)使用兩種輸出也就不會(huì)出錯(cuò)。有時(shí)即使調(diào)用者頁(yè)面沒(méi)有輸出,也會(huì)拋出這個(gè)異常,仔細(xì)看jsp轉(zhuǎn)譯以后的源碼發(fā)現(xiàn)輸出了換行,因此,我們最好把調(diào)用者頁(yè)面的%>和<%之間換行去掉,把%>和<%直接寫(xiě)在一起。
              另外,如果我們實(shí)在要在jsp中用到response.getOutputStream(),比如驗(yàn)證碼、jspSmartUpload,我們需要在最后加入如下代碼:
                  response.reset();
                  out.clear();
                  out=pageContext.pushBody();

              有不對(duì)之處還望指教!
              
          posted @ 2008-11-03 14:38 筱 筱 閱讀(37313) | 評(píng)論 (19)編輯 收藏

          網(wǎng)上找了很久,關(guān)于這方面的文章都是轉(zhuǎn)載的,而且過(guò)時(shí)了,根本就用不上,自己做了一個(gè)這方面的整合,現(xiàn)在和大家分享一下:
          準(zhǔn)備工作:
              一、下載Apache服務(wù)器:
                      地址:http://apache.justdn.org/httpd/binaries/win32/apache_2.2.10-win32-x86-no_ssl.msi
                      (D:\Program Files\Apache Software Foundation\Apache2.2)
              二、下載JK(Apache、tomcat整合必須)
                      地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.26/mod_jk-1.2.26-httpd-2.2.4.so
                      放在D:\Program Files\Apache Software Foundation\Apache2.2\modules下
                      (mod_jk-1.2.26-httpd-2.2.4.so適用于Apache2.2所有版本)
              三、Tomcat和JDK就不用說(shuō)了,我用的是Tomcat6.0(D:\Programe Files\Tomcat 6.0)和JDK1.6(D:\Programe Files\JDK1.6)
          配置:
                  1、在D:\Programe Files\Tomcat 6.0\conf 下新建文件workers.properties
                  內(nèi)容如下:
                  workers.tomcat_home=D:\Programe Files\Tomcat 6.0 
                  #讓mod_jk模塊知道Tomcat的位置
                  workers.java_home=D:\Programe Files\JDK1.6\jre 
                  #讓mod_jk模塊知道jre的位置 
                  ps=\ 
                  worker.list=ajp13 #模塊版本 
                  worker.ajp13.port=8009 
                  #工作端口,若沒(méi)占用則不用修改 
                  worker.ajp13.host=192.168.0.142
                  #本機(jī)
                  worker.ajp13.type=ajp13 
                  #類型 
                  worker.ajp13.lbfactor=1 
                  #代理數(shù),不用修改

              2、修改D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf文件
                  端口:Listen 80 這是默認(rèn)的,大家可以改這里
                  模塊:里面有一堆模塊在其中添加一個(gè)LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
                  ServerAdmin:不用改,是個(gè)郵件地址
                  ServerName:服務(wù)器名稱,可以用ip也可用dns,這里通常注釋了,我們通常把注釋給去掉,否則當(dāng)你啟動(dòng)apache的時(shí)候會(huì)報(bào)Could not reliably determine the server's fully qualified domain name, using 192.168.0.142 for ServerName錯(cuò)誤,但是這并不影響你的程序的運(yùn)行
                  DocumentRoot:工程的根路徑,和Tomcat里配置的虛擬目錄docBase屬性相同
                  <Directory "  ">:這里必須和DocumentRoot設(shè)置一樣
                  添加如下代碼:
                      <VirtualHost localhost>
                       DirectoryIndex index.html index.htm index.jsp
                       JkMount /servlet/* ajp13
                       #讓Apache支持對(duì)servlet傳送,用以Tomcat解析
                       JkMount /*.jsp* ajp13 
                       #讓Apache支持對(duì)jsp傳送,用以Tomcat解析
                       JkMount /*.bst* ajp13 
                       #讓Apache支持對(duì).bst傳送,用以Tomcat解析
                       JkMount /RandCode* ajp13
                       #讓Apache支持對(duì)Servlet傳送,用以Tomcat解析
                      </VirtualHost>
              完畢,運(yùn)行http://localhosthttp://locahost:8080可以看到結(jié)果是一樣的
              不正確的地方請(qǐng)多多指教!
          posted @ 2008-10-30 17:34 筱 筱 閱讀(1707) | 評(píng)論 (2)編輯 收藏

          公司里的表里有很多數(shù)據(jù)不正確,今天打算將數(shù)據(jù)庫(kù)中的數(shù)據(jù)整理一下,正好發(fā)現(xiàn)兩張表需要聯(lián)合更新

          在網(wǎng)上查了一些資料,自己試了一下,sql語(yǔ)句如下:
              update law_answer set law_answer.lmakerID=q.lUserID from law_answer a,law_question q where a.lquestionID=q.lquestionID
          注意set后面要更新的列不能用別名
          posted @ 2008-10-29 15:52 筱 筱 閱讀(1168) | 評(píng)論 (0)編輯 收藏

                  今天又測(cè)試了一下搭建了一下SSH框架,但是出了一個(gè)問(wèn)題,當(dāng)我用get()加載一個(gè)對(duì)象的時(shí)候沒(méi)有異常,但是用load()的時(shí)候拋出了異常,異常如下:
          java.lang.NullPointerException
           at org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)
           at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3121)
           at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:232)
           at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:173)
           at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
           at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
           at org.hibernate.impl.SessionImpl.load(SessionImpl.java:781)
           at org.hibernate.impl.SessionImpl.load(SessionImpl.java:774)
           at org.springframework.orm.hibernate3.HibernateTemplate$3.doInHibernate(HibernateTemplate.java:508)
           at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
           at org.springframework.orm.hibernate3.HibernateTemplate.load(HibernateTemplate.java:502)
           at org.springframework.orm.hibernate3.HibernateTemplate.load(HibernateTemplate.java:496)
           at com.bestone.SSH.hibernate.LawUserDAO.findByName(LawUserDAO.java:104)
           at com.bestone.SSH.service.impl.LoginServiceImpl.checkLogin(LoginServiceImpl.java:30)
           at com.bestone.SSH.struts.action.LoginAction.execute(LoginAction.java:63)
           at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
           at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
           at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
           at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
           at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
           at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
           at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
           at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
           at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
           at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
           at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
           at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
           at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
           at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
           at java.lang.Thread.run(Thread.java:619)

                  碰到這個(gè)問(wèn)題,我馬上想到了加載數(shù)據(jù)時(shí)load和get的區(qū)別:
                  1、load總是假定要查詢的數(shù)據(jù)存在,如果未能發(fā)現(xiàn)符合條件的記錄,get方法返回null,而load方法會(huì)拋出一個(gè)ObjectNotFoundException。
                  2、load方法返回實(shí)體的代理實(shí)例,而get方法永遠(yuǎn)直接返回實(shí)體類。
                  3、load方法可以充分的利用一級(jí)緩存和二級(jí)緩存中的數(shù)據(jù),而get方法則僅僅在一級(jí)緩存中進(jìn)行數(shù)據(jù)查找,如果沒(méi)有發(fā)現(xiàn)對(duì)應(yīng)的數(shù)據(jù),將越過(guò)二級(jí)緩存,直接調(diào)用sql完成數(shù)據(jù)讀取(經(jīng)過(guò)我的證實(shí),在hibernate3.2中g(shù)et()方法是可以查找二級(jí)緩存的)。
                  仔細(xì)看了看錯(cuò)誤,想來(lái)想去應(yīng)該是生成代理類的時(shí)候出現(xiàn)了錯(cuò)誤。java中生成代理類有兩種形式,一是java動(dòng)態(tài)代理,二是利用cglib生成。而hibernate中實(shí)體的代理類是用cglib生成的。
                  后來(lái)仔細(xì)研究了一下jar包,通過(guò)jar包源碼發(fā)現(xiàn),原來(lái)是cglib-2.1.3.jar和cglib-nodep-2.1_3.jar相沖突,只需要把cglib-2.1.3.jar包刪除就沒(méi)有問(wèn)題了。查看cglib-nodep-2.1_3.jar的源碼我們還發(fā)現(xiàn)一個(gè)問(wèn)題,它包含了asm-attrs.jar的全部類,但是使用的包名不同,不知道有沒(méi)有沖突,運(yùn)行程序查看日志,暫時(shí)沒(méi)有發(fā)現(xiàn)什么問(wèn)題,就留著asm-attrs.jar吧。
                  
          posted @ 2008-10-22 17:36 筱 筱 閱讀(1008) | 評(píng)論 (2)編輯 收藏

          1、gpedit.msc   組策略
          2、msconfig      系統(tǒng)配置實(shí)用程序
          3、dxdiag         DirectX診斷工具 可以查看顯卡,聲卡是否安裝等
          4、winmsd       系統(tǒng)信息(包括硬件資源、軟件環(huán)境、組件、Internet設(shè)置等)
          5、secpol         本地安全策略

          posted @ 2008-10-22 15:12 筱 筱 閱讀(153) | 評(píng)論 (0)編輯 收藏

          修改/bin/service.bat里面的 set SERVICE_NAME=Tomcat6(這里是服務(wù)名,名字可以隨意起)
          在命令行執(zhí)行下面的命令:
          安裝服務(wù):service install Tomcat6
          卸載服務(wù):service remove Tomcat6

          啟動(dòng)服務(wù):net start Tomcat6
          關(guān)閉服務(wù):net stop Tomcat6
          posted @ 2008-10-17 14:41 筱 筱 閱讀(880) | 評(píng)論 (0)編輯 收藏

          posted @ 2008-10-13 10:53 筱 筱 閱讀(221) | 評(píng)論 (0)編輯 收藏

          僅列出標(biāo)題
          共9頁(yè): 上一頁(yè) 1 2 3 4 5 6 7 8 9 下一頁(yè) 
          主站蜘蛛池模板: 延长县| 垫江县| 磐石市| 班玛县| 白水县| 汝城县| 新乡县| 马关县| 辛集市| 同德县| 新乡县| 灵川县| 新乐市| 社旗县| 武定县| 喀喇沁旗| 罗源县| 兴义市| 太仆寺旗| 南昌县| 阿拉善左旗| 南部县| 浠水县| 徐水县| 名山县| 乐陵市| 福建省| 永定县| 平原县| 东阳市| 缙云县| 盖州市| 巴青县| 徐州市| 湖北省| 思茅市| 潞城市| 铜鼓县| 内乡县| 新竹县| 鱼台县|