ssh,
ssh,
1:web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
2: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的集合,
在form-beans标签中可以配置多个的表单对象,
对于表单对象用来保存用户请求中的参数 -->
<form-beans >
<form-bean name="loginForm" type="com.zjy.form.LoginForm" ></form-bean>
<form-bean name="pageForm" type="com.zjy.form.PageForm"></form-bean>
<form-bean name="deleteForm" type="com.zjy.form.DeleteForm"></form-bean>
<form-bean name="updateForm" type="com.zjy.form.UpdateForm"></form-bean>
<form-bean name="insertForm" type="com.zjy.form.InsertForm"></form-bean>
</form-beans>
<global-exceptions />
<!-- 该global-forwards用来配置全局的跳转的集合,
而在global-forwards下的forward标签用来配置单个的跳转路径,
path属性用来指定跳转的目标路径,
name属性用来指定跳转的目标路径的代名词,
这样的做的好处,在于外界的用户只需要使用跳转的目标路径的代名词就可以了,
而不必关心跳转的实际路径 -->
<global-forwards >
<forward name="page" path="/page.jsp"></forward>
<forward name="failure" path="/failure.jsp"></forward>
</global-forwards>
<!--action-mappings用来配置多个请求路径,以及请求路径所对应的请求处理者,
在action-mappings中的action用来单个的请求路径和请求路径所对应的请求处理者,
path属性用来指定请求的路径,type用来指定请求处理者的类型,
name用来指定请求参数用来存放到那个已经在form-beans中已经配置的表单对象中去-->
<action-mappings >
<action path="/loginAction" name="loginForm" type="com.zjy.action.LoginAction"></action>
<action path="/pageAction" name="pageForm" type="com.zjy.action.PageAction"></action>
<action path="/updateAction" name="updateForm" type="com.zjy.action.UpdateAction"></action>
<action path="/deleteAction" name="deleteForm" type="com.zjy.action.DeleteAction"></action>
<action path="/insertAction" name="insertForm" type="com.zjy.action.InsertAction"></action>
</action-mappings>
<message-resources parameter="com.zjy.struts.ApplicationResources" />
</struts-config>
3:appicationContext.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属性用来指定该被托管对象的名称,
class属性用来指定受托管对象的包路径和类名,
在bean标签中的property属性用来配置该托管对象的属性, -->
<!-- 该bean标签用来配置数据源对象,该对象的名称为MySql_DataSource,
该对象的包路径和类名为org.apache.commons.dbcp.BasicDataSource,
<bean id="MySql_DataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url"
value="jdbc:mysql://localhost:3306/studb">
</property>
<property name="username" value="root"></property>
<property name="password" value="3239436"></property>
</bean>
<!-- 该bean标签用来配置LocalSessionFactoryBean对象,
该对象的名称为sessionFactoryBean,该对象的包路径和类名为org.springframework.orm.hibernate3.LocalSessionFactoryBean,
同时设置该对象的数据源属性,并设置该属性的值为上面所配置的MySql_DataSource对象,
设置该对象的hibernate属性,并设置Hibernate的方言属性为org.hibernate.dialect.MySQLDialect,
因为在本例子中使用的数据库是MySql-->
<bean id="sessionFactoryBean"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="MySql_DataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<!-- 该property属性用来配置,该会话工程对象的中的映射资源, -->
<property name="mappingResources">
<list>
<value>com/zjy/bean/Customer.hbm.xml</value></list>
</property></bean>
<!-- 该bean标签用来配置数据库中customer表的数据据访问对象,从而实现对customer表的增删改查操作,
该对象的名称为customerDao,该对象的包路径和类名为com.zjy.dao.impl.CustomerDaoImpl,
同时设置该对象的属性会话工厂属性sessionFactory,并设置该属性的值为上面所配置的sessionFactoryBean -->
<bean id="customerDao" class="com.zjy.dao.impl.CustomerDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactoryBean"/>
</property>
</bean>
<!-- 该bean标签用来配置对customer表的业务逻辑对象,该对象的名称为customerService,
该对象的包路径和类名为com.zjy.service.impl.CustomerServiceImpl,
同时设置该对象的数据访问对象customerDao属性,并设置该属性的值为上面所配置的customerDao -->
<bean id="customerService" class="com.zjy.service.impl.CustomerServiceImpl">
<property name="customerDao">
<ref local="customerDao"/>
</property>
</bean>
</beans>
4:Customer.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">
<!--
hibernate-mapping用来哪些对象与数据库中的表相互映射,
在hibernate-mapping中可以配置多个的对象与数据库中的表之间的映射,
而class就用来指定那个对象与数据库中那个表相对应
-->
<hibernate-mapping>
<!-- 该class用来配置数据库中的customer表与类Customer之间的映射关系,
name属性用来指定所要配置类的包路径和类名,
table属性用来指定类与相对应数据库中的表,该表的名称为customer,
id属性用来指定主键属性,在id标签中的name属性用来指定类的属性,type属性用来指定该属性的类型,
id标签的generator的class用来指定主键生成策略
-->
<class name="com.zjy.bean.Customer" table="customer">
<id name="id" column="id" type="java.lang.Integer">
<generator class="increment" />
</id>
<!-- 该property标签用来配置Customer类的username的属性与customer表的username列相对应 -->
<property name="username" column="username" type="java.lang.String"/>
<!-- 该property标签用来配置Customer类的password的属性与customer表的password列相对应 -->
<property name="password" column="password" type="java.lang.String"/>
</class>
</hibernate-mapping>
评论暂时关闭