近来时间一直在学习SSH的整合, SSH三者的配置不是很难, 基本上在MyEclipse中都可以完全导入所需的jar 包.
就是在配置连接池的时候出现了一些问题.这个问题已经得到了解决. 这个问题是:javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
在加载连接池的时候找不到JNDI, 开始我以为是自己的配置哪里出错了, 于是上网找了一些资料,还真的有很多前辈们遇到跟我一样的问题. 我试了一下, 原来在META-INF下新建一个context.xml文件就可以解决问题了.
现在我来具体说一下步骤:
1 .
在MyEclipse下new 出一个 New Database Connection Driver, 这个是用来配置数据源的.选择DriverName, URL,
user,password,加入jar 包.
测试一下连接, OK.
2.SSH 三者加入jar包的顺序:
Spring --> Hibernate --> Struts
new 一个Project, 右键工程选择myEclipse --> Add Spring Capabilities , 使用Spring1.2, 加入所有的jar,
JAR library 中选择copy checked Library 选, finish.
右键工程选择myEclipse --> Add Hibernate Capabilities , 使用Hibernate3.1, 加入所有的jar,
JAR library 中选择copy checked Library 选, finish.
右键工程选择myEclipse --> Add Struts Capabilities , 使用Struts1.2, 加入所有的jar.
JAR library 中选择copy checked Library 选, finish.
jar 包添加完成.
3. 配置文件
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean" destroy-method="close"> <property name="jndiName"> <value>java:comp/env/jdbc/blod</value> </property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> <!-- 表示允许自动提交 --> <prop key="hibernate.connection.autocommit">true</prop> <!-- 显示sql语句 --> <prop key="hibernate.show_sql">true</prop> </props> </property> </bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean></beans>
struts-config.xml
<controller
processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
</controller>
<message-resources
parameter="org.dys.myznt.struts.ApplicationResources" />
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
context.xml
<Context path="/MyZNT"> <!--工程名称 -->
<Resource
name="jdbc/blod"
type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/blod"
maxActive="4"
maxIdle="2"
/>
</Context>
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>