麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

SSH的簡單入門體驗(Struts2.1+Spring3.1+Hibernate4.1)- 查詢系統(上)

2019-11-14 21:15:48
字體:
來源:轉載
供稿:網友
SSH的簡單入門體驗(Struts2.1+SPRing3.1+Hibernate4.1)- 查詢系統(上)

所謂SSH,指的是struts+spring+hibernate的一個集成框架,它是目前較流行的一種Web應用程序的開源框架。

集成SSH框架的系統從職責上分為四層:表示層、業務邏輯層、數據持久層和域模塊層,以幫助開發人員在短期內搭建結構清晰、可復用性好、維護方便的Web應用程序。其中使用Struts作為系統的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。(摘自百度百科)

畢業實習布置了一個利用SSH框架做一個查詢系統的作業,結果跟駕校科目三的考試沖突了,很悲劇的沒有趕上第一次的檢查作業,只能等國慶后再去補交了。我從SSH框架的布置到系統的簡單實現一共花了三天的時間,里面的概念還不是很明白,只是知道怎么做而已。寫下這篇文章也是為了以后重新入門SSH的時候有個入門介紹,防止以后還要從頭開始學起(雖然覺得以后如果要寫SSH的項目的話肯定要重新系統的學習一遍,無視無視~)

一、準備工具
  1. MyEclipse2014GA版本
  2. MySQL5.6 和 其驅動包
  3. Tomcat 8

我這里提供一下MyEclipse的下載鏈接吧,正好網盤里有(附帶破解),其他的工具請大家自行斟酌,因為MyEclipse已經自帶數據庫和Tomcat了,大家可以使用自帶的工具。我這里是使用了上述的工具。

MyEclipse下載鏈接:百度網盤

MyEclipse破解文件下載鏈接:百度網盤

二、新建Web項目,導入SSH
  1. 首先第一步是新建一個web project的項目點擊next,下一步點擊finish,完成web project的創建。
  2. 接下來我們導入SSH框架所需的文件首先在CnDemo項目根文件夾上右鍵我沒記錯的話myeclipse早幾期的版本菜單是add xxxx的樣式,大家對號入座就行了。
  3. 首先是安裝spring框架,選擇Install Spring Facet.點擊finish,這樣spring3.1框架就導入進去了。
  4. 添加Hibernate,不過在此之前你要先建立數據庫的鏈接這是我的數據庫連接,使用了mysql。在Connection Url這里要填寫你要連接的域名和數據庫名以及用戶名和密碼。要導入對應的數據庫驅動jar文件才行。最后不要忘記測試一下數據庫是否能用。
  5. 導入Hibernate框架,選擇Install Hibernate Facet.點擊完成,創建完畢。
  6. 最后是導入struts框架,選擇InstallApacheStruts(2.x)Facet.點擊完成就好了。

以上這樣配置,就算基本上把SSH最簡單的框架給搭建好了。

三、關于SSH的配置文件

其中最重要的是這兩個配置文件spring配置文件:applicationContext.xml。里面存放實體來控制整個系統。struts配置文件:struts.xml。里面存放action的映射。

  1. 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" xmlns:p="http://www.springframework.org/schema/p"    xmlns:aop="http://www.springframework.org/schema/aop"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd"    xmlns:tx="http://www.springframework.org/schema/tx">    <!-- 數據庫實體 -->    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">        <property name="driverClassName" value="com.mysql.jdbc.Driver">        </property>        <property name="url" value="jdbc:mysql://localhost/querydb"></property>        <property name="username" value="root"></property>        <property name="passWord" value="shen"></property>    </bean>    <!-- hibernate實體 -->    <bean id="sessionFactory"        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">        <property name="dataSource">            <ref bean="dataSource" />        </property>        <property name="hibernateProperties">            <props>                <prop key="hibernate.dialect">                    org.hibernate.dialect.MySQLDialect                </prop>                <!-- hibernate 數據的更新方式 -->                <prop key="hibernate.hbm2ddl.auto">update</prop>                <!-- 解決no session found -->                <!--使用getCurrentSession()需要加入如下配置 -->                <prop key="hibernate.current_session_context_class">thread</prop>                <!-- hibernate分頁出現 ResultSet may only be accessed in a forward direction需要設置hibernate結果集滾動 -->                <!-- <prop key="jdbc.use_scrollable_resultset">false</prop> -->            </props>        </property>        <!-- 配置實體Hibernate的描述文件 -->        <property name="mappingResources">            <list>                <!-- 實體類列表 -->                <value>cpacm/pojo/Archive.hbm.xml</value>            </list>        </property>    </bean>    <!-- 控制層 struts實體(Action實體) -->    <bean id="ArchiveAction" class="cpacm.action.ArchiveAction" scope="prototype">        <property name="archiveService" ref="ArchiveService"></property>    </bean>    <!-- 邏輯層 service -->    <bean id="ArchiveService" class="cpacm.service.ArchiveService">        <property name="archiveDao" ref="ArchiveDao"></property>    </bean>    <!-- 數據層,用于數據庫的操作 -->    <bean id="ArchiveDao" class="cpacm.dao.ArchiveDao">        <property name="sessionFactory" ref="sessionFactory" />    </bean>    <!-- spring自帶的事物管理 -->    <bean id="transactionManager"        class="org.springframework.orm.hibernate4.HibernateTransactionManager">        <property name="sessionFactory" ref="sessionFactory" />    </bean>    <tx:annotation-driven transaction-manager="transactionManager" />    <bean id="txManager"        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <property name="dataSource" ref="dataSource" />    </bean>    <tx:advice id="txAdvice" transaction-manager="txManager">        <tx:attributes>            <tx:method name="save*" propagation="REQUIRED" />            <tx:method name="add*" propagation="REQUIRED" />            <tx:method name="create*" propagation="REQUIRED" />            <tx:method name="insert*" propagation="REQUIRED" />            <tx:method name="findByQuery*" propagation="REQUIRED" />            <tx:method name="*" read-only="true" />        </tx:attributes>    </tx:advice>    <aop:config proxy-target-class="true">        <aop:advisor advice-ref="txAdvice"            pointcut="execution(* net.noday..service..*.*(..))" />    </aop:config></beans>

    其中,bean的注入基本方法為

  2. struts.xml
    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts>    <!-- action由spring進行實例化 -->    <constant name="struts.objectFactory" value="spring" />    <constant name="struts.devMode" value="true"></constant>    <package name="MySSH" extends="struts-default">        <!-- <action name="test" class="cpacm.struts2.demoAction" method="execute">             <result name="success">/Strut2Test.jsp</result> </action> -->        <!-- 全局的通用的action -->        <global-results>            <result name="error">/error.jsp</result>            <!-- <result name="success">/success.jsp</result> -->        </global-results>                <!-- Action列表,其中class=xxx為spring中的id -->        <action name="query" class="ArchiveAction" method="Query">            <result name="Query">/frame/ArcDataGrid.jsp</result>        </action>        <action name="tag" class="ArchiveAction" method="toUpdate">            <result name="toUpdate">/frame/ArcUpdate.jsp</result>        </action>        <action name="update" class="ArchiveAction" method="Update">            <result name="success">/frame/ArcDataGrid.jsp</result>        </action>        <action name="delete" class="ArchiveAction" method="Delete">            <result name="success">/frame/ArcDataGrid.jsp</result>        </action>        <action name="queryByclassId" class="ArchiveAction" method="QueryByclassID">            <result name="success">/frame/ArcDataGrid.jsp</result>        </action>        <action name="ArcAdd" class="ArchiveAction" method="Add">            <result name="success">/frame/ArcAddData.jsp</result>        </action>    </package></struts>

以上基本就是配置的全部過程了,可能很簡單,但也是五臟俱全了。篇幅有限,接下來會在下一篇講述怎么建一個完整的系統。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精选在线 | 成人精品一区二区三区中文字幕 | 日韩视频―中文字幕 | 激情小说激情图片激情电影 | 免费看成人毛片 | 久久久久久久一区二区三区 | 精品国产一级毛片 | 欧美成人精品一级 | 一级黄色免费观看 | 一区二区久久精品66国产精品 | 国产精品欧美久久久久一区二区 | 日韩在线播放第一页 | 一级黄色免费观看 | 色综合激情 | 毛片天天看 | 大学生一级毛片在线视频 | 午夜色视频在线观看 | 欧美一区二区三区久久精品视 | 欧美黄 片免费观看 | 1314av| 99在线啪| 久草在线高清视频 | 青青草最新网址 | 双性帝王调教跪撅打屁股 | 国产成人网 | 免费观看9x视频网站在线观看 | 久久亚洲精品久久国产一区二区 | 羞羞的视频在线 | 成人小视频免费在线观看 | 黄色7777| 香蕉国产在线视频 | 亚洲一区在线免费视频 | 小雪奶水翁胀公吸小说最新章节 | 国产在线精品一区二区夜色 | 精国品产一区二区三区有限公司 | 亚洲日本高清 | 毛片在线免费视频 | 国产精品99久久久久久久女警 | 少妇一级淫片免费看 | 视频一区 在线 | 日韩欧美激情视频 |