Struts+spring+Hibernate+Mysql--環境搭建
看完SSH的day01,基本上理解了一條線的過程,但那種感覺就像是盲人摸象一樣,有了一些的程式碼經驗之後,又回頭重新看了一下SHH網上商城環境的搭建;撥開雲霧見晴天,總結一下環境搭建的過程;
一.導航地圖
第一天完成之後的,導航地圖如下;
下圖是對上面導航檢視中基本內容的分析,同時也是搭建過程。
二.巨集觀三步驟:
1.建立Web工程,選擇JavaEE 5.5;
2.jar包的引入和配置檔案的設定;(總結配置檔案)
1).struts2:
在Web.xml中,配置struts2核心過濾器;
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在Struts.xml中配置頁面轉向;
<struts>
<constant name="struts.devMode" value="false" />
<package name="Shop" extends="struts-default" namespace="/">
<!-- 很多的頁面都要往這裡跳轉;全域性 ;帶回來一些資訊;-->
<span style="white-space:pre"> </span><global-results>
<span style="white-space:pre"> </span><result name = "msg">/WEB-INF/jsp/msg.jsp</result>
<span style="white-space:pre"> </span></global-results>
<!-- 配置首頁訪問的Action -->
<action name="index" class="indexAction">
<result name="index">/WEB-INF/jsp/index.jsp</result>
</action>
<!-- 配置使用者模組的Action-->
<action name="user_*" class="userAction" method="{1}">
<result name="registPage">/WEB-INF/jsp/regist.jsp</result>
<result name = "input">/WEB-INF/jsp/regist.jsp</result>
<result name = "loginPage">/WEB-INF/jsp/login.jsp</result>
<result name = "login">/WEB-INF/jsp/login.jsp</result>
</action>
<span style="white-space:pre"> </span></package>
</struts>
2).Spring
在Web.Xml中,配置Spring的核心監聽器;
<!-- 配置Spring的核心監聽器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<!-- 全域性重要引數 預設載入的web-inf下的applicationContext,需要載入類編譯路徑下面,所以要配置一個引數classpath:路徑為Src下的applicationContext.xml檔案-->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
applicationContext.xml 屬於Spring;
3).Hibernate
資料庫驅動,連線池;
在applicationContext.xml中配置Hibernate的相關資訊;
<!-- Hibernate的相關資訊 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 注入連線池 -->
<property name="dataSource" ref="dataSource"/>
<!-- 配置Hibernate的其他的屬性 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.connection.autocommit">false</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<!-- 配置Hibernate對映檔案 -->
<property name="mappingResources">
<list>
<value>cn/itcast/shop/user/vo/User.hbm.xml</value>
</list>
</property>
</bean>
3.基本資訊的配置
1.jdbc.properties中配置連線資料庫;
</span>jdbc.driver = com.mysql.jdbc.Driver
</span>jdbc.url = jdbc:mysql:///shop
</span>jdbc.user = root
</span>jdbc.password =123456
2.applicationContext.xml中配置;配置連線池:
<!-- 配置連線池: -->
<!-- 引入外部屬性檔案 classpath:jdbc.properties -->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- 配置C3P0連線池: 獲得值-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.user}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
事務管理
<!-- 事務管理: -->
<!-- 事務管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 開啟註解事務 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
3. Hibernate的相關資訊 (上面配置Hibernate的時候已經提到了)
4.各層的配置;
<span style="white-space:pre"> </span><!-- ===============================Action 的配置=============================-->
<!-- 首頁訪問的Action -->
<bean id="indexAction" class="cn.itcast.shop.index.action.IndexAction" scope="prototype">
</bean>
<!-- 使用者模組的Action -->
<bean id="userAction" class="cn.itcast.shop.user.action.UserAction" scope="prototype">
<!-- 注入Service -->
<property name="userService" ref="userService"/>
</bean>
<!--================================= Service的配置 ===========================-->
<bean id="userService" class="cn.itcast.shop.user.service.UserService">
<property name="userDao" ref="userDao"/>
</bean>
<!-- =================================Dao的配置 ===========================-->
<bean id="userDao" class="cn.itcast.shop.user.dao.UserDao">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
三.總結:
剛開始的過程,可以先做,有了實踐之後,更應該在原理上進行理解,然後再次用已經理解的理論來指導實踐,會更加清晰,理論和實踐是一個需要不間斷磨合的過程,理論是核心,實踐的應用;整體上進行了一個理解,在之後的過程中,細化理解的粒度;
相關文章
- 環境搭建
- windows環境下Django環境搭建WindowsDjango
- react環境搭建React
- LNMP 環境搭建LNMP
- 搭建Java環境Java
- Vagrant 環境搭建
- Flutter環境搭建Flutter
- swoft 環境搭建
- OpenGL 環境搭建
- 搭建gym環境
- 搭建lnmp環境LNMP
- Angular環境搭建Angular
- JDK環境搭建JDK
- keil環境搭建
- Dubbo環境搭建
- mac搭建環境Mac
- FNA 環境搭建
- FNA環境搭建
- Maven 環境搭建Maven
- spark環境搭建Spark
- Hive環境搭建Hive
- centosLAMP環境搭建CentOSSLAMLAMP
- lnmp環境搭建LNMP
- ZooKeeper環境搭建
- lnamp環境搭建
- java 環境 搭建Java
- MAVEN環境搭建Maven
- App環境搭建APP
- gogs環境搭建Go
- Windows環境下的Nginx環境搭建WindowsNginx
- window環境下testlink環境搭建(xammp)
- 以太坊-Win環境下remix環境搭建REM
- 【環境搭建】RocketMQ叢集搭建MQ
- Flutter Engine環境搭建Flutter
- iOS逆向環境搭建iOS
- docker搭建php環境DockerPHP
- Supervisor 環境搭建
- Mac 新環境搭建Mac