??xml version="1.0" encoding="utf-8" standalone="yes"?>97se在线视频,久久这里只有精品一区二区,精品999视频http://www.aygfsteel.com/qin/category/33415.htmlArt is longzh-cnTue, 21 Oct 2008 12:10:48 GMTTue, 21 Oct 2008 12:10:48 GMT60(ssh)一个简单的hibernate与spring集成http://www.aygfsteel.com/qin/archive/2008/10/21/235674.htmlqinqinTue, 21 Oct 2008 06:41:00 GMThttp://www.aygfsteel.com/qin/archive/2008/10/21/235674.htmlhttp://www.aygfsteel.com/qin/comments/235674.htmlhttp://www.aygfsteel.com/qin/archive/2008/10/21/235674.html#Feedback4http://www.aygfsteel.com/qin/comments/commentRss/235674.htmlhttp://www.aygfsteel.com/qin/services/trackbacks/235674.html下面介绍一下hibernate与spring的集?q两个框架的集成关键在于applicationContext.xml文g的配|,其实很简单的Q但需要注意的是,导入包时一定选择导入到webroot/web-inf/lib目录中,而且hibernate一般要在spring之前导入Q因为集成时要用到sessionFactoryc?
一、初始化工作:新徏一个项??ssh),在此目中导入对hibernate的支?新徏一个表sstest表,有字Did,username,password,idZ健和自动?
二、对新徏的数据表q行hibernateq行映射,打开myhibernate视图Q右Msstest?>选hibernate revers engineering选项Q然后把Sstest.hbm.xml文g映射到hibernateDao包中Q同旉中工具 hibernate mapping file...,  java data object.....,  java data access object dao...选项Q先中这几个文g可以生下列几?java文g:BaseHibernateDAO. ,HibernateSessionFactory ,IBaseHibernateDAO, Sstest,SstestDAO,最后你对你的代码进行测试,试成功Q进行下一?br /> 三、在目中导入对spring的支持,在导入项目后不但要自动生applicationContext.xml,而且在这个文仉会出C面的内容Q?br /> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="configLocation" value="classpath:hibernate.cfg.xml">   
  </property>
 </bean>
q就是ؓ什么要先要导入hibernate的原?br /> 四、若你对spring的ioc比较熟,你可以直接进入下一步,如果不是很了解,那么你可以写一个比较简单的例子试一下看是否成功Q必竟框架和在一P所以小心点好,不然在以后出了有问题不好?br /> 五、进入myeclipse hibernate视图下,在新的包Q如springDaoQ中重新对sstest表进行映,q次映射要注意的是Q打开hibernate reverse engineering对话框中复选按钮java data access object(dao)(hibernate 3 only)下,dao type 不是选basic dao选项Q而是选spring dao选项Q当你映成功后Q就会出现Sstest.java, SstestDAO.java, Sstest.hbm.xml几个文gQ你可以写一个类q行试Q如Q?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);   
 } 
}
六、由于映了两次Q所以你要在hibernate.cfg.xml文g中,把原来映的文g注解掉:
<mapping resource="hibernateDao/Sstest.hbm.xml" />
因ؓ现在已有一行这L代码Q?br /> <mapping resource="springDao/Sstest.hbm.xml" />
七、实现hibernate spring 代理Q加上下面的代码卛_Q?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>
在进行测试,试Ӟq是用原来的c,只需把SstestDAO  s = (SstestDAO) cont.getBean("SstestDAO");变成
SstestDAO  s = (SstestDAO) cont.getBean("SstestDAOProxy");q次的bean是用的代码类实现
下面是完整的代码Q?br /> 在这个实例中hibernate包中的文件BaseHibernateDAO. ,HibernateSessionFactory ,IBaseHibernateDAO, Sstest,SstestDAO, Sstest.hbm.xml Q和?a class="singleposttitle" id="viewpost1_TitleUrl" href="http://www.aygfsteel.com/qin/archive/2008/10/19/235318.html">一个简单的strutsQhibernate例子以及struts,hibernate集成中的文g是一LQ代码一P下面是一些其它代码:
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 事务代理 -->
 <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> 
试c: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");
  //代理c?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.aygfsteel.com/qin/archive/2008/10/20/235465.htmlqinqinMon, 20 Oct 2008 06:49:00 GMThttp://www.aygfsteel.com/qin/archive/2008/10/20/235465.htmlhttp://www.aygfsteel.com/qin/comments/235465.htmlhttp://www.aygfsteel.com/qin/archive/2008/10/20/235465.html#Feedback0http://www.aygfsteel.com/qin/comments/commentRss/235465.htmlhttp://www.aygfsteel.com/qin/services/trackbacks/235465.html 当你把spring包和hibernate相应包打q项目里Q然后在打包的文仉把把
asm.jar,asm-attrs.jar,cglib-2.1.3.jar三个文g从项目里导出Qƈ删掉OK?br />
错误的祥l信息如下:
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)一个简单的strutsQhibernate例子以及struts,hibernate集成http://www.aygfsteel.com/qin/archive/2008/10/19/235318.htmlqinqinSun, 19 Oct 2008 09:56:00 GMThttp://www.aygfsteel.com/qin/archive/2008/10/19/235318.htmlhttp://www.aygfsteel.com/qin/comments/235318.htmlhttp://www.aygfsteel.com/qin/archive/2008/10/19/235318.html#Feedback2http://www.aygfsteel.com/qin/comments/commentRss/235318.htmlhttp://www.aygfsteel.com/qin/services/trackbacks/235318.html最q在学几个常用框架的集成Q下面是一个关于struts+hibernate的集成的例子Q大安知道QQ何一个复杂的东西Q都是从单开始的Q所以我先说一个struts+hibernate集成Q然后再q一步了解,希望对这斚w爱好的能有所帮助
一、新Z个项目(如sshQ?br /> 二、加入该目对struts的支持,是相关struts包,Q右M新徏的项目->MyEclipseQ选add struts.........Q?br /> 三、添加了对struts支持后,然后在struts-config.xml文g里右击,新徏Q?gt;form action and jsp选项Q那样就可以把这三个文g新徏?register1.jsp,Register1Action.java,Register1Form.javaQ你可以把这三个文g发布到tomcatq行试Q,试成功可以执行下一?br /> 四、新Z个表sstest表,有字Did,username,password,idZ健和自动?
五,同样的方法添加对hibernate支持
六、对新徏的数据表q行hibernateq行映射,打开myhibernate视图Q右Msstest?>选hibernate revers engineering选项Q然后把Sstest.hbm.xml文g映射到hibernateDao包中Q同旉中工具 hibernate mapping file...,  java data object.....,  java data access object dao...选项Q先中这几个文g可以生下列几?java文g:BaseHibernateDAO. ,HibernateSessionFactory ,IBaseHibernateDAO, Sstest,SstestDAO,最后你对你的代码进行测试,试成功Q进行下一?br /> 七、好了,关于struts和hibernate代码基本上差不好了,下面来看一直代码,代码色的是集成的地?主要是看Register1Action代码,其它的代码都是自动生成的
相关代码如下Q?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();

  //h转发到success
  return mapping.findForward("success");
 }
 //数据daoQgetQsetҎ
 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;
 }
}
如果你觉得你的代码自动生成有问题的话Q你可以参考下列代?/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 与spring 相结合做出的登陆实例Q运行时怎么找不到文件呀Q请教~~~~(已解?http://www.aygfsteel.com/qin/archive/2008/09/24/230929.htmlqinqinWed, 24 Sep 2008 08:45:00 GMThttp://www.aygfsteel.com/qin/archive/2008/09/24/230929.htmlhttp://www.aygfsteel.com/qin/comments/230929.htmlhttp://www.aygfsteel.com/qin/archive/2008/09/24/230929.html#Feedback6http://www.aygfsteel.com/qin/comments/commentRss/230929.htmlhttp://www.aygfsteel.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


同时控制栏出C列错误信息:
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) {
  //判断用户所以输入的数据是否为gao,qinQ如果是则登陆成?否则p|
  // 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"/>
    密码Q?{requestScope.password }
  </body>
</html>



qin 2008-09-24 16:45 发表评论
]]>
(struts2)struts2国际化资源文件不再用native2ascii的方?/title><link>http://www.aygfsteel.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.aygfsteel.com/qin/archive/2008/09/24/230806.html</guid><wfw:comment>http://www.aygfsteel.com/qin/comments/230806.html</wfw:comment><comments>http://www.aygfsteel.com/qin/archive/2008/09/24/230806.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/qin/comments/commentRss/230806.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/qin/services/trackbacks/230806.html</trackback:ping><description><![CDATA[struts2国际化资源文件不再用native2ascii的方?而是用eclipse中的一个插?安装些插仉过Eclipse中的软g升QSoftware UpdateQ就OK了,下面我们来看一下安装步骤吧Q?br /> 1、展开Eclipse的Help菜单Q将鼠标UdSoftware Update子项Q在出现的子菜单中点击Find and InstallQ?br /> 2、在Install/Update对话框中选择Search for new features to installQ点击NextQ?br /> 3、在Install对话框中点击New Remote SiteQ?br /> 4、在New Update Site对话框的Name填入“PropEdit”或其它Q意非I字W串Q在URL中填入http://propedit.sourceforge.jp/eclipse/updates/Q?br /> 5、在Site to include to search列表中,除上一步加入的site外的其它选项LQ点击FinsihQ?br /> 6、在弹出的Updates对话框中的Select the features to install列表中将所有结ؓ“3.1.x”的选项LQ适用于Eclipse 3.2版本的朋友)Q?br /> 7、点击Finish关闭对话框;<br /> 8、在下蝲后,同意安装Q再按提C重启EclipseQ在工具条看到Ş似vi的按钮表C安装成功,插g可用。此ӞEclpise中所有properties文g的文件名前有l色的P的图标作为标识? <img src ="http://www.aygfsteel.com/qin/aggbug/230806.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/qin/" target="_blank">qin</a> 2008-09-24 09:19 <a href="http://www.aygfsteel.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.aygfsteel.com/qin/archive/2008/09/23/230552.htmlqinqinTue, 23 Sep 2008 01:01:00 GMThttp://www.aygfsteel.com/qin/archive/2008/09/23/230552.htmlhttp://www.aygfsteel.com/qin/comments/230552.htmlhttp://www.aygfsteel.com/qin/archive/2008/09/23/230552.html#Feedback0http://www.aygfsteel.com/qin/comments/commentRss/230552.htmlhttp://www.aygfsteel.com/qin/services/trackbacks/230552.html在struts2目中,我启动服务器tomcatQL出现
警告: Settings: Could not parse struts.locale setting, substituting default VM locale
有时候就因ؓq样服务器都启动不了Q烦得很Q不知道你们遇到q此问题没有Q是什么原因出现此c问题呀Q有什么解x法吗Q?/span>



qin 2008-09-23 09:01 发表评论
]]>
commons-fileuploadlg上传文g及相关问?/title><link>http://www.aygfsteel.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.aygfsteel.com/qin/archive/2008/09/15/229015.html</guid><wfw:comment>http://www.aygfsteel.com/qin/comments/229015.html</wfw:comment><comments>http://www.aygfsteel.com/qin/archive/2008/09/15/229015.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/qin/comments/commentRss/229015.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/qin/services/trackbacks/229015.html</trackback:ping><description><![CDATA[<p>今天我用commons-fileuploadlg上传文gQ代码是正确的,而且我把commons-fileupload-1.2.1.jar,commons-io-1.4.jar也导入到目目项中,但L出现q样那样的错误,让我׃不少的时?所以我把相兛_出来,Ҏ此类的问题的朋友有所帮助<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 /> 在网上查了很多资料,后来ȝ了一下,如果你是在struts2目中用commons-fileuploadlg的话Q那应</p> <p>该把修改web.xmlQ把原来?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 /> 而上传页面调用时直接用文件名调用Q如upload.jspQ。struts2只处?*.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 /> L也行</p> <p>若是<span style="color: #ff0000">java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadException</span>错误<br /> 那就有可能是导包的问题,若用的是叛_目Q选择属性,然后导入相应的包Q就有可能出显此cȝ错误Q解x法是Q把commons-fileupload-1.2.1.jar,commons-io-1.4.jar复制到到WEB-INF下的lib目录中,虽然效果是一P但不会出错了<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 />    密码Q?lt;input type="password" name="password"><br><br />    文g1:<input type="file" name="file1"><br><br />     文g2:<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 />   // 讄传轮输文件的大小Q当于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 />      // 文件is写到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("文g上传出错"+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 />  文g1:${requestScope.file1 }<br />  文g2:${requestScope.file2 }<br />   </body><br /> </html><br /> </p> <p><br />  </p> <p>    </p> <p><br /> </p> <img src ="http://www.aygfsteel.com/qin/aggbug/229015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/qin/" target="_blank">qin</a> 2008-09-15 18:15 <a href="http://www.aygfsteel.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.aygfsteel.com/qin/archive/2008/08/27/225072.htmlqinqinWed, 27 Aug 2008 08:15:00 GMThttp://www.aygfsteel.com/qin/archive/2008/08/27/225072.htmlhttp://www.aygfsteel.com/qin/comments/225072.htmlhttp://www.aygfsteel.com/qin/archive/2008/08/27/225072.html#Feedback6http://www.aygfsteel.com/qin/comments/commentRss/225072.htmlhttp://www.aygfsteel.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学习五种的JAVA技?/title><link>http://www.aygfsteel.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.aygfsteel.com/qin/archive/2008/08/21/223382.html</guid><wfw:comment>http://www.aygfsteel.com/qin/comments/223382.html</wfw:comment><comments>http://www.aygfsteel.com/qin/archive/2008/08/21/223382.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/qin/comments/commentRss/223382.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/qin/services/trackbacks/223382.html</trackback:ping><description><![CDATA[Carlos Perez(著名的Java技术h?最q发表了他认为值得?008学习五种的JAVA技术,它们是:OSGiQJava内容仓库QGWTQGroovy和云雾计? <p>  Carlos Perez(著名的Java技术h?最q发表了他认为值得?008学习五种的JAVA技术,它们是:</p> <p>  OSGi(ZJava的动态模型规?</p> <p>  注:OSGi(Open Service Gateway Initiative)指OSGi Alliancel织制定的一个基于Java语言的服?业务)规范——OSGi服务q_(Service Platform)?该规范和核心部分是一个框?Q其中定义了应用E序的生命周期模式和服务注册。这个框架实C一个优雅、完整和动态的lg模型。应用程?UCؓbundle)无需重新引导可以被远E安装、启动、升U和卸蝲(其中Java?cȝ理被详l定?。API中还定义了运行远E下载管理政{的生命周期理。服务注册允许bundlesL新服务和取消的服务Q然后相应配合?/p> <p>  Java内容仓库Q最早于2002q?月由JCP发布</p> <p>  注:JCP(Java Community Process) 是一个开攄国际l织Q主要由Java开发者以及被授权者组成,职能是发展和更新Java技术规范、参考实?RI)、技术兼容包(TCK)。JCPl护的规范包括J2ME、J2SE、J2EEQXMLQOSSQJAIN{。组l成员可以提交JCR(Java SpECification RequESts)Q通过特定E序以后Q进入到下一版本的规范里面?/p> <p>  Google Web Toolkit(最早发布于2006q??</p> <p>  注:GWT(Google Web Toolkit) ?Google 推出的一个开?Ajax 应用的框Ӟ它支持用 Java 开发和调试 Ajax 应用?/p> <p>  Groovy(最早发布于2004q??</p> <p>  注:Groovy是一U面向对象的E序设计语言Q作为JavaE序设计语言的一U可选替代品Qƈ增加了PythonQRuby和Smalltalk中的一些特性?/p> <p>  云雾计算(用于虚拟服务器的设计理念Q或无需EJB的分布式计算)</p> <p>  注:“云雾计算”的英文即Cloud Computing。自h发展h之后Q极大规模的服务器集中在一Pl一理QŞ成了“云雾计算”(“Cloud Computing”)的物质基?#8220;云雾计算”是社会计能力的大集中,也是所?#8220;SaaS”的客观基?/p> <p>  有趣的是Q其中有几种技术已l成熟,或者说?#8220;?#8221;了,q且正在其被推荐应用的项目中有成熟的应用。当Ӟq五U技术都很有价倹{OSGi是Eclipse的徏模系l,Goovry因其正式的规范说明和频繁的改q版发布赢得支持。GWT也算是成熟稳定,云雾计算正在受到更ؓq泛市场的接受?/p> <p>  JRC和云雾计是最q才被广泛接受的技术,但是厂商正在利用竞争和商业关pȝ取支持来发布相关的?比如GridGainQGigaspacesQ和Terracotta)Q而有的厂商还正在Ҏq行{划(TSS计划在TSSJS2008发布JCR相关的声??/p> <p>  q是一份很有趣的列表。你认ؓ应该?008学习哪几UJava技术呢?哪些技术现在正在展露头角ƈ成ؓ你以后学习的方向?(http://developer.e800.com.cn/articles/2008/87/1218074549696_1.html)</p> <img src ="http://www.aygfsteel.com/qin/aggbug/223382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/qin/" target="_blank">qin</a> 2008-08-21 09:29 <a href="http://www.aygfsteel.com/qin/archive/2008/08/21/223382.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>myeclipse 6.0 一打开p动关???http://www.aygfsteel.com/qin/archive/2008/08/11/221201.htmlqinqinMon, 11 Aug 2008 01:08:00 GMThttp://www.aygfsteel.com/qin/archive/2008/08/11/221201.htmlhttp://www.aygfsteel.com/qin/comments/221201.htmlhttp://www.aygfsteel.com/qin/archive/2008/08/11/221201.html#Feedback2http://www.aygfsteel.com/qin/comments/commentRss/221201.htmlhttp://www.aygfsteel.com/qin/services/trackbacks/221201.html  

 

 



qin 2008-08-11 09:08 发表评论
]]>
J2EEhttp://www.aygfsteel.com/qin/archive/2008/07/28/218175.htmlqinqinMon, 28 Jul 2008 13:33:00 GMThttp://www.aygfsteel.com/qin/archive/2008/07/28/218175.htmlhttp://www.aygfsteel.com/qin/comments/218175.htmlhttp://www.aygfsteel.com/qin/archive/2008/07/28/218175.html#Feedback0http://www.aygfsteel.com/qin/comments/commentRss/218175.htmlhttp://www.aygfsteel.com/qin/services/trackbacks/218175.htmlJ2EE相关知识Q问题答?/p>

qin 2008-07-28 21:33 发表评论
]]>
վ֩ģ壺 | ī| ˰| ½| | | | ϴ| | ʯׯ| ̫| | Դ| | Զ| | | | ƾ| ɽ| ֦| | ƺ| | | | Ӣ| | Ĭ| ٳ| | | ľ| | | | | | ƽ| | |