论坛首页 Java企业应用论坛

采用struts + hibernate 碰到的问题

浏览 3640 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-11-01  
tomcat配置如下
<Context path="/struts_hibernate" reloadable="true" docBase="D:\eclipse2.1.3\workspace\struts_hibernate" workDir="D:\eclipse2.1.3\workspace\struts_hibernate\work" />


hibernate.cfg.xml:
<session-factory>
        <property name="connection.datasource">jdbc/struts_hibernate</property>
        <property name="show_sql">false</property>
        <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
        <mapping resource="com/zhangyp/po/Cat.hbm.xml"/>
    </session-factory>


struts-config.xml:
<data-sources>
        <data-source key="jdbc/struts_hibernate" type="org.apache.struts.util.GenericDataSource">
            <set-property property="password" value="root" />
            <set-property property="minCount" value="1" />
            <set-property property="maxCount" value="10" />
            <set-property property="user" value="root" />
            <set-property property="driverClass" value="org.gjt.mm.mysql.Driver" />
            <set-property property="description" value="mysql" />
            <set-property property="url" value="jdbc:mysql://localhost:3306/quickstart" />
            <set-property property="readOnly" value="false" />
            <set-property property="autoCommit" value="false" />
            <set-property property="loginTimeout" value="30" />
        </data-source>
    </data-sources>


action代码:
public ActionForward execute(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response);
		throws Exception
	{
		PrintWriter out = response.getWriter();;
		RegcatForm regcatForm = (RegcatForm); form;
		String id = regcatForm.getCat_id();;
		String name = regcatForm.getName();;
		String sex = regcatForm.getSex();;
		float weight = regcatForm.getWeight();;
		try
		{
			[b]Session session = HibernateUtil.currentSession();;[/b]
			Transaction tx = session.beginTransaction();;

			Cat c = new Cat();;
			c.setId(id);;
			c.setName(name);;
			c.setSex(sex.charAt(1););;
			c.setWeight(weight);;

			session.save(c);;

			tx.commit();;
			HibernateUtil.closeSession();;
		}
		catch (HibernateException he);
		{
			he.printStackTrace(out);;
		}
		return mapping.findForward("success");;

	}


这句话Session session = HibernateUtil.currentSession();会抛出这样的一个错误:java.lang.ExceptionInInitializerError,
还附加:javax.naming.NameNotFoundException: Name jdbc is not bound in this Context

我是不是还得在tomcat里配置一遍datasource啊?这样真的好麻烦,在struts里配置,还要在hibernate里配置,在tomcat里配置?
   发表时间:2004-11-01  
我认为应该在tomcat里配置,然后在hibernate的配置文件里引用, struts应该不涉及这数据库的东西.
0 请登录后投票
   发表时间:2004-11-02  
多谢两位!!已经解决了!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics