亚洲精品精华液一区二区,亚洲国产无线乱码在线观看,亚洲爆乳大丰满无码专区http://www.tkk7.com/fiele/category/40450.html豐豐的博客zh-cnThu, 12 Feb 2015 10:30:14 GMTThu, 12 Feb 2015 10:30:14 GMT60eclipse luna+tomcat7.0+JDK7.0+maven環境配置http://www.tkk7.com/fiele/archive/2015/02/12/422881.html半導體半導體Thu, 12 Feb 2015 02:04:00 GMThttp://www.tkk7.com/fiele/archive/2015/02/12/422881.htmlhttp://www.tkk7.com/fiele/comments/422881.htmlhttp://www.tkk7.com/fiele/archive/2015/02/12/422881.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/422881.htmlhttp://www.tkk7.com/fiele/services/trackbacks/422881.html

eclipse luna+tomcat7.0+JDK7.0+maven環境配置

一、下載相關包:

eclipse luna下載地址 :  http://www.eclipse.org/downloads/

JDK7.0下載地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Tomcat7.0下載地址:

http://tomcat.apache.org/download-70.cgi

MAVEN下載地址:http://maven.apache.org/

二、環境變量配置(根據軟件安裝位置配置如下)

JAVA_HOME: D:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Java\jdk1.6.0_11\;

PATH: D:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Java\jdk1.6.0_11\bin;

M2_HOME:  D:\Program Files (x86)\apache-maven-3.2.5-bin\apache-maven-3.2.5

PATH D:\Program Files (x86)\apache-maven-3.2.5-bin\apache-maven-3.2.5\bin

三、    運行eclipse luna

綠色環保,直接運行eclipse.exe就行了


四、導入maven項目前配置

    
A,tomcat
配置





B,JDK配置


C,MAVEN
安裝:


D,
導入maven項目:


E,
導入后如果項目報錯,請執行:

在項目上右擊,選擇菜單maven->update project MAVEN會自動搜索項目中需要的jar包)

   F、運行服務:

選擇run on server->tomcat 7

iE上輸入:http://localhost:8080/項目名   測試一下吧。



半導體 2015-02-12 10:04 發表評論
]]>
spring事務配置及事務測試http://www.tkk7.com/fiele/archive/2014/03/26/411517.html半導體半導體Wed, 26 Mar 2014 08:46:00 GMThttp://www.tkk7.com/fiele/archive/2014/03/26/411517.htmlhttp://www.tkk7.com/fiele/comments/411517.htmlhttp://www.tkk7.com/fiele/archive/2014/03/26/411517.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/411517.htmlhttp://www.tkk7.com/fiele/services/trackbacks/411517.html方法一:
事務配置:applicatoncontext.xml
 1<!-- 配置事務管理器 -->
 2    <bean id="transactionManager"
 3        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
 4        <property name="sessionFactory">
 5            <ref local="sessionFactory" />
 6        </property>
 7    </bean>
 8    <!---->
 9    <bean id="txProxyTemplate" abstract="true"
10        class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
11        <property name="transactionManager">
12            <ref bean="transactionManager" />
13        </property>
14        <property name="transactionAttributes">
15            <props>
16                <prop key="query*">PROPAGATION_REQUIRED,readOnly,-Exception</prop>
17                <prop key="find*">PROPAGATION_REQUIRED,readOnly,-Exception</prop>
18                <prop key="add*">PROPAGATION_REQUIRED,-Exception</prop>
19                <prop key="update*">PROPAGATION_REQUIRED,-Exception</prop>
20                <prop key="delete*">PROPAGATION_REQUIRED,-Exception</prop>
21                <prop key="save*">PROPAGATION_REQUIRED,-Exception</prop>
22            </props>
23        </property>
24    </bean>
事務測試(BO繼承事務):applicationcontext.xml
<bean id="SysJobBO" parent="txProxyTemplate">
        
<property name="target">
            
<bean
                
class="com.gzlt.sys.user.bo.impl.SysJobBOImpl">
                
<property name="commonDAO"
                    ref
="CommonDAO">
                
</property>
            
</bean>
        
</property>
    
</bean>

BOIMPL中:

    @Override
    public boolean updates(SysJob sysJob) throws Exception {
        // TODO Auto-generated method stub
        commonDAO.add(sysJob);
        sysJob.setIsLeaf("453322222222222222ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss");
        commonDAO.add(sysJob);
        return true;
    }

如果事務未起作用,請查看:
1、action中的方法是不是不以add,update,。。開頭。
2、有可能是拋出的異常將事務舍棄了。 如果try catch   異常為 applicationException  請改為  applicationException 試試。

方法二:
 



半導體 2014-03-26 16:46 發表評論
]]>
映射文件配置org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): http://www.tkk7.com/fiele/archive/2014/03/16/411105.html半導體半導體Sun, 16 Mar 2014 14:20:00 GMThttp://www.tkk7.com/fiele/archive/2014/03/16/411105.htmlhttp://www.tkk7.com/fiele/comments/411105.htmlhttp://www.tkk7.com/fiele/archive/2014/03/16/411105.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/411105.htmlhttp://www.tkk7.com/fiele/services/trackbacks/411105.html引起問題的原因:

由Hibernate根據數據庫表自動生成的"類名.hbm.xml"映射文件引起的。

首先我的表(Info)由兩個字段組成,即:

int id;//主建

String name;

(自己做測試,所以就簡單的建了個表)

由Hibernate生成的Info.hbm.xml中是這樣寫的:

-----------------------------------------------------

<id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="assigned"/>
</id>

-----------------------------------------------------

<id>這個是必須有的。它是用來定義實體的標識屬性(對應數據庫表的主鍵)

而我這里由于id本身就是主鍵,所以column的屬性便是id

下面是很關鍵的一點<generator>,由于一時興趣,于是找了很多資料,關于它的解釋是:用于指定主鍵的生成策略。它的值有多,下面是轉來的:

--------------------------------------------------------------------------------

“assigned”
主鍵由外部程序負責生成,在   save()   之前指定一個。
   
“hilo”
通過hi/lo   算法實現的主鍵生成機制,需要額外的數據庫表或字段提供高位值來源。
   
“seqhilo”
與hilo   類似,通過hi/lo   算法實現的主鍵生成機制,需要數據庫中的   Sequence,適用于支持   Sequence   的數據庫,如Oracle。
   
“increment”
主鍵按數值順序遞增。此方式的實現機制為在當前應用實例中維持一個變量,以保存著當前的最大值,之后每次需要生成主鍵的時候將此值加1作為主鍵。這種方式可能產生的問題是:不能在集群下使用。
   
“identity”
采用數據庫提供的主鍵生成機制。如DB2、SQL   Server、MySQL   中的主鍵生成機制。
   
“sequence”
采用數據庫提供的   sequence   機制生成主鍵。如   Oralce   中的Sequence。
   
“native”
由   Hibernate   根據使用的數據庫自行判斷采用   identity、hilo、sequence   其中一種作為主鍵生成方式。
   
“uuid.hex”
由   Hibernate   基于128   位   UUID   算法   生成16   進制數值(編碼后以長度32   的字符串表示)作為主鍵。
   
“uuid.string”
與uuid.hex   類似,只是生成的主鍵未進行編碼(長度16),不能應用在   PostgreSQL   數據庫中。
     
“foreign”
使用另外一個相關聯的對象的標識符作為主鍵。

--------------------------------------------------------------------------------

看了上面的介紹,再看看代碼,原來是<Generator>屬性設置有問題。

然后改為"identity"、"native"問題便解決。



   在Hibernate中的映射文件配置中,如果在數據庫中設置一列為自動增長列,但又不是主鍵,則在配置時需要設置 property 節點的 "insert" 和“update” 屬性為false. 即: <property column="ID" name="id" type="int" insert="false" update="false"/>


半導體 2014-03-16 22:20 發表評論
]]>
myeclipse編譯慢的問題http://www.tkk7.com/fiele/archive/2014/01/08/408686.html半導體半導體Wed, 08 Jan 2014 07:43:00 GMThttp://www.tkk7.com/fiele/archive/2014/01/08/408686.htmlhttp://www.tkk7.com/fiele/comments/408686.htmlhttp://www.tkk7.com/fiele/archive/2014/01/08/408686.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/408686.htmlhttp://www.tkk7.com/fiele/services/trackbacks/408686.html刪除.project配置中

1、javascript validation和jtds 選項。
  <buildCommand>
   <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
   <arguments>
   </arguments>
  </buildCommand>

2、打開myeclipse時,會提示是否加入javascriptvalidation 選擇否。

再編譯時,速度會快很多倍。

半導體 2014-01-08 15:43 發表評論
]]>
ServletContextListener使用詳解 .http://www.tkk7.com/fiele/archive/2013/11/20/406556.html半導體半導體Wed, 20 Nov 2013 02:13:00 GMThttp://www.tkk7.com/fiele/archive/2013/11/20/406556.htmlhttp://www.tkk7.com/fiele/comments/406556.htmlhttp://www.tkk7.com/fiele/archive/2013/11/20/406556.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/406556.htmlhttp://www.tkk7.com/fiele/services/trackbacks/406556.html摘自:http://blog.csdn.net/zhaozheng7758/article/details/6103700
Servlet API 中有一個 ServletContextListener 接口,它能夠監聽 ServletContext 對象的生命周期,實際上就是監聽 Web 應用的生命周期。

Servlet 容器啟動或終止Web 應用時,會觸發ServletContextEvent 事件,該事件由 ServletContextListener 來處理。在 ServletContextListener 接口中定義了處理ServletContextEvent 事件的兩個方法。

l  contextInitialized(ServletContextEvent sce) :當Servlet 容器啟動Web 應用時調用該方法。在調用完該方法之后,容器再對Filter 初始化,并且對那些在Web 應用啟動時就需要被初始化的Servlet 進行初始化。

l  contextDestroyed(ServletContextEvent sce) :當Servlet 容器終止Web 應用時調用該方法。在調用該方法之前,容器會先銷毀所有的ServletFilter 過濾器。

下面通過兩個具體的例子來介紹 ServletContextListener 的用法。

例一:在服務啟動時,將數據庫中的數據加載進內存,并將其賦值給一個屬性名,其它的 Servlet 就可以通過 getAttribute 進行屬性值的訪問。有如下兩個步驟:

1 ServletContext 對象是一個為整個 web 應用提供共享的內存,任何請求都可以訪問里面的內容  

2 :如何實現在服務啟動的時候就動態的加入到里面的內容:我們需要做的有:  

1 實現 servletContextListerner 接口 并將要共享的通過 setAttribute name,data )方法提交到內存中去  

2 )應用項目通過 getAttribute(name) 將數據取到

package ServletContextTest; 

 

import java.sql.Connection; 

import java.sql.PreparedStatement; 

import java.sql.ResultSet; 

import java.util.HashMap; 

import java.util.Map; 

 

import javax.servlet.ServletContext; 

import javax.servlet.ServletContextEvent; 

import javax.servlet.ServletContextListener; 

 

import util.ConnectTool; 

 

public class ServletContextLTest implements ServletContextListener{ 

    // 實現其中的銷毀函數

    public void contextDestroyed(ServletContextEvent sce) { 

        System.out.println("this is last destroyeed");    

    } 

    // 實現其中的初始化函數,當有事件發生時即觸發

    public void contextInitialized(ServletContextEvent sce) { 

        ServletContext sct=sce.getServletContext(); 

        Map<Integer,String> depts=new HashMap<Integer,String>(); 

        Connection connection=null; 

        PreparedStatement pstm=null; 

        ResultSet rs=null; 

         

        try{ 

            connection=ConnectTool.getConnection(); 

            String sql="select deptNo,dname from dept"; 

            pstm=connection.prepareStatement(sql); 

            rs=pstm.executeQuery(); 

            while(rs.next()){ 

                depts.put(rs.getInt(1), rs.getString(2)); 

            } 

            // 將所取到的值存放到一個屬性鍵值對中

            sct.setAttribute("dept", depts); 

            System.out.println("======listener test is beginning========="); 

        }catch(Exception e){ 

            e.printStackTrace(); 

        }finally{ 

            ConnectTool.releasersc(rs, pstm, connection); 

        } 

    } 

在完成上述編碼后,仍需在 web.xml 中進行如下配置,以使得該監聽器可以起作用。

<listener> 

   <listener-class>ServletContextTest.ServletContextLTest</listener-class> 

</listener> 

在完成上述配置后, web 服務器在啟動時,會直接加載該監聽器,通過以下的應用程序就可以進行數據的訪問。

package ServletContextTest; 

import java.io.IOException; 

import java.io.PrintWriter; 

import java.util.*; 

import javax.servlet.ServletContext; 

import javax.servlet.ServletException; 

import javax.servlet.http.HttpServlet; 

import javax.servlet.http.HttpServletRequest; 

import javax.servlet.http.HttpServletResponse; 

public class CreateEmployee extends HttpServlet{ 

 

    @Override 

    protected void service(HttpServletRequest request, HttpServletResponse response) 

            throws ServletException, IOException { 

        ServletContext sct=getServletConfig().getServletContext(); 

// 從上下文環境中通過屬性名獲取屬性值

        Map<Integer,String> dept=(Map<Integer,String>)sct.getAttribute("dept"); 

        Set<Integer> key=dept.keySet(); 

        response.setContentType("text/html;charset=utf-8"); 

        PrintWriter out=response.getWriter(); 

        out.println("<html>"); 

        out.println("<body>"); 

        out.println("<form action='/register' action='post'>"); 

        out.println("<table alignb='center'>"); 

        out.println("<tr>"); 

        out.println("<td>"); 

        out.println("username:"); 

        out.println("</td>"); 

        out.println("<td>"); 

        out.println("<input type='text' name='username'"); 

        out.println("</tr>"); 

        out.println("<tr>"); 

        out.println("<td>"); 

        out.println("city:"); 

        out.println("</td>"); 

        out.println("<td>"); 

        out.println("<select name='dept'"); 

        for(Integer i:key){ 

            out.println("<option value='"+i+"'>"+dept.get(i)+"</option>"); 

        } 

        out.println("</select>"); 

        out.println("</td>"); 

        out.println("<tr>"); 

        out.println("</table>"); 

        out.println("</form>"); 

        out.println("</body>"); 

        out.println("</html>"); 

        out.flush(); 

    } 

例二:書寫一個類用于統計當Web 應用啟動后,網頁被客戶端訪問的次數。如果重新啟動Web 應用,計數器不會重新從1 開始統計訪問次數,而是從上次統計的結果上進行累加。在實際應用中,往往需要統計自Web 應用被發布后網頁被客戶端訪問的次數,這就要求當Web 應用被終止時,計數器的數值被永久存儲在一個文件中或者數據庫中,等到Web 應用重新啟動時,先從文件或數據庫中讀取計數器的初始值,然后在此基礎上繼續計數。

向文件中寫入或讀取計數器的數值的功能可以由自定義的 MyServletContextListener 類來完成,它具有以下功能:

1 、在 Web 應用啟動時從文件中讀取計數器的數值,并把表示計數器的 Counter 對象存放到 Web 應用范圍內。存放計數器的文件的路徑為helloapp/count/count.txt

2 、在Web 應用終止時把Web 應用范圍內的計數器的數值保存到count.txt 文件中。

package ServletContextTest; 

import javax.servlet.ServletContext; 

import javax.servlet.ServletContextEvent; 

import javax.servlet.ServletContextListener; 

public class MyServletContextListener implements ServletContextListener{

  public void contextInitialized(ServletContextEvent sce){

    System.out.println("helloapp application is Initialized.");

    // 獲取 ServletContext 對象

    ServletContext context=sce.getServletContext();

    try{

       // 從文件中讀取計數器的數值

       BufferedReader reader=new BufferedReader(

           new InputStreamReader(context.

           getResourceAsStream("/count/count.txt")));

       int count=Integer.parseInt(reader.readLine());

       reader.close();

       // 創建計數器對象

       Counter counter=new Counter(count);

       // 把計數器對象保存到 Web 應用范圍

       context.setAttribute("counter",counter);

       } catch(IOException e) {

          e.printStackTrace();

       }

   }

   public void contextDestroyed(ServletContextEvent sce){

       System.out.println("helloapp application is Destroyed.");

       // 獲取 ServletContext 對象

       ServletContext context=sce.getServletContext();

       // Web 應用范圍獲得計數器對象

       Counter counter=(Counter)context.getAttribute("counter");

       if(counter!=null){

       try{

          // 把計數器的數值寫到 count.txt 文件中

          String filepath=context.getRealPath("/count");

          filepath=filepath+"/count.txt";

          PrintWriter pw=new PrintWriter(filepath);

          pw.println(counter.getCount());

          pw.close();

         } catch(IOException e) {

             e.printStackTrace();

         }

     }

   }

}

將用戶自定義的 MyServletContextListener 監聽器在 Servlet 容器進行注冊, Servlet 容器會在啟動或終止 Web 應用時,會調用該監聽器的相關方法。在 web.xml 文件中, <listener> 元素用于向容器注冊監聽器:

<listener>
<listener-class>
ServletContextTest
.MyServletContextListener<listener-class />
</listener>

通過上述兩個例子,即可以非常清楚的了解到 ServletContextListener 接口的使用方法及技巧。 Container 加載Web 應用程序時(例如啟動 Container 之后),會呼叫contextInitialized() ,而當容器移除Web 應用程序時,會呼叫contextDestroyed () 方法。 通過 Tomcat 控制臺的打印結果的先后順序,會發現當 Web 應用啟動時,Servlet 容器先調用contextInitialized() 方法,再調用lifeInitinit() 方法;當Web 應用終止時,Servlet 容器先調用lifeInitdestroy() 方法,再調用contextDestroyed() 方法。由此可見,在Web 應用的生命周期中,ServletContext 對象最早被創建,最晚被銷毀。  



半導體 2013-11-20 10:13 發表評論
]]>
航信接口碰到的問題錦集http://www.tkk7.com/fiele/archive/2013/11/15/406392.html半導體半導體Fri, 15 Nov 2013 11:20:00 GMThttp://www.tkk7.com/fiele/archive/2013/11/15/406392.htmlhttp://www.tkk7.com/fiele/comments/406392.htmlhttp://www.tkk7.com/fiele/archive/2013/11/15/406392.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/406392.htmlhttp://www.tkk7.com/fiele/services/trackbacks/406392.html1、加入包:httpcore-4.2.1.jar hotelbe-pure-sdk-6.1.1.jar  date4j-1.0.0.jar包   httpclient-4.2.1.jar

重點說一下import org.apache.http.Consts;
這個類在httpcore-4.2.1.jar這個包中,以前的版本如httpcore-4.0.1.jar 沒有。(找S我了)

半導體 2013-11-15 19:20 發表評論
]]>
連接池配置http://www.tkk7.com/fiele/archive/2013/10/26/405677.html半導體半導體Sat, 26 Oct 2013 08:39:00 GMThttp://www.tkk7.com/fiele/archive/2013/10/26/405677.htmlhttp://www.tkk7.com/fiele/comments/405677.htmlhttp://www.tkk7.com/fiele/archive/2013/10/26/405677.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/405677.htmlhttp://www.tkk7.com/fiele/services/trackbacks/405677.html

配置連接池

 本文旨在給程序開發人員提供一個比較具體的Tomcat連接池參考方案,為了提高文章的可讀性,文章前端引用了一位前輩的話,如果構成誤解,請多多諒解,本文不是從商業考慮的。有問題請聯系作者MSN:hpj2001(at)hotmail.com,Email:tocow(at)google.com。

連接池簡介
   程序開發,存在很多問題:首先,每一次Web請求都要建立一次數據庫連接。建立連接是一個費時的活動,每次都得花費0.05s~1s的時間,而且系統還要分配內存資源。這個時間對于一次或幾次數據庫操作,或許感覺不出系統有多大的開銷。可是對于現在的Web應用,尤其是大型電子商務網站,同時有幾百人甚至幾千人在線是很正常的事。在這種情況下,頻繁的進行數據庫連接操作勢必占用很多的系統資源,網站的響應速度必定下降,嚴重的甚至會造成服務器的崩潰。不是危言聳聽,這就是制約某些電子商務網站發展的技術瓶頸問題。其次,對于每一次數據庫連接,使用完后都得斷開。否則,如果程序出現異常而未能關閉,將會導致數據庫系統中的內存泄漏,最終將不得不重啟數據庫。還有,這種開發不能控制被創建的連接對象數,系統資源會被毫無顧及的分配出去,如連接過多,也可能導致內存泄漏,服務器崩潰。
      數據庫連接池(connection pool)的工作原理:
      由上面的分析可以看出,問題的根源就在于對數據庫連接資源的低效管理。
對于共享資源,有一個很著名的設計模式:資源池(Resource Pool)。該模式正是為了解決資源的頻繁分配、釋放所造成的問題。為解決上述問題,可以采用數據庫連接池技術。數據庫連接池的基本思想就是為數據庫連接建立一個“緩沖池”。預先在緩沖池中放入一定數量的連接,當需要建立數據庫連接時,只需從“緩沖池”中取出一個,使用完畢之后再放回去。我們可以通過設定連接池最大連接數來防止系統無盡的與數據庫連接。更為重要的是我們可以通過連接池的管理機制監視數據庫的連接的數量、使用情況,為系統開發、測試及性能調整提供依據。
一、Tomcat一般性說明
1、本壓縮包內的tomcat為apache-tomcat-5.5.20,截止到2006-10-12,是www.apache.org上最新的tomcat版本。
2、Tomcat使用的端口都是默認的。兩個比較重要的端口說明,shutdown port:8005;non-SSL HTTP/1.1 Connector port:8080。
3、涉及到修改的文件:
   a../ conf下server.xml、web.xml
   b../common/lib下增加ms-sql jdbc的三個jar包msbase.jar、mssqlserver.jar、msutil.jar
二、Tomcat配置連接池方案
       本文針對的是tomcat 5.5版本的連接池介紹,其它版本可能不適用。
       數據源可以配置成全局的和局部的:可以在任意Context中引用全局的數據源,在某一Context配置的數據源,不能在其它Context引用它。理解了全局和局部數據源的關系,下面就來介紹一下詳細配置說明,如下:
1、編輯打開./confCatalina/localhost/gdczsam.xml可以看到:
<!--F hpj 2006-10-12 
    Defualt, we set all different Resources as Global-Resource[which defined in server.xml <GlobalNamingResources></GlobalNamingResources>], 
    and get special Resource we needed in per-web-application contexts from Global-Resource.
    otherwise,we can set Resource we needed in any special Context, all two solutions are offered.

    A.during application development set reloadable="true", when deployed production set reloadable="false"

    B.many other datebase, url and driverClassName like underside list:
      1.ms-sql       driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
                     url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=SAM_GDCZ"
加載包mssqlserver.jar、msbase.jar、msutil.jar.

      2.oracle       driverClassName="oracle.jdbc.driver.OracleDriver"
                     url="jdbc:oracle:thin:@127.0.0.1:1521:SAM_GDCZ"

      3.postgresql   driverClassName="org.postgresql.Driver"
                     url="jdbc:postgresql://127.0.0.1:5432/SAM_GDCZ"

      4.mysql        driverClassName="org.gjt.mm.mysql.Driver"[old mySql jdbc driver]
                     driverClassName="com.mysql.jdbc.Driver"
                     url="jdbc:mysql://127.0.0.1:3306/SAM_GDCZ"
-->

<Context docBase="setup directory" path="/gdczsam" reloadable="true" cookies="true" crossContext="true" privileged="true" antiResourceLocking="false" antiJARLocking="false">

<!--
    <Resource name="jdbc/mssql-SAM_GDCZ"
              auth="Container"
                type="javax.sql.DataSource"
                driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
                url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=SAM_GDCZ"
                username="sa"
                password=""
                maxIdle="30"
                maxWait="10000"
                maxActive="100"/>
-->

<!--F hpj 2006-10-12 
    name: The name of the resource link to be created, which will be used in this web-application context environment.
    global: The name of the linked global resource in the global JNDI context.
    type: The fully qualified Java class name expected by the web application when it performs lookup for this resource link.
-->
   <ResourceLink name="mssql-SAM_GDCZ" global="jdbc/mssql-SAM_GDCZ" type="javax.sql.DataSource"/>

</Context>
         本文提供的tomcat連接池的默認配置如上述,代碼的說明性很強,既采用在./ conf/server.xml配置的全局數據源,然后在指定的Context中調用的方式。
         server.xml中的數據源就是上述代碼段注釋的Resource節點,被包含在server.xml中的GlobalNamingResources節點中。
         其中需要注意的是,該數據源需要在./conf/web.xml中加入一段聲明,如下:
    <resource-ref>
        <descrīption>DB Connection</descrīption>
        <res-ref-name>jdbc/mssql-SAM_GDCZ</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
2、第二種tomcat數據源的配置方式是本人推薦的:不在server.xml的GlobalNamingResources節點中加入Resource節點,而是對每個指定的Context配置數據源,這樣結構比較清晰。采用這種方式的gdczsam.xml配置如下:
<Context docBase="setup directory" path="/gdczsam" reloadable="true" cookies="true" crossContext="true" privileged="true" antiResourceLocking="false" antiJARLocking="false">

    <Resource name="jdbc/mssql-SAM_GDCZ"
             auth="Container"
                type="javax.sql.DataSource"
                driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
                url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=SAM_GDCZ"
                username="sa"
                password=""
                maxIdle="30"
                maxWait="10000"
                maxActive="100"/>

</Context>
3、以上兩種方式,只要是不同的數據源都必須在./conf/web.xml中加入resource-ref聲明。
4、產品部署時,不論使用什么方式來部署程序,都需要在./confCatalina/localhost中加入類似gdczsam.xml的文件來配置數據源。


半導體 2013-10-26 16:39 發表評論
]]>
Eclipse 格式化時不自動換行 Ctrl+shift+f .http://www.tkk7.com/fiele/archive/2013/10/18/405415.html半導體半導體Fri, 18 Oct 2013 13:44:00 GMThttp://www.tkk7.com/fiele/archive/2013/10/18/405415.htmlhttp://www.tkk7.com/fiele/comments/405415.htmlhttp://www.tkk7.com/fiele/archive/2013/10/18/405415.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/405415.htmlhttp://www.tkk7.com/fiele/services/trackbacks/405415.html
打開Eclipse的Window菜單,然后Preferences->Java->Code Style->Formatter->Edit/Show(根據不同版本可用的按鈕會不一樣) ->Line Wrapping->Maximum line width:由80改成800就行了。

2.Html代碼

Window->Preferences->MyEclipse->Files and Editors->Html->Html Source->Line width->加個0以后保存



半導體 2013-10-18 21:44 發表評論
]]>
數據庫最大連接數原理http://www.tkk7.com/fiele/archive/2013/08/14/402808.html半導體半導體Wed, 14 Aug 2013 09:07:00 GMThttp://www.tkk7.com/fiele/archive/2013/08/14/402808.htmlhttp://www.tkk7.com/fiele/comments/402808.htmlhttp://www.tkk7.com/fiele/archive/2013/08/14/402808.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/402808.htmlhttp://www.tkk7.com/fiele/services/trackbacks/402808.html1、JAVA做一個循環,每做一次事務(CRUD)加一個連接,一個連接相當于占2M內存。
50秒后自動釋放。
如果超過最大連接數報錯如下:
ORA-12519: TNS:no appropriate service handler found 解決  

有時候連得上數據庫,有時候又連不上.

可能是數據庫上當前的連接數目已經超過了它能夠處理的最大值.


select count(*) from v$process --當前的連接數
select value from v$parameter where name = 'processes' --數據庫允許的最大連接數
修改最大連接數:
alter system set processes = 300 scope = spfile;
重啟數據庫:
shutdown immediate;
startup;
--查看當前有哪些用戶正在使用數據
SELECT osuser, a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine
from v$session a, v$sqlarea b
where a.sql_address =b.address order by cpu_time/executions desc;

連接數配置在:applicationcontext.xml中
另一種解決辦法:直接用存儲過程,一個存儲過程只占一個連接。

查看當前最大連接數:
BasicDataSource dataSource = (BasicDataSource)SpringTools.getBean("dataSource");
System.out.println(dataSource.getNumActive());



半導體 2013-08-14 17:07 發表評論
]]>
myeclipse環境配置http://www.tkk7.com/fiele/archive/2013/08/14/402772.html半導體半導體Wed, 14 Aug 2013 01:32:00 GMThttp://www.tkk7.com/fiele/archive/2013/08/14/402772.htmlhttp://www.tkk7.com/fiele/comments/402772.htmlhttp://www.tkk7.com/fiele/archive/2013/08/14/402772.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/402772.htmlhttp://www.tkk7.com/fiele/services/trackbacks/402772.html1、檢查:.project文件,去掉<nature>org.eclipse.wst.jsdt.core.jsNature</nature>。
    或:右鍵項目 -> properties -> Builders 去掉JavaScript Validator 前面的勾


半導體 2013-08-14 09:32 發表評論
]]>
輸出日志。myeclipse中http://www.tkk7.com/fiele/archive/2013/07/03/401176.html半導體半導體Wed, 03 Jul 2013 08:18:00 GMThttp://www.tkk7.com/fiele/archive/2013/07/03/401176.htmlhttp://www.tkk7.com/fiele/comments/401176.htmlhttp://www.tkk7.com/fiele/archive/2013/07/03/401176.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/401176.htmlhttp://www.tkk7.com/fiele/services/trackbacks/401176.html  <property name="hibernate.jdbc.batch_size">0</property>
  <property name="format_sql">false</property>
  <property name="use_sql_comments">false</property>
  
  <property name="show_sql">true</property>

半導體 2013-07-03 16:18 發表評論
]]>
ECLIPSE插件安裝,防亂碼http://www.tkk7.com/fiele/archive/2012/12/06/392550.html半導體半導體Thu, 06 Dec 2012 07:10:00 GMThttp://www.tkk7.com/fiele/archive/2012/12/06/392550.htmlhttp://www.tkk7.com/fiele/comments/392550.htmlhttp://www.tkk7.com/fiele/archive/2012/12/06/392550.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/392550.htmlhttp://www.tkk7.com/fiele/services/trackbacks/392550.html
Eclipse Classic的帶有source

建議使用Eclipse Classic,需要插件自己安裝配置即可

安裝相應插件:
1.安裝wtp,方便web開發
打開菜單help->Install new Software,單擊“add..”按鈕,彈出框的name和location都填入“http://download.eclipse.org/webtools/updates/”,等待一會,勾選“Web Tools Platform (WTP) 3.1.2”

2.安裝“java decompiler”
打開菜單help->Install new Software,單擊“add..”按鈕,彈出框的name和location都填入“http://java.decompiler.free.fr/jd-eclipse/update”,等待一會,勾選“Java Decompiler Eclipse Plug-in”,按向導進行安裝。

相關配置:
1.統一設置為utf-8編碼,Window->Preferences->General->Workspace->Text file encoding->Other->UTF-8。

2.修改jsp等默認編碼為utf-8,打開Window->Preferences->Web->Jsp Files,修改右面的encoding為(utf-8)。

3.統一設置為utf-8編碼,Window->Preferences->General->Content Types,在右面選擇“Text”,在default encoding輸入“UTF-8”,點“update”按鈕更新。

經過配置后,所有的新建的java、jsp、txt、html、xml、文件夾等編碼都是utf-8,這樣在jsp、html等文件中設定編碼為utf-8,可以避免亂碼。

半導體 2012-12-06 15:10 發表評論
]]>
解決Myeclipse不能自動編譯的問題http://www.tkk7.com/fiele/archive/2012/08/31/386678.html半導體半導體Fri, 31 Aug 2012 03:57:00 GMThttp://www.tkk7.com/fiele/archive/2012/08/31/386678.htmlhttp://www.tkk7.com/fiele/comments/386678.htmlhttp://www.tkk7.com/fiele/archive/2012/08/31/386678.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/386678.htmlhttp://www.tkk7.com/fiele/services/trackbacks/386678.html

半導體 2012-08-31 11:57 發表評論
]]>
、The type java.lang.Object cannot be resolved.It is indirectly referenced from required.class files。 http://www.tkk7.com/fiele/archive/2011/12/05/365602.html半導體半導體Mon, 05 Dec 2011 08:05:00 GMThttp://www.tkk7.com/fiele/archive/2011/12/05/365602.htmlhttp://www.tkk7.com/fiele/comments/365602.htmlhttp://www.tkk7.com/fiele/archive/2011/12/05/365602.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/365602.htmlhttp://www.tkk7.com/fiele/services/trackbacks/365602.html???? 出現以上信息的原因是因為你裝了多個版本的jre或jdk的關系。本來Eclipse在建立工程時,會自動參? 照你的jre路徑,但多個版本就沒辦法了。
? 你只能手動建立…
?? a. 進入window\preferences\java\Installed JREs
?????? 1)按Add
?????? 2)輸入JRE Name, 例JDK1.5.0.03
?????? 3)JRE home directory, 選擇安裝的路徑
?????? 4)按OK
? b. 進入Project\properties\Java Bulid Path
????? 1)Add library
????? 2)選JRE System Library后按Next
???? 3)選workplace default JRE后按finish...
2、The import javax.servlet cannot be resolved
?? 上面問題的解決辦法如下:將servlet-api.jar(在%TOMCAT_HOME%/\common\lib目錄下面可以找? 到 這個文件)或者javaee.jar導入每個動態web工程。


半導體 2011-12-05 16:05 發表評論
]]>
DATA,calendar日期轉換http://www.tkk7.com/fiele/archive/2011/04/12/348164.html半導體半導體Tue, 12 Apr 2011 10:00:00 GMThttp://www.tkk7.com/fiele/archive/2011/04/12/348164.htmlhttp://www.tkk7.com/fiele/comments/348164.htmlhttp://www.tkk7.com/fiele/archive/2011/04/12/348164.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/348164.htmlhttp://www.tkk7.com/fiele/services/trackbacks/348164.html1.Calendar和Date的轉化

(1) Calendar轉化為Date
Calendar cal=Calendar.getInstance();
Date date=cal.getTime();

(2) Date轉化為Calendar
Date date=new Date();
Calendar cal=Calendar.getInstance();
cal.setTime(date);

3,如果日期為空,默認一個日期
      cal.set(1990,01,01);



半導體 2011-04-12 18:00 發表評論
]]>
eclipse中outline里面函數前面的符號說明http://www.tkk7.com/fiele/archive/2010/11/25/339031.html半導體半導體Thu, 25 Nov 2010 07:53:00 GMThttp://www.tkk7.com/fiele/archive/2010/11/25/339031.htmlhttp://www.tkk7.com/fiele/comments/339031.htmlhttp://www.tkk7.com/fiele/archive/2010/11/25/339031.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/339031.htmlhttp://www.tkk7.com/fiele/services/trackbacks/339031.html紅色代表私有,藍色代表公有 實體方形代表方法 空心方形代表屬性 圖形后加字母S代表該屬性或方法為static靜態的,加字母F代表它為final的。 方法后加藍色三角代表它是繼承至父類的方法 斷點為藍色小圓形 藍色旗狀圖形代表書簽 白底上加藍色對鉤代表task

半導體 2010-11-25 15:53 發表評論
]]>
Eclipse,tomcat的JDK配置 http://www.tkk7.com/fiele/archive/2010/10/11/334284.html半導體半導體Mon, 11 Oct 2010 01:45:00 GMThttp://www.tkk7.com/fiele/archive/2010/10/11/334284.htmlhttp://www.tkk7.com/fiele/comments/334284.htmlhttp://www.tkk7.com/fiele/archive/2010/10/11/334284.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/334284.htmlhttp://www.tkk7.com/fiele/services/trackbacks/334284.html轉自:http://blog.sina.com.cn/s/blog_5673f78b0100c9pu.html
最近在使用Eclipse時碰到一個問題,就是由于Eclipse和Tomcat使用的JDK不同,一般我們都會在機器上安裝最新版本的JDK,由于Eclipse中也有JDK,但是版本往往都是舊版本的,當時在一個Web Project下編譯運行代碼,沒有問題,后來在同一個Project下繼續寫了一個例子,但是由于這次寫的例子中使用了泛型,但是對于泛型的支持還是在比較新版本的JDK可以編譯過去,因此Eclipse自帶的JDK是提示錯誤,所以通過配置Eclipse和Tomcat默認使用相同的JDK,再重新編譯Project就沒問題了.

1.Eclipse配置默認JDK

   通過Eclipse->Windows->Preference->Java->Installed JREs->add...將安裝的新版JDK(D:\Program Files\Java\jdk1.6.0_07)指定為Eclipse的默認JDK,再通過Eclipse->Windows->Preference->Java->compiler中將compiler compliance level 設置為6.0,至此Eclipse的JDK配置完成.

2.在Eclipse中配置Tomcat服務器和Tomcat配置默認JDK

    目前我使用的是MyEclipse,所以配置默認Tomcat在Eclipse->Windows->Preference->MyEclipse Enterprise Workbench->Servers->Tomcat 6.x(目前安裝的是6.x版本),將Tomcat Server設置為Enable,在tomcat home directory點擊Browse..選擇Tomcat安裝目錄,展開...->Servers->Tomcat 6.x,選中JDK,點擊Tomcat JDK Home...后面Add...添加Tomcat使用的JDK,在JRE Name 中填寫jdk1.6.0(名字根據自己的習慣來定義),點擊Jre Home Directory后面Browse..選擇新版的JDK目錄(D:\Program Files\Java\jdk1.6.0_07),至此Tomcat配置默認JDK完成。

    配置Tomcat默認使用JDK的目錄也可以通過,在TOMCAT_HOME\bin\下面修改catalina.bat和setclasspath.bat文件:

    1、修改tomcat/bin/catalina.bat,增加 set JAVA_HOME=XXXXXX,其中XXXXXX為jdk 的路徑,如c:\j2sdk1_4

    2、修改tomcat/bin/setclasspath.bat,同樣增加 set JAVA_HOME=XXXXXX

本人也由于JDK版本太多,所以這種辦法是相當可行!



半導體 2010-10-11 09:45 發表評論
]]>
webservice錯誤集錦http://www.tkk7.com/fiele/archive/2010/09/30/333570.html半導體半導體Thu, 30 Sep 2010 09:01:00 GMThttp://www.tkk7.com/fiele/archive/2010/09/30/333570.htmlhttp://www.tkk7.com/fiele/comments/333570.htmlhttp://www.tkk7.com/fiele/archive/2010/09/30/333570.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/333570.htmlhttp://www.tkk7.com/fiele/services/trackbacks/333570.html
一:
It is indirectly referenced from required .class file

原因:你正要使用的類調用了另一個類,而這個類又調用了其他類,這種關系可能會有好多層。而在這個調用的過程中,某個類所在的包的缺失就會造成以上那個錯誤。

解決方法:導入缺失的包

二:
The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project
The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files

出現以上訊息的原因是因為你裝了多個版本的jre或jdk的關係。本來Eclipse在建立專案時,會自動參照你的jre路徑,但多個版本就沒辦法了。
你只能手動建立…
1. 進入window\preferences\java\Installed JREs
1)按Add
2)輸入JRE Name, 例JDK1.5.0.03
3)JRE home directory, 選擇安裝的路徑
4)按OK
2. 進入Project\properties\Java Bulid Path
1)Add library
2)選JRE System Library後按Next
3)選workplace default JRE後按finish...

三,the type org.apache.axiom.soap.SOAPEnvelope cannot be resolved,it is indirectly referenced from required .class files
    當自動生成webservice程序時報的錯誤,最終解決辦法為,把xis2_Codegen_Wizard_1.4.0\lib包全復制到build path下,問題全解決了.
問題:An error occurred while completing process,java.lang.reflect.InvocationTargetException
        當我用axis自動生成代碼時,最后一步報的錯,網上通常說的解決辦法是

從AXIS2的LIB庫中復制"geronimo-stax-api_1.0_spec-1.0.1.jar"和"backport-util-concurrent-3.1.jar"文件到Codegen的lib目錄中,同時修改plugin.xml文件,添加

<library name="lib/geronimo-stax-api_1.0_spec-1.0.1.jar">
         <export name="*"/>
</library>
<library name="lib/backport-util-concurrent-3.1.jar">
        <export name="*"/>
</library>

到plugin.xml文件中,保存后重新啟動Eclipse即可!


但本人用這種辦法,怎么試也不行,本人用的JDK1.4,自動生成代碼插件為:Axis2_Codegen_Wizard_1.3.0
所以怎么試也行不通,最后本來換了個.Axis2_Codegen_Wizard_1.4.0問題終于解決.也整了一天了!

axis所需要的包:
Axis2_Codegen_Service_1.4.0_plugins 代碼自動生成   新建工程時,記得把該文件夾下lib\.jar包全部導入.

獲取XML
JDOM1.0\build\jdom.jar   要加載到lib中
記住,當你用JDK1.4時,所有的包都要下載后墜為1.4的包,不然會出些稀奇古怪的錯誤.

webservice操作步驟:
1,把Axis2_Codegen_Service_1.4.0_plugins拷貝到plugin下.
2,打開eclipse,新建文件時選擇axis.
3,選擇JWDL地址.
4,生成代碼,
5,調用:

     TaskServiceStub ts = new TaskServiceStub();
     TaskServiceStub.GetTaskList gt = new TaskServiceStub.GetTaskList();
     gt.setPassword(usercode);
     gt.setUsercode(password);
     String sxml = ts.GetTaskList(gt).getGetTaskListResult();
四,java.net.SocketException: Software caused connection abort: socket write error
     at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:126)
這個問題,我一直找不到答案,希望各位高手能告訴我.


半導體 2010-09-30 17:01 發表評論
]]>
webservice相關下載http://www.tkk7.com/fiele/archive/2010/09/27/333088.html半導體半導體Mon, 27 Sep 2010 14:11:00 GMThttp://www.tkk7.com/fiele/archive/2010/09/27/333088.htmlhttp://www.tkk7.com/fiele/comments/333088.htmlhttp://www.tkk7.com/fiele/archive/2010/09/27/333088.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/333088.htmlhttp://www.tkk7.com/fiele/services/trackbacks/333088.html

半導體 2010-09-27 22:11 發表評論
]]>
當myeclipse不能編譯時http://www.tkk7.com/fiele/archive/2010/09/09/331495.html半導體半導體Thu, 09 Sep 2010 04:05:00 GMThttp://www.tkk7.com/fiele/archive/2010/09/09/331495.htmlhttp://www.tkk7.com/fiele/comments/331495.htmlhttp://www.tkk7.com/fiele/archive/2010/09/09/331495.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/331495.htmlhttp://www.tkk7.com/fiele/services/trackbacks/331495.html    如果這樣還不行,請查看
      window->prefrences=>JAVA標簽->complier選項->error改為警告

半導體 2010-09-09 12:05 發表評論
]]>
Sturts tag 中logic:present 和logic:empty 的區別http://www.tkk7.com/fiele/archive/2010/01/12/309099.html半導體半導體Tue, 12 Jan 2010 02:32:00 GMThttp://www.tkk7.com/fiele/archive/2010/01/12/309099.htmlhttp://www.tkk7.com/fiele/comments/309099.htmlhttp://www.tkk7.com/fiele/archive/2010/01/12/309099.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/309099.htmlhttp://www.tkk7.com/fiele/services/trackbacks/309099.htmllogic:present 和 logic:empty他們的用法大致相同,唯一的不同點是:兩者在對空字符串的處理上存在著不同。


下面為index.jsp中的代碼:

 1 <logic:notPresent name="users">
 2  notpresent
 3 </logic:notPresent>
 4 <logic:notEmpty name="users">
 5  notempty
 6 </logic:notEmpty>
 7 <logic:empty name="users">
 8  empty
 9 </logic:empty>
10 <logic:present name="users">
11  present
12 </logic:present>

當第一次訪問該JSP的時候,由于users沒有定義,并且也不在page,request,session,application任何一個作用域中,因此輸出的結果為notpresent,empty。

下面我們增加一個action,讓他在index.jsp之前執行,然后再跳轉到index.jsp中,同時在該action的execute方法中增加如下代碼:
 
1String userName = "";
2request.setAttribute("users", userName);
3return new ActionForward("/index.jsp");
4 這里將userName保存在request中,key為users,再將請求轉發至index.jsp中,但是userName的值為一個空字符串,轉發過后,輸出的值為:empty,present

這里我們再做一次改動,將action的execute方法中的代碼改為:

1String userName = null;
2request.setAttribute("users", userName);
3return new ActionForward("/hello.jsp");
4 不同的是userName 不再為空字符串了,而是null值,當轉發至index.jsp后,輸出的值為:notpresent,empty 。

對比這幾次改動,我們可以得出結論:

對于沒有在page,request,session,application中定義或者是沒有分配內存空間(null值)的變量,這兩個標記處理的方法是一致的,都會認為此變量不存在(notpresent)或者為空(empty)。而對于空字符串""值,他們的處理就不一樣了,logic:present 標記認為空字符串仍然是存在的,也就是說,只要是引用了一塊內存空間的變量,logic:present 就會返回present ;而logic:empty則認為空字符串仍然為空,由此得出,在logic:empty看來,變量不僅僅要引用一塊內存空間,而且該地址空間的值不能為空字符串,否則都認為該變量為空,都會返回empty



半導體 2010-01-12 10:32 發表評論
]]>
通過class文件,看版本http://www.tkk7.com/fiele/archive/2009/07/16/286955.html半導體半導體Thu, 16 Jul 2009 03:25:00 GMThttp://www.tkk7.com/fiele/archive/2009/07/16/286955.htmlhttp://www.tkk7.com/fiele/comments/286955.htmlhttp://www.tkk7.com/fiele/archive/2009/07/16/286955.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/286955.htmlhttp://www.tkk7.com/fiele/services/trackbacks/286955.htmlimport java.io.FileInputStream;

public class ParseClassFile {

    public static void main(String args[]) {

        try {

            // 讀取文件數據,文件是當前目錄下的First.class

            FileInputStream fis = new FileInputStream("e:/logout_jsp.class");

            int length = fis.available();

            // 文件數據

            byte[] data = new byte[length];

            // 讀取文件到字節數組

            fis.read(data);

            // 關閉文件

            fis.close();

            // 解析文件數據

            parseFile(data);

        } catch (Exception e) {

            System.out.println(e);

        }

    }

    private static void parseFile(byte[] data) {

        // 輸出魔數

        System.out.print("魔數(magic):0x");

        System.out.print(Integer.toHexString(data[0]).substring(6)
                .toUpperCase());

        System.out.print(Integer.toHexString(data[1]).substring(6)
                .toUpperCase());

        System.out.print(Integer.toHexString(data[2]).substring(6)
                .toUpperCase());

        System.out.println(Integer.toHexString(data[3]).substring(6)
                .toUpperCase());

        // 主版本號和次版本號碼
        int minor_version = (((int) data[4]) << 8) + data[5];

        int major_version = (((int) data[6]) << 8) + data[7];

        System.out.println("版本號(version):" + major_version + "."
                + minor_version);

    }

}

 

運行:

E:\>javac ParseClassFile.java

E:\>java  ParseClassFile
魔數(magic):0xCAFEBABE
版本號(version):48.0
48代表JDK1.5.0



半導體 2009-07-16 11:25 發表評論
]]>
MYeclipse問題集: class file has wrong version 49.0, should be 48.0http://www.tkk7.com/fiele/archive/2009/05/27/278273.html半導體半導體Wed, 27 May 2009 14:53:00 GMThttp://www.tkk7.com/fiele/archive/2009/05/27/278273.htmlhttp://www.tkk7.com/fiele/comments/278273.htmlhttp://www.tkk7.com/fiele/archive/2009/05/27/278273.html#Feedback0http://www.tkk7.com/fiele/comments/commentRss/278273.htmlhttp://www.tkk7.com/fiele/services/trackbacks/278273.html有些時候,我們會遇到版本不匹配的問題。如: bad class file: /usr/java/jdk1.5.0_06/jre/lib/rt.jar(java/lang/Object.class)class file has wrong version 49.0, should be 48.0Please remove or make sure it appears in the correct subdirectory of the classpath.這是因為編譯環境和運行環境的不一致造成的,比如tomcat5.5和jdk1.5配合的時候,可能就會出現。解決這個問題的方法:copy jdk1.5的lib/tools.jar到tomcat5.5的common/lib/tools.jar,覆蓋掉原有文件就可以了。


Unsupported major.minor version 49.0
 

電腦中裝了很多JDK的版本,Eclipse中也分別有JDK1.4,JRE1.5,JRE1.6的Project,不同的項目需要經常切換JDK版本,執行某工程的時候突然出現“Unsupported major.minor version 49.0”的錯誤。

出現這樣錯誤的原因是JDK1.5下編譯的東西被放到了JDK1.4下執行。

Eclipse中修改方法:

「Window」->「Preferences」->「Java」->「Compiler」->「JDK Compliance level」->「1.4」改成1.4就OK了。
錯誤:class file has wrong version 49.0, should be 48.0也有可能是這個原因,我就活活被整了三天!

錯誤提示:The type ThreadLocal is not generic; it cannot be parameterized with arguments  <Session>
另外每個項目下的“JRE System Library[jdk1.4.2]"如果你看到這個JDK版本跟你不配,那么你就需要在類庫右擊:configure->edit library更改你的JRE了,因為JDK1。5以上有的新東東,1.4.5沒有,所以就報這個錯啦。



半導體 2009-05-27 22:53 發表評論
]]>
主站蜘蛛池模板: 亚洲精品电影天堂网| 久久久青草青青国产亚洲免观 | 亚洲狠狠ady亚洲精品大秀| 成人网站免费大全日韩国产| 亚洲狠狠爱综合影院婷婷| 国产精品亚洲а∨天堂2021| 国产无遮挡吃胸膜奶免费看 | 成人午夜亚洲精品无码网站| 一本一道dvd在线观看免费视频| 亚洲&#228;v永久无码精品天堂久久 | 青青免费在线视频| 亚洲AV无码专区日韩| xxxxx做受大片在线观看免费| 亚洲午夜av影院| 国产无遮挡又黄又爽免费网站| 亚洲精品卡2卡3卡4卡5卡区| 久久久久久一品道精品免费看 | 国产成人亚洲合集青青草原精品 | 午夜免费福利在线观看| 亚洲av无码偷拍在线观看| 免费v片在线观看无遮挡| av电影在线免费看| 老司机亚洲精品影院无码| 成人影片麻豆国产影片免费观看| 亚洲人成色777777精品| 亚洲精品国产高清嫩草影院 | 成人性做爰aaa片免费看| 亚洲成人一级电影| 日韩一级在线播放免费观看| xxxxx做受大片在线观看免费| 亚洲国产精品热久久| 好吊妞在线新免费视频| 人成午夜免费大片在线观看| 亚洲国产精品久久久久久| 18禁成年无码免费网站无遮挡| 特级无码毛片免费视频| 亚洲AV成人精品网站在线播放| 精品久久久久国产免费| a一级毛片免费高清在线| 亚洲无线一二三四区| 亚洲国产香蕉人人爽成AV片久久|