锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久亚洲精品无码,亚洲乱码精品久久久久..,亚洲午夜未满十八勿入网站2http://www.tkk7.com/qin/category/33415.htmlArt is longzh-cnTue, 21 Oct 2008 12:10:48 GMTTue, 21 Oct 2008 12:10:48 GMT60(ssh)涓涓畝鍗曠殑hibernate涓巗pring闆嗘垚http://www.tkk7.com/qin/archive/2008/10/21/235674.htmlqinqinTue, 21 Oct 2008 06:41:00 GMThttp://www.tkk7.com/qin/archive/2008/10/21/235674.htmlhttp://www.tkk7.com/qin/comments/235674.htmlhttp://www.tkk7.com/qin/archive/2008/10/21/235674.html#Feedback4http://www.tkk7.com/qin/comments/commentRss/235674.htmlhttp://www.tkk7.com/qin/services/trackbacks/235674.html涓嬮潰浠嬬粛涓涓媓ibernate涓巗pring鐨勯泦鎴?榪欎袱涓鏋剁殑闆嗘垚鍏抽敭鍦ㄤ簬applicationContext.xml鏂囦歡鐨勯厤緗紝鍏跺疄寰堢畝鍗曠殑錛屼絾闇瑕佹敞鎰忕殑鏄紝瀵煎叆鍖呮椂涓瀹氶夋嫨瀵煎叆鍒皐ebroot/web-inf/lib鐩綍涓紝鑰屼笖hibernate涓鑸鍦╯pring涔嬪墠瀵煎叆錛屽洜涓洪泦鎴愭椂瑕佺敤鍒皊essionFactory綾?
涓銆佸垵濮嬪寲宸ヤ綔:鏂板緩涓涓」鐩?濡?ssh),鍦ㄦ欏圭洰涓鍏ュhibernate鐨勬敮鎸?鏂板緩涓涓〃sstest琛紝鏈夊瓧孌礽d,username,password,id涓轟富鍋ュ拰鑷姩澧?
浜屻佸鏂板緩鐨勬暟鎹〃榪涜hibernate榪涜鏄犲皠,鎵撳紑myhibernate瑙嗗浘錛屽彸鍑諱綘sstest琛?>閫塰ibernate revers engineering閫夐」錛岀劧鍚庢妸Sstest.hbm.xml鏂囦歡鏄犲皠鍒癶ibernateDao鍖呬腑錛屽悓鏃墮変腑宸ュ叿 hibernate mapping file...,  java data object.....,  java data access object dao...閫夐」錛屽厛涓繖鍑犱釜鏂囦歡灝卞彲浠ヤ駭鐢熶笅鍒楀嚑涓?java鏂囦歡:BaseHibernateDAO. ,HibernateSessionFactory ,IBaseHibernateDAO, Sstest,SstestDAO,鏈鍚庝綘瀵逛綘鐨勪唬鐮佽繘琛屾祴璇曪紝嫻嬭瘯鎴愬姛錛岃繘琛屼笅涓姝?br /> 涓夈佸湪欏圭洰涓鍏ュspring鐨勬敮鎸侊紝鍦ㄥ鍏ラ」鐩悗涓嶄絾瑕佽嚜鍔ㄤ駭鐢焌pplicationContext.xml,鑰屼笖鍦ㄨ繖涓枃浠墮噷浼氬嚭鐜頒笅闈㈢殑鍐呭錛?br /> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="configLocation" value="classpath:hibernate.cfg.xml">   
  </property>
 </bean>
榪欏氨鏄負浠涔堣鍏堣瀵煎叆hibernate鐨勫師鍥?br /> 鍥涖佽嫢浣犲spring鐨刬oc姣旇緝鐔燂紝浣犲彲浠ョ洿鎺ヨ繘鍏ヤ笅涓姝ワ紝濡傛灉涓嶆槸寰堜簡瑙o紝閭d箞浣犲彲浠ュ啓涓涓瘮杈冪畝鍗曠殑渚嬪瓙嫻嬭瘯涓涓嬬湅鏄惁鎴愬姛錛屽繀绔熸鏋跺拰鍦ㄤ竴璧鳳紝鎵浠ュ皬蹇冪偣濂斤紝涓嶇劧鍦ㄤ互鍚庡嚭浜嗘湁闂涓嶅ソ鎵?br /> 浜斻佽繘鍏yeclipse hibernate瑙嗗浘涓嬶紝鍦ㄦ柊鐨勫寘錛堝springDao錛変腑閲嶆柊瀵箂stest琛ㄨ繘琛屾槧灝勶紝榪欐鏄犲皠瑕佹敞鎰忕殑灝辨槸錛氭墦寮hibernate reverse engineering瀵硅瘽妗嗕腑澶嶉夋寜閽甹ava data access object(dao)(hibernate 3 only)涓嬶紝dao type 涓嶆槸閫塨asic dao閫夐」錛岃屾槸閫塻pring dao閫夐」錛屽綋浣犳槧灝勬垚鍔熷悗錛屽氨浼氬嚭鐜癝stest.java, SstestDAO.java, Sstest.hbm.xml鍑犱釜鏂囦歡錛屼綘鍙互鍐欎竴涓被榪涜嫻嬭瘯錛屽錛?br /> springdaotest.java

package org.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import springDao.Sstest;
import springDao.SstestDAO;

public class SpringDaoTest {
 public static void main(String a[]){
  ApplicationContext cont = new ClassPathXmlApplicationContext("applicationContext.xml");
  SstestDAO  s = (SstestDAO) cont.getBean("SstestDAO");
   SstestDAO  s = (SstestDAO) cont.getBean("SstestDAOProxy");
  Sstest st = new Sstest();
  st.setUsername("spring");
  st.setPassword("spring");
  s.save(st);   
 } 
}
鍏佺敱浜庢槧灝勪簡涓ゆ錛屾墍浠ヤ綘瑕佸湪hibernate.cfg.xml鏂囦歡涓紝鎶婂師鏉ユ槧灝勭殑鏂囦歡娉ㄨВ鎺夛細
<mapping resource="hibernateDao/Sstest.hbm.xml" />
鍥犱負鐜板湪宸叉湁涓琛岃繖鏍風殑浠g爜錛?br /> <mapping resource="springDao/Sstest.hbm.xml" />
涓冦佸疄鐜癶ibernate spring 浠g悊錛屽姞涓婁笅闈㈢殑浠g爜鍗沖彲錛?br /> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory">
   <ref local="sessionFactory"/>
  </property>
 </bean>
 <bean id="SstestDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <property name="proxyTargetClass">
   <value>true</value>
  </property>
  <property name="transactionManager">
   <ref bean="transactionManager"/>
  </property>
  <property name="target">
   <ref local="SstestDAO"/>
  </property>
  <property name="transactionAttributes">
   <props>
    <prop key="*">PROPAGATION_REQUIRED</prop>
   </props>
  </property>
 </bean>
鍦ㄨ繘琛屾祴璇曪紝嫻嬭瘯鏃訛紝榪樻槸鐢ㄥ師鏉ョ殑綾伙紝鍙渶鎶奡stestDAO  s = (SstestDAO) cont.getBean("SstestDAO");鍙樻垚
SstestDAO  s = (SstestDAO) cont.getBean("SstestDAOProxy");榪欐鐨刡ean鏄敤鐨勪唬鐮佺被瀹炵幇
涓嬮潰鏄畬鏁寸殑浠g爜錛?br /> 鍦ㄨ繖涓疄渚嬩腑hibernate鍖呬腑鐨勬枃浠禕aseHibernateDAO. ,HibernateSessionFactory ,IBaseHibernateDAO, Sstest,SstestDAO, Sstest.hbm.xml 錛屽拰鍦?a class="singleposttitle" id="viewpost1_TitleUrl" href="http://www.tkk7.com/qin/archive/2008/10/19/235318.html">涓涓畝鍗曠殑struts錛宧ibernate渚嬪瓙浠ュ強struts,hibernate闆嗘垚涓殑鏂囦歡鏄竴鏍風殑錛屼唬鐮佷竴鏍鳳紝涓嬮潰鏄竴浜涘叾瀹冧唬鐮侊細
applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="configLocation" value="classpath:hibernate.cfg.xml">   
  </property>
 </bean>

 <!-- spring dao -->
 <bean id="SstestDAO" class="springDao.SstestDAO">
  <property name="sessionFactory">
   <ref bean="sessionFactory"/>
  </property>
 </bean>
 <!-- hibernate 3 浜嬪姟浠g悊 -->
 <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory">
   <ref local="sessionFactory"/>
  </property>
 </bean>
 <bean id="SstestDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <property name="proxyTargetClass">
   <value>true</value>
  </property>
  <property name="transactionManager">
   <ref bean="transactionManager"/>
  </property>
  <property name="target">
   <ref local="SstestDAO"/>
  </property>
  <property name="transactionAttributes">
   <props>
    <prop key="*">PROPAGATION_REQUIRED</prop>
   </props>
  </property>
 </bean>
</beans> 
嫻嬭瘯綾伙細SpringDaoTest.java

package org.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import springDao.Sstest;
import springDao.SstestDAO;

public class SpringDaoTest {
 public static void main(String a[]){
  ApplicationContext cont = new ClassPathXmlApplicationContext("applicationContext.xml");
  //SstestDAO  s = (SstestDAO) cont.getBean("SstestDAO");
  //浠g悊綾?br />   SstestDAO  s = (SstestDAO) cont.getBean("SstestDAOProxy");
  Sstest st = new Sstest();
  st.setUsername("spring");
  st.setPassword("spring");
  s.save(st);   
 } 

Sstest.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="springDao.Sstest" table="sstest" schema="dbo" catalog="manager">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="increment" />
        </id>
        <property name="username" type="java.lang.String">
            <column name="username" length="10" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="password" length="20" />
        </property>
    </class>
</hibernate-mapping>
SstestDAO.java

package springDao;

import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.LockMode;
import org.springframework.context.ApplicationContext;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class SstestDAO extends HibernateDaoSupport {
 private static final Log log = LogFactory.getLog(SstestDAO.class);
 // property constants
 public static final String USERNAME = "username";
 public static final String PASSWORD = "password";

 protected void initDao() {
  // do nothing
 }

 public void save(Sstest transientInstance) {
  log.debug("saving Sstest instance");
  System.out.println("Ok");
  try {
   getHibernateTemplate().save(transientInstance);
   log.debug("save successful");
   System.out.print("save Ok");
  } catch (RuntimeException re) {
   log.error("save failed", re);
   throw re;
  }
 }

 public void delete(Sstest persistentInstance) {
  log.debug("deleting Sstest instance");
  try {
   getHibernateTemplate().delete(persistentInstance);
   log.debug("delete successful");
  } catch (RuntimeException re) {
   log.error("delete failed", re);
   throw re;
  }
 }

 public Sstest findById(java.lang.Integer id) {
  log.debug("getting Sstest instance with id: " + id);
  try {
   Sstest instance = (Sstest) getHibernateTemplate().get(
     "springDao.Sstest", id);
   return instance;
  } catch (RuntimeException re) {
   log.error("get failed", re);
   throw re;
  }
 }

 public List findByExample(Sstest instance) {
  log.debug("finding Sstest instance by example");
  try {
   List results = getHibernateTemplate().findByExample(instance);
   log.debug("find by example successful, result size: "
     + results.size());
   return results;
  } catch (RuntimeException re) {
   log.error("find by example failed", re);
   throw re;
  }
 }

 public List findByProperty(String propertyName, Object value) {
  log.debug("finding Sstest instance with property: " + propertyName
    + ", value: " + value);
  try {
   String queryString = "from Sstest as model where model."
     + propertyName + "= ?";
   return getHibernateTemplate().find(queryString, value);
  } catch (RuntimeException re) {
   log.error("find by property name failed", re);
   throw re;
  }
 }

 public List findByUsername(Object username) {
  return findByProperty(USERNAME, username);
 }

 public List findByPassword(Object password) {
  return findByProperty(PASSWORD, password);
 }

 public List findAll() {
  log.debug("finding all Sstest instances");
  try {
   String queryString = "from Sstest";
   return getHibernateTemplate().find(queryString);
  } catch (RuntimeException re) {
   log.error("find all failed", re);
   throw re;
  }
 }

 public Sstest merge(Sstest detachedInstance) {
  log.debug("merging Sstest instance");
  try {
   Sstest result = (Sstest) getHibernateTemplate().merge(
     detachedInstance);
   log.debug("merge successful");
   return result;
  } catch (RuntimeException re) {
   log.error("merge failed", re);
   throw re;
  }
 }

 public void attachDirty(Sstest instance) {
  log.debug("attaching dirty Sstest instance");
  try {
   getHibernateTemplate().saveOrUpdate(instance);
   log.debug("attach successful");
  } catch (RuntimeException re) {
   log.error("attach failed", re);
   throw re;
  }
 }

 public void attachClean(Sstest instance) {
  log.debug("attaching clean Sstest instance");
  try {
   getHibernateTemplate().lock(instance, LockMode.NONE);
   log.debug("attach successful");
  } catch (RuntimeException re) {
   log.error("attach failed", re);
   throw re;
  }
 }

 public static SstestDAO getFromApplicationContext(ApplicationContext ctx) {
  return (SstestDAO) ctx.getBean("SstestDAO");
 }
}

Sstest.java

package springDao;

public class Sstest implements java.io.Serializable {

 // Fields

 private Integer id;
 private String username;
 private String password;

 // Constructors

 /** default constructor */
 public Sstest() {
 }

 /** full constructor */
 public Sstest(String username, String password) {
  this.username = username;
  this.password = password;
 }

 // Property accessors

 public Integer getId() {
  return this.id;
 }

 public void setId(Integer id) {
  this.id = id;
 }

 public String getUsername() {
  return this.username;
 }

 public void setUsername(String username) {
  this.username = username;
 }

 public String getPassword() {
  return this.password;
 }

 public void setPassword(String password) {
  this.password = password;
 }

}

hibernate.cfg.xml

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

 <session-factory>
  <property name="connection.username">sa</property>
  <property name="connection.url">
   jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=manager
  </property>
  <property name="dialect">
   org.hibernate.dialect.SQLServerDialect
  </property>
  <property name="myeclipse.connection.profile">
   com.microsoft.jdbc.sqlserver.SQLServerDriver
  </property>
  <property name="connection.password">wq</property>
  <property name="connection.driver_class">
   com.microsoft.jdbc.sqlserver.SQLServerDriver
  </property>
  <!-- <mapping resource="hibernateDao/Sstest.hbm.xml" /> -->
  <!-- 浣跨敤springdao -->
  <mapping resource="springDao/Sstest.hbm.xml" />

 </session-factory>

</hibernate-configuration>






 



qin 2008-10-21 14:41 鍙戣〃璇勮
]]>
(spring+hibernate)java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Vhttp://www.tkk7.com/qin/archive/2008/10/20/235465.htmlqinqinMon, 20 Oct 2008 06:49:00 GMThttp://www.tkk7.com/qin/archive/2008/10/20/235465.htmlhttp://www.tkk7.com/qin/comments/235465.htmlhttp://www.tkk7.com/qin/archive/2008/10/20/235465.html#Feedback0http://www.tkk7.com/qin/comments/commentRss/235465.htmlhttp://www.tkk7.com/qin/services/trackbacks/235465.html 褰撲綘鎶妔pring鍖呭拰hibernate鐩稿簲鍖呮墦榪涢」鐩噷錛岀劧鍚庡湪鎵撳寘鐨勬枃浠墮噷鎶婃妸
asm.jar,asm-attrs.jar,cglib-2.1.3.jar涓変釜鏂囦歡浠庨」鐩噷瀵煎嚭錛屽茍鍒犳帀灝監K浜?br />
閿欒鐨勭ゥ緇嗕俊鎭涓嬶細
2008-10-20 22:15:31,859 ERROR [org.hibernate.proxy.BasicLazyInitializer.getProxyFactory():130] - CGLIB Enhancement failed: springDao.Sstest
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
 at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)
 at net.sf.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:173)
 at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
 at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
 at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145)
 at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
 at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
 at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
 at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
 at org.hibernate.proxy.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:116)
 at org.hibernate.proxy.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:41)
 at org.hibernate.tuple.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:161)
 at org.hibernate.tuple.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:131)
 at org.hibernate.tuple.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
 at org.hibernate.tuple.TuplizerLookup.create(TuplizerLookup.java:64)
 at org.hibernate.tuple.EntityMetamodel.<init>(EntityMetamodel.java:257)
 at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:412)
 at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:108)
 at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
 at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:216)
 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
 at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
 at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
 at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1198)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1167)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:285)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
 at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:122)
 at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:66)
 at com.yourcompany.struts.action.SpringProxyAction.execute(SpringProxyAction.java:22)
 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:637)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 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:191)
 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:845)
 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:595)
2008-10-20 22:15:31,906 WARN  [org.hibernate.tuple.PojoEntityTuplizer.buildProxyFactory():173] - could not create proxy factory for:springDao.Sstest
org.hibernate.HibernateException: CGLIB Enhancement failed: springDao.Sstest
 at org.hibernate.proxy.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:132)
 at org.hibernate.proxy.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:41)
 at org.hibernate.tuple.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:161)
 at org.hibernate.tuple.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:131)
 at org.hibernate.tuple.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
 at org.hibernate.tuple.TuplizerLookup.create(TuplizerLookup.java:64)
 at org.hibernate.tuple.EntityMetamodel.<init>(EntityMetamodel.java:257)
 at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:412)
 at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:108)
 at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
 at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:216)
 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
 at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
 at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
 at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1198)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1167)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:285)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
 at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:122)
 at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:66)
 at com.yourcompany.struts.action.SpringProxyAction.execute(SpringProxyAction.java:22)
 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:637)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 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:191)
 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:845)
 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:595)
Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
 at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)
 at net.sf.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:173)
 at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
 at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
 at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145)
 at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
 at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
 at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
 at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
 at org.hibernate.proxy.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:116)
 ... 44 more


qin 2008-10-20 14:49 鍙戣〃璇勮
]]>
(ssh)涓涓畝鍗曠殑struts錛宧ibernate渚嬪瓙浠ュ強struts,hibernate闆嗘垚http://www.tkk7.com/qin/archive/2008/10/19/235318.htmlqinqinSun, 19 Oct 2008 09:56:00 GMThttp://www.tkk7.com/qin/archive/2008/10/19/235318.htmlhttp://www.tkk7.com/qin/comments/235318.htmlhttp://www.tkk7.com/qin/archive/2008/10/19/235318.html#Feedback2http://www.tkk7.com/qin/comments/commentRss/235318.htmlhttp://www.tkk7.com/qin/services/trackbacks/235318.html鏈榪戝湪瀛﹀嚑涓父鐢ㄦ鏋剁殑闆嗘垚錛屼笅闈㈡槸涓涓叧浜巗truts+hibernate鐨勯泦鎴愮殑渚嬪瓙錛屽ぇ瀹墮兘鐭ラ亾錛屼換浣曚竴涓鏉傜殑涓滆タ錛岄兘鏄粠綆鍗曞紑濮嬬殑錛屾墍浠ユ垜鍏堣涓涓猻truts+hibernate闆嗘垚錛岀劧鍚庡啀榪涗竴姝ヤ簡瑙o紝甯屾湜瀵硅繖鏂歸潰鐖卞ソ鐨勮兘鏈夋墍甯姪
涓銆佹柊寤轟竴涓」鐩紙濡俿sh錛?br /> 浜屻佸姞鍏ヨ欏圭洰瀵箂truts鐨勬敮鎸侊紝灝辨槸鐩稿叧struts鍖咃紝錛堝彸鍑諱綘鏂板緩鐨勯」鐩紞>MyEclipse錛岄塧dd struts.........錛?br /> 涓夈佹坊鍔犱簡瀵箂truts鏀寔鍚庯紝鐒跺悗鍦╯truts-config.xml鏂囦歡閲屽彸鍑伙紝鏂板緩錛?gt;form action and jsp閫夐」錛岄偅鏍峰氨鍙互鎶婅繖涓変釜鏂囦歡鏂板緩濂?register1.jsp,Register1Action.java,Register1Form.java錛堜綘鍙互鎶婅繖涓変釜鏂囦歡鍙戝竷鍒皌omcat榪涜嫻嬭瘯錛夛紝嫻嬭瘯鎴愬姛灝卞彲浠ユ墽琛屼笅涓姝?br /> 鍥涖佹柊寤轟竴涓〃sstest琛紝鏈夊瓧孌礽d,username,password,id涓轟富鍋ュ拰鑷姩澧?
浜旓紝鍚屾牱鐨勬柟娉曟坊鍔犲hibernate鏀寔
鍏佸鏂板緩鐨勬暟鎹〃榪涜hibernate榪涜鏄犲皠,鎵撳紑myhibernate瑙嗗浘錛屽彸鍑諱綘sstest琛?>閫塰ibernate revers engineering閫夐」錛岀劧鍚庢妸Sstest.hbm.xml鏂囦歡鏄犲皠鍒癶ibernateDao鍖呬腑錛屽悓鏃墮変腑宸ュ叿 hibernate mapping file...,  java data object.....,  java data access object dao...閫夐」錛屽厛涓繖鍑犱釜鏂囦歡灝卞彲浠ヤ駭鐢熶笅鍒楀嚑涓?java鏂囦歡:BaseHibernateDAO. ,HibernateSessionFactory ,IBaseHibernateDAO, Sstest,SstestDAO,鏈鍚庝綘瀵逛綘鐨勪唬鐮佽繘琛屾祴璇曪紝嫻嬭瘯鎴愬姛錛岃繘琛屼笅涓姝?br /> 涓冦佸ソ浜嗭紝鍏充簬struts鍜宧ibernate浠g爜鍩烘湰涓婂樊涓嶅ソ浜嗭紝涓嬮潰鏉ョ湅涓鐩翠唬鐮侊紝浠g爜涓鴻摑鑹茬殑灝辨槸闆嗘垚鐨勫湴鏂?涓昏鏄湅Register1Action浠g爜,鍏跺畠鐨勪唬鐮侀兘鏄嚜鍔ㄧ敓鎴愮殑
鐩稿叧浠g爜濡備笅錛?br /> register1.jsp

<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> 
<html>
 <head>
  <title>JSP for Register1Form form</title>
 </head>
 <body>
  <html:form action="/register1">
   password : <html:password property="password"/><html:errors property="password"/><br/>
   username : <html:text property="username"/><html:errors property="username"/><br/>
   <html:submit/><html:cancel/>
  </html:form>
 </body>
</html>

Register1Action.java 

package com.yourcompany.struts.action;

import hibernateDao.Sstest;
import hibernateDao.SstestDAO;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hibernate.Transaction;

import com.yourcompany.struts.form.Register1Form;

public class Register1Action extends Action {
 //鏁版嵁dao
 SstestDAO sd;
 public Register1Action() {
  // TODO Auto-generated constructor stub
  setSd(new SstestDAO());
 }

 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  Register1Form register1Form = (Register1Form) form;// TODO Auto-generated method stub
  //杈撳嚭瀹㈡埛绔殑鐢ㄦ埛鍚?br />   response.setCharacterEncoding("GB2312");
  System.out.println("register1Form.name\t"+register1Form.getUsername());
  /*
   * 鏁版嵁搴撴搷浣?br />    * */
  Sstest st = new Sstest(); 
  st.setUsername(register1Form.getUsername());
  st.setPassword(register1Form.getPassword());

  //dao瀵硅薄
  SstestDAO sd = getSd();
  Transaction tran = sd.getSession().beginTransaction(); //寮濮嬩簨鍔?br />   sd.save(st);
  tran.commit();

  //璇鋒眰杞彂鍒皊uccess
  return mapping.findForward("success");
 }
 //鏁版嵁dao錛実et錛宻et鏂規硶
 public void setSd(SstestDAO sd) {
  this.sd = sd;
 }
 public SstestDAO getSd() {
  return sd;
 }
}

Register1Form.java
package com.yourcompany.struts.form;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

public ActionErrors validate(ActionMapping mapping,
   HttpServletRequest request) {
  // TODO Auto-generated method stub
  return null;
 }

 public void reset(ActionMapping mapping, HttpServletRequest request) {
  // TODO Auto-generated method stub
  this.username = "qin";
 }

 public String getPassword() {
  return password;
 }

 public void setPassword(String password) {
  this.password = password;
 }

 public String getUsername() {
  return username;
 }

 public void setUsername(String username) {
  this.username = username;
 }
}
濡傛灉浣犺寰椾綘鐨勪唬鐮佽嚜鍔ㄧ敓鎴愭湁闂鐨勮瘽錛屼綘鍙互鍙傝冧笅鍒椾唬鐮?/p>

BaseHibernateDAO.java

package hibernateDao;

import org.hibernate.Session;

public class BaseHibernateDAO implements IBaseHibernateDAO {
 
 public Session getSession() {
  return HibernateSessionFactory.getSession();
 } 
}
HibernateSessionFactory.java

package hibernateDao;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;

public class HibernateSessionFactory {

   private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
 private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
    private  static Configuration configuration = new Configuration();
    private static org.hibernate.SessionFactory sessionFactory;
    private static String configFile = CONFIG_FILE_LOCATION;

 static {
     try {
   configuration.configure(configFile);
   sessionFactory = configuration.buildSessionFactory();
  } catch (Exception e) {
   System.err
     .println("%%%% Error Creating SessionFactory %%%%");
   e.printStackTrace();
  }
    }
    private HibernateSessionFactory() {
    } 
    public static Session getSession() throws HibernateException {
        Session session = (Session) threadLocal.get();

  if (session == null || !session.isOpen()) {
   if (sessionFactory == null) {
    rebuildSessionFactory();
   }
   session = (sessionFactory != null) ? sessionFactory.openSession()
     : null;
   threadLocal.set(session);
  }

        return session;
    }
 public static void rebuildSessionFactory() {
  try {
   configuration.configure(configFile);
   sessionFactory = configuration.buildSessionFactory();
  } catch (Exception e) {
   System.err
     .println("%%%% Error Creating SessionFactory %%%%");
   e.printStackTrace();
  }
 }
    public static void closeSession() throws HibernateException {
        Session session = (Session) threadLocal.get();
        threadLocal.set(null);

        if (session != null) {
            session.close();
        }
    }


 public static org.hibernate.SessionFactory getSessionFactory() {
  return sessionFactory;
 }


 public static void setConfigFile(String configFile) {
  HibernateSessionFactory.configFile = configFile;
  sessionFactory = null;
 }

 public static Configuration getConfiguration() {
  return configuration;
 }

}

IBaseHibernateDAO.java

package hibernateDao;

import org.hibernate.Session;


/**
 * Data access interface for domain model
 * @author MyEclipse Persistence Tools
 */
public interface IBaseHibernateDAO {
 public Session getSession();
}

     Sstest.java

package hibernateDao;

ublic class Sstest implements java.io.Serializable {

 // Fields

 private Integer id;
 private String username;
 private String password;

 // Constructors

 /** default constructor */
 public Sstest() {
 }

 /** full constructor */
 public Sstest(String username, String password) {
  this.username = username;
  this.password = password;
 }

 // Property accessors

 public Integer getId() {
  return this.id;
 }

 public void setId(Integer id) {
  this.id = id;
 }

 public String getUsername() {
  return this.username;
 }

 public void setUsername(String username) {
  this.username = username;
 }

 public String getPassword() {
  return this.password;
 }

 public void setPassword(String password) {
  this.password = password;
 }

}

SstestDAO.java

package hibernateDao;

import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.LockMode;
import org.hibernate.Query;
import org.hibernate.criterion.Example;

public class SstestDAO extends BaseHibernateDAO {
 private static final Log log = LogFactory.getLog(SstestDAO.class);
 // property constants
 public static final String USERNAME = "username";
 public static final String PASSWORD = "password";

 public void save(Sstest transientInstance) {
  log.debug("saving Sstest instance");
  try {
   getSession().save(transientInstance);
   log.debug("save successful");
  } catch (RuntimeException re) {
   log.error("save failed", re);
   throw re;
  }
 }

 public void delete(Sstest persistentInstance) {
  log.debug("deleting Sstest instance");
  try {
   getSession().delete(persistentInstance);
   log.debug("delete successful");
  } catch (RuntimeException re) {
   log.error("delete failed", re);
   throw re;
  }
 }

 public Sstest findById(java.lang.Integer id) {
  log.debug("getting Sstest instance with id: " + id);
  try {
   Sstest instance = (Sstest) getSession().get("hibernateDao.Sstest",
     id);
   return instance;
  } catch (RuntimeException re) {
   log.error("get failed", re);
   throw re;
  }
 }

 public List findByExample(Sstest instance) {
  log.debug("finding Sstest instance by example");
  try {
   List results = getSession().createCriteria("hibernateDao.Sstest")
     .add(Example.create(instance)).list();
   log.debug("find by example successful, result size: "
     + results.size());
   return results;
  } catch (RuntimeException re) {
   log.error("find by example failed", re);
   throw re;
  }
 }

 public List findByProperty(String propertyName, Object value) {
  log.debug("finding Sstest instance with property: " + propertyName
    + ", value: " + value);
  try {
   String queryString = "from Sstest as model where model."
     + propertyName + "= ?";
   Query queryObject = getSession().createQuery(queryString);
   queryObject.setParameter(0, value);
   return queryObject.list();
  } catch (RuntimeException re) {
   log.error("find by property name failed", re);
   throw re;
  }
 }

 public List findByUsername(Object username) {
  return findByProperty(USERNAME, username);
 }

 public List findByPassword(Object password) {
  return findByProperty(PASSWORD, password);
 }

 public List findAll() {
  log.debug("finding all Sstest instances");
  try {
   String queryString = "from Sstest";
   Query queryObject = getSession().createQuery(queryString);
   return queryObject.list();
  } catch (RuntimeException re) {
   log.error("find all failed", re);
   throw re;
  }
 }

 public Sstest merge(Sstest detachedInstance) {
  log.debug("merging Sstest instance");
  try {
   Sstest result = (Sstest) getSession().merge(detachedInstance);
   log.debug("merge successful");
   return result;
  } catch (RuntimeException re) {
   log.error("merge failed", re);
   throw re;
  }
 }

 public void attachDirty(Sstest instance) {
  log.debug("attaching dirty Sstest instance");
  try {
   getSession().saveOrUpdate(instance);
   log.debug("attach successful");
  } catch (RuntimeException re) {
   log.error("attach failed", re);
   throw re;
  }
 }

 public void attachClean(Sstest instance) {
  log.debug("attaching clean Sstest instance");
  try {
   getSession().lock(instance, LockMode.NONE);
   log.debug("attach successful");
  } catch (RuntimeException re) {
   log.error("attach failed", re);
   throw re;
  }
 }
}

Sstest.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="hibernateDao.Sstest" table="sstest" schema="dbo" catalog="manager">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="increment" />
        </id>
        <property name="username" type="java.lang.String">
            <column name="username" length="10" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="password" length="20" />
        </property>
    </class>
</hibernate-mapping>
struts-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="register1Form" type="com.yourcompany.struts.form.Register1Form" />

  </form-beans>

  <global-exceptions />
  <global-forwards />
  <action-mappings >
    <action
      attribute="register1Form"
      input="/form/register1.jsp"
      name="register1Form"
      path="/register1"
      scope="request"
      type="com.yourcompany.struts.action.Register1Action">
      <forward name="failed" path="/error.jsp" />
      <forward name="success" path="/success.jsp" />
    </action>

  </action-mappings>

  <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>

 


 



qin 2008-10-19 17:56 鍙戣〃璇勮
]]>
(struts2+spring)鎬?struts2 涓巗pring 鐩哥粨鍚堝仛鍑虹殑鐧婚檰瀹炰緥錛岃繍琛屾椂鎬庝箞鎵句笉鍒版枃浠跺憖錛岃鏁檦~~~(宸茶В鍐?http://www.tkk7.com/qin/archive/2008/09/24/230929.htmlqinqinWed, 24 Sep 2008 08:45:00 GMThttp://www.tkk7.com/qin/archive/2008/09/24/230929.htmlhttp://www.tkk7.com/qin/comments/230929.htmlhttp://www.tkk7.com/qin/archive/2008/09/24/230929.html#Feedback6http://www.tkk7.com/qin/comments/commentRss/230929.htmlhttp://www.tkk7.com/qin/services/trackbacks/230929.html

HTTP Status 404 - /testSpringStruts2/


type Status report

message /testSpringStruts2/

description The requested resource (/testSpringStruts2/) is not available.


Apache Tomcat/6.0.18


鍚屾椂鎺у埗鏍忓嚭鐜頒笅鍒楅敊璇俊鎭細
2008-9-24 16:32:12 org.apache.catalina.core.StandardContext filterStart
涓ラ噸: Exception starting filter struts
java.lang.NullPointerException
 at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:188)
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyResultType(XmlConfigurationProvider.java:479)
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addResultTypes(XmlConfigurationProvider.java:450)
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:407)
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)
 at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
 at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)
 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
 at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
 at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
 at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
 at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
 at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
 at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
 at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
 at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1116)
 at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1214)
 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
 at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
 at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
 at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
 at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
 at java.lang.Thread.run(Thread.java:595)
2008-9-24 16:32:12 org.apache.catalina.core.StandardContext start
涓ラ噸: Error filterStart


鍘熶唬鐮佸涓嬶細
LoginService.java
package org.test.service;
public interface LoginService {
 public boolean isLogin(String username,String password);
}

LoginServiceImpl .java

package org.test.service.impl;

import org.test.service.LoginService;

public class LoginServiceImpl implements LoginService {

 public boolean isLogin(String username, String password) {
  //鍒ゆ柇鐢ㄦ埛鎵浠ヨ緭鍏ョ殑鏁版嵁鏄惁涓篻ao,qin錛屽鏋滄槸鍒欑櫥闄嗘垚鍔?鍚﹀垯澶辮觸
  // TODO Auto-generated method stub
  if(username.equals("gao") && password.equals("qin")){
   return true;
  }
  return false;
 }

}

LoginAction.java

package org.test.struts2Action;

import org.test.service.LoginService;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class LoginAction extends ActionSupport {
 private String username;
 private String password;
 @SuppressWarnings("unused")
 private LoginService loginService;
 @Override
 public String execute() throws Exception {
  if(loginService.isLogin(username, password)){
   return SUCCESS;
  }
  return INPUT;
 }
 public String getUsername() {
  return username;
 }
 public void setUsername(String username) {
  this.username = username;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 }
 public void setLoginService(LoginService loginService) {
  this.loginService = loginService;
 }
}


applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
 <bean id="loginService" class="org.test.service.impl.LoginServiceImpl"></bean>
 <bean id="loginAction"  class="org.test.struts2Action.LoginAction" scope="prototype">
  <property name="loginService">
   <ref local="loginService"/>
  </property>
 </bean>
</beans>

struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="spring"/>
 <package name="qin" namespace="/" extends="struts-default">
  <action name="login" class="loginAction">
   <result name="success">/result.jsp</result>
   <result name="input">/index.jsp</result>
  </action>
 </package> 
</struts>

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
 xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:applicationContext.xml</param-value>
 </context-param>

  <filter>
   <filter-name>struts</filter-name>
   <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  </filter>
  <filter-mapping>
   <filter-name>struts</filter-name>
   <url-pattern>/*</url-pattern>
  </filter-mapping>
  <listener>
   <listener-class>org.springframework.web.context.ContextLoader</listener-class>
  </listener>

</web-app>

index.jsp

<%@ page language="java" pageEncoding="GB2312"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
  <head>   
    <title>My JSP 'index.jsp' starting page</title>

  </head> 
  <body>
   <h2>鐢ㄦ埛鐧婚檰</h2>
   <s:form action="login.action" method="post">
    <s:textfield name="username" label="鐢ㄦ埛鍚?></s:textfield>
    <s:password name="password" label="瀵嗙爜"></s:password>
    <s:submit value="鐧婚檰" name="sure"></s:submit>
   </s:form> 
  </body>
</html>

result.jsp

<%@ page language="java" pageEncoding="GB2312"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
  <head>   
    <title>My JSP 'index.jsp' starting page</title>

  </head> 
  <body>
   <h2>鐢ㄦ埛淇℃伅</h2>
    鐢ㄦ埛鍚嶏細<s:property value="username" escape="request"/>
    瀵嗙爜錛?{requestScope.password }
  </body>
</html>



qin 2008-09-24 16:45 鍙戣〃璇勮
]]>
(struts2)struts2鍥介檯鍖栬祫婧愭枃浠朵笉鍐嶇敤native2ascii鐨勬柟娉?/title><link>http://www.tkk7.com/qin/archive/2008/09/24/230806.html</link><dc:creator>qin</dc:creator><author>qin</author><pubDate>Wed, 24 Sep 2008 01:19:00 GMT</pubDate><guid>http://www.tkk7.com/qin/archive/2008/09/24/230806.html</guid><wfw:comment>http://www.tkk7.com/qin/comments/230806.html</wfw:comment><comments>http://www.tkk7.com/qin/archive/2008/09/24/230806.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/qin/comments/commentRss/230806.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/qin/services/trackbacks/230806.html</trackback:ping><description><![CDATA[struts2鍥介檯鍖栬祫婧愭枃浠朵笉鍐嶇敤native2ascii鐨勬柟娉?鑰屾槸鐢╡clipse涓殑涓涓彃浠?瀹夎浜涙彃浠墮氳繃Eclipse涓殑杞歡鍗囩駭錛圫oftware Update錛夊氨OK浜嗭紝涓嬮潰鎴戜滑鏉ョ湅涓涓嬪畨瑁呮楠ゅ惂錛?br /> 1銆佸睍寮Eclipse鐨凥elp鑿滃崟錛屽皢榧犳爣縐誨埌Software Update瀛愰」錛屽湪鍑虹幇鐨勫瓙鑿滃崟涓偣鍑籉ind and Install錛?br /> 2銆佸湪Install/Update瀵硅瘽妗嗕腑閫夋嫨Search for new features to install錛岀偣鍑籒ext錛?br /> 3銆佸湪Install瀵硅瘽妗嗕腑鐐瑰嚮New Remote Site錛?br /> 4銆佸湪New Update Site瀵硅瘽妗嗙殑Name濉叆“PropEdit”鎴栧叾瀹冧換鎰忛潪絀哄瓧絎︿覆錛屽湪URL涓~鍏ttp://propedit.sourceforge.jp/eclipse/updates/錛?br /> 5銆佸湪Site to include to search鍒楄〃涓紝闄や笂涓姝ュ姞鍏ョ殑site澶栫殑鍏跺畠閫夐」鍘繪帀錛岀偣鍑籉insih錛?br /> 6銆佸湪寮瑰嚭鐨刄pdates瀵硅瘽妗嗕腑鐨凷elect the features to install鍒楄〃涓皢鎵鏈夌粨灝句負“3.1.x”鐨勯夐」鍘繪帀錛堥傜敤浜嶦clipse 3.2鐗堟湰鐨勬湅鍙嬶級錛?br /> 7銆佺偣鍑籉inish鍏抽棴瀵硅瘽妗嗭紱<br /> 8銆佸湪涓嬭澆鍚庯紝鍚屾剰瀹夎錛屽啀鎸夋彁紺洪噸鍚疎clipse錛屽湪宸ュ叿鏉$湅鍒板艦浼紇i鐨勬寜閽〃紺哄畨瑁呮垚鍔燂紝鎻掍歡鍙敤銆傛鏃訛紝Eclpise涓墍鏈塸roperties鏂囦歡鐨勬枃浠跺悕鍓嶆湁緇胯壊鐨凱鐨勫浘鏍囦綔涓烘爣璇嗐? <img src ="http://www.tkk7.com/qin/aggbug/230806.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/qin/" target="_blank">qin</a> 2008-09-24 09:19 <a href="http://www.tkk7.com/qin/archive/2008/09/24/230806.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍚姩tomcat鍑虹幇:璀﹀憡: Settings: Could not parse struts.locale setting, substituting default VM localehttp://www.tkk7.com/qin/archive/2008/09/23/230552.htmlqinqinTue, 23 Sep 2008 01:01:00 GMThttp://www.tkk7.com/qin/archive/2008/09/23/230552.htmlhttp://www.tkk7.com/qin/comments/230552.htmlhttp://www.tkk7.com/qin/archive/2008/09/23/230552.html#Feedback0http://www.tkk7.com/qin/comments/commentRss/230552.htmlhttp://www.tkk7.com/qin/services/trackbacks/230552.html鍦╯truts2欏圭洰涓紝鎴戝惎鍔ㄦ湇鍔″櫒tomcat錛屾繪槸鍑虹幇
璀﹀憡: Settings: Could not parse struts.locale setting, substituting default VM locale
鏈夋椂鍊欏氨鍥犱負榪欐牱鏈嶅姟鍣ㄩ兘鍚姩涓嶄簡錛岀儲寰楀緢錛屼笉鐭ラ亾浣犱滑閬囧埌榪囨闂娌℃湁錛屾槸浠涔堝師鍥犲嚭鐜版綾婚棶棰樺憖錛屾湁浠涔堣В鍐蟲柟娉曞悧錛?/span>



qin 2008-09-23 09:01 鍙戣〃璇勮
]]>
commons-fileupload緇勪歡涓婁紶鏂囦歡鍙婄浉鍏抽棶棰?/title><link>http://www.tkk7.com/qin/archive/2008/09/15/229015.html</link><dc:creator>qin</dc:creator><author>qin</author><pubDate>Mon, 15 Sep 2008 10:15:00 GMT</pubDate><guid>http://www.tkk7.com/qin/archive/2008/09/15/229015.html</guid><wfw:comment>http://www.tkk7.com/qin/comments/229015.html</wfw:comment><comments>http://www.tkk7.com/qin/archive/2008/09/15/229015.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/qin/comments/commentRss/229015.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/qin/services/trackbacks/229015.html</trackback:ping><description><![CDATA[<p>浠婂ぉ鎴戠敤commons-fileupload緇勪歡涓婁紶鏂囦歡錛屼唬鐮佹槸姝g‘鐨勶紝鑰屼笖鎴戞妸commons-fileupload-1.2.1.jar,commons-io-1.4.jar涔熷鍏ュ埌欏圭洰鐩」涓紝浣嗘繪槸鍑虹幇榪欐牱閭f牱鐨勯敊璇紝璁╂垜鑺變簡涓嶅皯鐨勬椂闂?鎵浠ユ垜鎶婄浉鍏沖彂鍑烘潵,瀵規湁姝ょ被鐨勯棶棰樼殑鏈嬪弸鏈夋墍甯姪<br /> 濡?<br /> <span style="color: #ff0000">java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location] <br /> </span>……………………<br /> 鍦ㄧ綉涓婃煡浜嗗緢澶氳祫鏂欙紝鍚庢潵鎬葷粨浜嗕竴涓嬶紝濡傛灉浣犳槸鍦╯truts2欏圭洰涓敤commons-fileupload緇勪歡鐨勮瘽錛岄偅灝卞簲</p> <p>璇ユ妸淇敼web.xml錛屾妸鍘熸潵鐨?br /> <filter-mapping><br />   <filter-name>struts</filter-name><br />   <url-pattern>/*</url-pattern><br />  </filter-mapping><br /> 鏀逛負<br /> <filter-mapping><br />   <filter-name>struts</filter-name><br />   <url-pattern>*.action</url-pattern><br />  </filter-mapping><br /> 鑰屼笂浼犻〉闈㈣皟鐢ㄦ椂鐩存帴鐢ㄦ枃浠跺悕璋冪敤錛堝upload.jsp錛夈俿truts2鍙鐞?*.action 鐨勮姹傘?br /> 鎴栬?br /> <filter> <br /> <filter-name>struts2</filter-name> <br /> <filter-class> <br /> org.apache.struts2.dispatcher.FilterDispatcher <br /> </filter-class> <br /> </filter> </p> <p><filter-mapping> <br /> <filter-name>struts2</filter-name> <br /> <url-pattern>/*</url-pattern> <br /> </filter-mapping> <br /> 鍘繪帀涔熻</p> <p>鑻ユ槸<span style="color: #ff0000">java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadException</span>閿欒<br /> 閭e氨鏈夊彲鑳芥槸瀵煎寘鐨勯棶棰橈紝鑻ョ敤鐨勬槸鍙沖嚮欏圭洰錛岄夋嫨灞炴э紝鐒跺悗瀵煎叆鐩稿簲鐨勫寘錛屽氨鏈夊彲鑳藉嚭鏄炬綾葷殑閿欒錛岃В鍐蟲柟娉曟槸錛氭妸commons-fileupload-1.2.1.jar,commons-io-1.4.jar澶嶅埗鍒板埌WEB-INF涓嬬殑lib鐩綍涓紝铏界劧鏁堟灉鏄竴鏍鳳紝浣嗕笉浼氬嚭閿欎簡<br /> <br /> 闄?<br /> upload.jsp</p> <p><%@ page language="java" import="java.util.*" pageEncoding="GB2312"%></p> <p><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br /> <html><br />   <head><br />     <title>My JSP 'upload.jsp' starting page</title><br /> </head>  <br />   <body><br />   <form action="upload" method="post" enctype="multipart/form-data"> <br />    鐢ㄦ埛鍚嶏細<input type="text" name="username"><br><br />    瀵嗙爜錛?lt;input type="password" name="password"><br><br />    鏂囦歡1:<input type="file" name="file1"><br><br />     鏂囦歡2:<input type="file" name="file2"><br> <br />    <input type="submit" value="鎻愪氦"><br><br />   </form><br />   </body><br /> </html><br /> UploadServlet.java</p> <p>package com.test.servlet1;</p> <p>import java.io.File;<br /> import java.io.FileOutputStream;<br /> import java.io.IOException;<br /> import java.io.InputStream;<br /> import java.io.OutputStream;<br /> import java.util.List;</p> <p>import javax.servlet.ServletException;<br /> import javax.servlet.http.HttpServlet;<br /> import javax.servlet.http.HttpServletRequest;<br /> import javax.servlet.http.HttpServletResponse;</p> <p>import org.apache.commons.fileupload.FileItem;<br /> import org.apache.commons.fileupload.FileUploadException;<br /> import org.apache.commons.fileupload.disk.DiskFileItemFactory;<br /> import org.apache.commons.fileupload.servlet.ServletFileUpload;</p> <p>public class UploadServlet extends HttpServlet {</p> <p> public void doPost(HttpServletRequest request, HttpServletResponse response)<br />    throws ServletException, IOException {<br />   DiskFileItemFactory factory = new DiskFileItemFactory();<br />   String path = request.getRealPath("/upload");<br />   // 璁劇疆浼犺疆杈撴枃浠剁殑澶у皬錛屽綋灝忎簬1024鏃訛紝鎶婃枃浠跺瓨鍦ㄥ吂鐩樹笂<br />   factory.setRepository(new File(path));<br />   factory.setSizeThreshold(1024 * 1024);<br />   ServletFileUpload upload = new ServletFileUpload(factory);<br />   try {<br />    List<FileItem> list = upload.parseRequest(request);<br />    for(FileItem item : list){<br />     if(item.isFormField()){<br />      String name = item.getFieldName();<br />      String value  = item.getString("GB2312");<br />      request.setAttribute(name, value);<br />     }else{<br />      String name = item.getFieldName();<br />      String value = item.getName();<br />      int start = value.lastIndexOf("\\");<br />      String fileName = value.substring(start+1);<br />      request.setAttribute(name, fileName);<br />      //item.write(new File(path,fileName));    <br />      OutputStream os = new FileOutputStream(new File(path,fileName));<br />      InputStream is = item.getInputStream();<br />      // 灝嗘枃浠秈s鍐欏埌os閲?br />      byte[] buffer = new byte[400]; <br />      int lenght = 0 ;<br />      while((lenght = is.read(buffer ))>0){<br />       os.write(buffer,0,lenght);<br />      }<br />      os.close();<br />      is.close();<br />     }<br />    }<br />   } catch (FileUploadException e) {<br />    // TODO Auto-generated catch block<br />    System.out.println("鏂囦歡涓婁紶鍑洪敊"+e.getMessage());<br />    e.printStackTrace();<br />   }<br />   request.getRequestDispatcher("upload/result.jsp").forward(request, response);<br />  }<br /> }<br /> result.jsp</p> <p><%@ page language="java" import="java.util.*" pageEncoding="GB2312"%></p> <p><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br /> <html><br />   <head>    <br />     <title>My JSP 'result.jsp' starting page</title><br />   </head>  <br />   <body><br />  鐢ㄦ埛鍚?${requestScope.username }<br />  瀵嗙爜:${requestScope.password }<br />  鏂囦歡1:${requestScope.file1 }<br />  鏂囦歡2:${requestScope.file2 }<br />   </body><br /> </html><br /> </p> <p><br />  </p> <p>    </p> <p><br /> </p> <img src ="http://www.tkk7.com/qin/aggbug/229015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/qin/" target="_blank">qin</a> 2008-09-15 18:15 <a href="http://www.tkk7.com/qin/archive/2008/09/15/229015.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Exception in thread "main" org.hibernate.PropertyNotFoundException閿欒http://www.tkk7.com/qin/archive/2008/08/27/225072.htmlqinqinWed, 27 Aug 2008 08:15:00 GMThttp://www.tkk7.com/qin/archive/2008/08/27/225072.htmlhttp://www.tkk7.com/qin/comments/225072.htmlhttp://www.tkk7.com/qin/archive/2008/08/27/225072.html#Feedback6http://www.tkk7.com/qin/comments/commentRss/225072.htmlhttp://www.tkk7.com/qin/services/trackbacks/225072.html Exception in thread "main" org.hibernate.PropertyNotFoundException: Could not find a getter for tPassport in class org.qin.onetoone.TUser
 at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:282)
 at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:275)
 at org.hibernate.mapping.Property.getGetter(Property.java:260)
 at org.hibernate.tuple.PojoEntityTuplizer.buildPropertyGetter(PojoEntityTuplizer.java:255)
 at org.hibernate.tuple.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:121)
 at org.hibernate.tuple.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
 at org.hibernate.tuple.TuplizerLookup.create(TuplizerLookup.java:64)
 at org.hibernate.tuple.EntityMetamodel.<init>(EntityMetamodel.java:257)
 at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:412)
 at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:108)
 at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
 at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:216)
 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
 at org.qin.uniqueFKonetoone.TUserOprate.<init>(TUserOprate.java:12)
 at org.qin.uniqueFKonetoone.TUserTest.main(TUserTest.java:12)

qin 2008-08-27 16:15 鍙戣〃璇勮
]]>
鍊煎緱鍦?008瀛︿範浜旂鐨凧AVA鎶鏈?/title><link>http://www.tkk7.com/qin/archive/2008/08/21/223382.html</link><dc:creator>qin</dc:creator><author>qin</author><pubDate>Thu, 21 Aug 2008 01:29:00 GMT</pubDate><guid>http://www.tkk7.com/qin/archive/2008/08/21/223382.html</guid><wfw:comment>http://www.tkk7.com/qin/comments/223382.html</wfw:comment><comments>http://www.tkk7.com/qin/archive/2008/08/21/223382.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/qin/comments/commentRss/223382.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/qin/services/trackbacks/223382.html</trackback:ping><description><![CDATA[Carlos Perez(钁楀悕鐨凧ava鎶鏈漢鍛?鏈榪戝彂琛ㄤ簡浠栬涓哄煎緱鍦?008瀛︿範浜旂鐨凧AVA鎶鏈紝瀹冧滑鏄細OSGi錛孞ava鍐呭浠撳簱錛孏WT錛孏roovy鍜屼簯闆捐綆椼? <p>銆銆Carlos Perez(钁楀悕鐨凧ava鎶鏈漢鍛?鏈榪戝彂琛ㄤ簡浠栬涓哄煎緱鍦?008瀛︿範浜旂鐨凧AVA鎶鏈紝瀹冧滑鏄細</p> <p>銆銆OSGi(鍩轟簬Java鐨勫姩鎬佹ā鍨嬭鑼?</p> <p>銆銆娉細OSGi(Open Service Gateway Initiative)鎸嘜SGi Alliance緇勭粐鍒跺畾鐨勪竴涓熀浜嶫ava璇█鐨勬湇鍔?涓氬姟)瑙勮寖鈥斺擮SGi鏈嶅姟騫沖彴(Service Platform)銆?璇ヨ鑼冨拰鏍稿績閮ㄥ垎鏄竴涓鏋?錛屽叾涓畾涔変簡搴旂敤紼嬪簭鐨勭敓鍛藉懆鏈熸ā寮忓拰鏈嶅姟娉ㄥ唽銆傝繖涓鏋跺疄鐜頒簡涓涓紭闆呫佸畬鏁村拰鍔ㄦ佺殑緇勪歡妯″瀷銆傚簲鐢ㄧ▼搴?縐頒負bundle)鏃犻渶閲嶆柊寮曞鍙互琚繙紼嬪畨瑁呫佸惎鍔ㄣ佸崌綰у拰鍗歌澆(鍏朵腑Java鍖?綾葷殑綆$悊琚緇嗗畾涔?銆侫PI涓繕瀹氫箟浜嗚繍琛岃繙紼嬩笅杞界鐞嗘斂絳栫殑鐢熷懡鍛ㄦ湡綆$悊銆傛湇鍔℃敞鍐屽厑璁竍undles鍘繪嫻嬫柊鏈嶅姟鍜屽彇娑堢殑鏈嶅姟錛岀劧鍚庣浉搴旈厤鍚堛?/p> <p>銆銆Java鍐呭浠撳簱錛屾渶鏃╀簬2002騫?鏈堢敱JCP鍙戝竷</p> <p>銆銆娉細JCP(Java Community Process) 鏄竴涓紑鏀劇殑鍥介檯緇勭粐錛屼富瑕佺敱Java寮鍙戣呬互鍙婅鎺堟潈鑰呯粍鎴愶紝鑱岃兘鏄彂灞曞拰鏇存柊Java鎶鏈鑼冦佸弬鑰冨疄鐜?RI)銆佹妧鏈吋瀹瑰寘(TCK)銆侸CP緇存姢鐨勮鑼冨寘鎷琂2ME銆丣2SE銆丣2EE錛孹ML錛孫SS錛孞AIN絳夈傜粍緇囨垚鍛樺彲浠ユ彁浜CR(Java SpECification RequESts)錛岄氳繃鐗瑰畾紼嬪簭浠ュ悗錛岃繘鍏ュ埌涓嬩竴鐗堟湰鐨勮鑼冮噷闈€?/p> <p>銆銆Google Web Toolkit(鏈鏃╁彂甯冧簬2006騫?鏈?</p> <p>銆銆娉細GWT(Google Web Toolkit) 鏄?Google 鎺ㄥ嚭鐨勪竴涓紑鍙?Ajax 搴旂敤鐨勬鏋訛紝瀹冩敮鎸佺敤 Java 寮鍙戝拰璋冭瘯 Ajax 搴旂敤銆?/p> <p>銆銆Groovy(鏈鏃╁彂甯冧簬2004騫?鏈?</p> <p>銆銆娉細Groovy鏄竴縐嶉潰鍚戝璞$殑紼嬪簭璁捐璇█錛屼綔涓篔ava紼嬪簭璁捐璇█鐨勪竴縐嶅彲閫夋浛浠e搧錛屽茍澧炲姞浜哖ython錛孯uby鍜孲malltalk涓殑涓浜涚壒鎬с?/p> <p>銆銆浜戦浘璁$畻(鐢ㄤ簬铏氭嫙鏈嶅姟鍣ㄧ殑璁捐鐞嗗康錛屾垨鏃犻渶EJB鐨勫垎甯冨紡璁$畻)</p> <p>銆銆娉細“浜戦浘璁$畻”鐨勮嫳鏂囧嵆Cloud Computing銆傝嚜璋鋒瓕鍙戝睍璧鋒潵涔嬪悗錛屾瀬澶ц妯$殑鏈嶅姟鍣ㄩ泦涓湪涓璧鳳紝緇熶竴綆$悊錛屽艦鎴愪簡“浜戦浘璁$畻”(“Cloud Computing”)鐨勭墿璐ㄥ熀紜銆?#8220;浜戦浘璁$畻”鏄ぞ浼氳綆楄兘鍔涚殑澶ч泦涓紝涔熸槸鎵璋?#8220;SaaS”鐨勫瑙傚熀紜銆?/p> <p>銆銆鏈夎叮鐨勬槸錛屽叾涓湁鍑犵鎶鏈凡緇忔垚鐔燂紝鎴栬呰鏄?#8220;鑰?#8221;浜嗭紝騫朵笖姝e湪鍏惰鎺ㄨ崘搴旂敤鐨勯」鐩腑鏈夋垚鐔熺殑搴旂敤銆傚綋鐒訛紝榪欎簲縐嶆妧鏈兘寰堟湁浠峰箋侽SGi鏄疎clipse鐨勫緩妯$郴緇燂紝Goovry鍥犲叾姝e紡鐨勮鑼冭鏄庡拰棰戠箒鐨勬敼榪涚増鍙戝竷璧㈠緱鏀寔銆侴WT涔熺畻鏄垚鐔熺ǔ瀹氾紝浜戦浘璁$畻姝e湪鍙楀埌鏇翠負騫挎硾甯傚満鐨勬帴鍙椼?/p> <p>銆銆JRC鍜屼簯闆捐綆楁槸鏈榪戞墠琚箍娉涙帴鍙楃殑鎶鏈紝浣嗘槸鍘傚晢姝e湪鍒╃敤绔炰簤鍜屽晢涓氬叧緋葷寧鍙栨敮鎸佹潵鍙戝竷鐩稿叧鐨勪駭鍝?姣斿GridGain錛孏igaspaces錛屽拰Terracotta)錛岃屾湁鐨勫巶鍟嗚繕姝e湪瀵規榪涜絳栧垝(TSS璁″垝鍦═SSJS2008鍙戝竷JCR鐩稿叧鐨勫0鏄?銆?/p> <p>銆銆榪欐槸涓浠藉緢鏈夎叮鐨勫垪琛ㄣ備綘璁や負搴旇鍦?008瀛︿範鍝嚑縐岼ava鎶鏈憿?鍝簺鎶鏈幇鍦ㄦ鍦ㄥ睍闇插ご瑙掑茍鎴愪負浣犱互鍚庡涔犵殑鏂瑰悜鍛?(http://developer.e800.com.cn/articles/2008/87/1218074549696_1.html)</p> <img src ="http://www.tkk7.com/qin/aggbug/223382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/qin/" target="_blank">qin</a> 2008-08-21 09:29 <a href="http://www.tkk7.com/qin/archive/2008/08/21/223382.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>myeclipse 6.0 涓鎵撳紑灝辮嚜鍔ㄥ叧闂???http://www.tkk7.com/qin/archive/2008/08/11/221201.htmlqinqinMon, 11 Aug 2008 01:08:00 GMThttp://www.tkk7.com/qin/archive/2008/08/11/221201.htmlhttp://www.tkk7.com/qin/comments/221201.htmlhttp://www.tkk7.com/qin/archive/2008/08/11/221201.html#Feedback2http://www.tkk7.com/qin/comments/commentRss/221201.htmlhttp://www.tkk7.com/qin/services/trackbacks/221201.html  

 

 



qin 2008-08-11 09:08 鍙戣〃璇勮
]]>
J2EEhttp://www.tkk7.com/qin/archive/2008/07/28/218175.htmlqinqinMon, 28 Jul 2008 13:33:00 GMThttp://www.tkk7.com/qin/archive/2008/07/28/218175.htmlhttp://www.tkk7.com/qin/comments/218175.htmlhttp://www.tkk7.com/qin/archive/2008/07/28/218175.html#Feedback0http://www.tkk7.com/qin/comments/commentRss/218175.htmlhttp://www.tkk7.com/qin/services/trackbacks/218175.htmlJ2EE鐩稿叧鐭ヨ瘑錛岄棶棰樼瓟鐤?/p>

qin 2008-07-28 21:33 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 国产亚洲一区二区手机在线观看| 中文亚洲AV片不卡在线观看| 亚洲码在线中文在线观看| 成年女人18级毛片毛片免费 | a级毛片免费全部播放无码| 亚洲国产综合第一精品小说| 久久久久久亚洲精品不卡| 国产精品成人免费一区二区| 久久久久久影院久久久久免费精品国产小说| 亚洲乱人伦中文字幕无码| 亚洲黄色网站视频| 国产午夜亚洲精品午夜鲁丝片| 国产高清免费的视频| av无码免费一区二区三区| 久久免费精彩视频| 一区二区三区免费视频网站| 亚洲精品美女久久7777777| 亚洲人成人77777网站不卡| 久久精品国产精品亚洲蜜月| 亚洲色偷偷偷鲁综合| 亚洲区小说区图片区| 国产大片91精品免费观看男同| 一区二区无码免费视频网站| 最近2019年免费中文字幕高清| 免费人成在线观看网站| 中文在线观看永久免费| v片免费在线观看| 国产AV日韩A∨亚洲AV电影| 亚洲av无码成人影院一区| 亚洲日韩一区二区三区| 亚洲日本久久久午夜精品| 亚洲国产av一区二区三区丶| 久久狠狠高潮亚洲精品| 亚洲一区二区三区日本久久九| 亚洲va在线va天堂va四虎| 久久精品亚洲一区二区| 亚洲一区二区三区偷拍女厕| 亚洲中文字幕无码爆乳AV| 亚洲自偷自偷在线制服| 亚洲乱码国产乱码精品精| 久久亚洲国产精品一区二区|