亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

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>

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久国产影院| 高清视频欧美一级| 亚洲欧美一区二区三区在线| 疯狂蹂躏欧美一区二区精品| 91国内揄拍国内精品对白| 亚洲激情自拍图| 日本亚洲欧美三级| 亚洲人成在线电影| 欧美影院久久久| 亚洲日韩欧美视频一区| 97久久国产精品| 奇米成人av国产一区二区三区| 亚洲国产又黄又爽女人高潮的| 91香蕉国产在线观看| 2018日韩中文字幕| 91精品国产91久久久久久吃药| 久久久精品一区二区三区| 精品二区三区线观看| 国产免费一区视频观看免费| 4438全国成人免费| 久久精品久久久久电影| 久久精品国产亚洲| 一区二区三区四区精品| 国产精品久久久久久久av电影| 欧美理论电影网| 国产成人精品一区二区三区| 日韩av综合网站| 在线观看欧美日韩国产| 久久91精品国产| 亚洲片av在线| 国产极品精品在线观看| 亚洲第一区在线| www.久久撸.com| 久久久久久久久久久成人| 欧美性猛xxx| 亚洲欧美精品一区二区| 欧美日韩美女在线| 欧美在线视频在线播放完整版免费观看| 岛国av在线不卡| 97视频免费在线看| 91免费精品国偷自产在线| 欧美精品激情blacked18| 精品国产91久久久久久| 久久精品99久久久香蕉| 国产欧美 在线欧美| 91热福利电影| 久久久国产影院| 日韩成人av网址| 日韩av片永久免费网站| 精品国内产的精品视频在线观看| 欧美在线国产精品| 91九色单男在线观看| 亚洲性69xxxbbb| 欧美人与性动交a欧美精品| 欧美在线性视频| 亚洲图片欧洲图片av| 欧美色道久久88综合亚洲精品| 在线亚洲男人天堂| 精品偷拍各种wc美女嘘嘘| 国产日韩综合一区二区性色av| 久久久久久亚洲精品不卡| 国产精品欧美在线| 欧美专区在线观看| 97精品在线观看| 中文字幕在线精品| 国产一级揄自揄精品视频| 国产精品青草久久久久福利99| 日韩在线中文字| 亚洲影院高清在线| 亚洲人成77777在线观看网| 国产精品99蜜臀久久不卡二区| 亚洲精品一区二区在线| 久久综合伊人77777蜜臀| 久色乳综合思思在线视频| 国产精品久久久久久久7电影| 88国产精品欧美一区二区三区| 91精品国产91久久久久久吃药| 成人亚洲欧美一区二区三区| 欧美性猛交xxxx乱大交蜜桃| 亚洲黄在线观看| 亚洲韩国欧洲国产日产av| 国产一区红桃视频| 久久久久久久久电影| 精品国产一区二区三区久久狼黑人| 国产精品久久久av久久久| 国产日韩精品在线| 成人国产在线激情| 国产精品观看在线亚洲人成网| 欧美午夜美女看片| 欧美性xxxxhd| 日韩在线视频观看正片免费网站| 国产一区二区三区丝袜| 亚洲高清久久网| 韩国一区二区电影| 欧美成人午夜激情视频| 精品久久久国产精品999| 中文字幕久热精品在线视频| 欧美xxxx做受欧美.88| 日韩精品中文字幕在线观看| www国产精品com| 91青草视频久久| 欧美一级在线播放| 欧美专区在线播放| 国内成人精品一区| 日韩中文字幕在线视频| 亚洲欧美成人一区二区在线电影| 日韩视频在线免费| 久久噜噜噜精品国产亚洲综合| 久久久久久久久久av| 国产mv免费观看入口亚洲| 久久久亚洲影院| 日韩高清电影免费观看完整| 都市激情亚洲色图| 欧美日韩国产一中文字不卡| 亚洲美女性生活视频| 日本久久久久久久久| 九九热在线精品视频| 国产精品视频一区二区三区四| 91免费视频网站| 57pao精品| 久久中文久久字幕| 亚洲欧美制服中文字幕| 日韩欧美视频一区二区三区| 日韩av免费在线看| 日日狠狠久久偷偷四色综合免费| 一区二区三区动漫| 欧美日本高清视频| 亚洲国产精品成人va在线观看| 欧美一级高清免费播放| 国产一区在线播放| 2023亚洲男人天堂| 亚洲精品99久久久久中文字幕| 日韩专区在线观看| 国产日韩在线看| 中文字幕亚洲一区二区三区五十路| 欧美美最猛性xxxxxx| 亚洲第一精品久久忘忧草社区| 国产福利视频一区二区| 成人免费视频xnxx.com| 成人精品aaaa网站| 亚洲视频一区二区三区| 九九久久久久99精品| 亚洲最大福利视频网站| 欧美乱大交做爰xxxⅹ性3| 国产日韩欧美另类| 午夜精品久久久久久99热软件| 国产精品久久久久久一区二区| 亚洲视频在线看| 国产成人精品久久亚洲高清不卡| 日韩欧美国产骚| 欧美影院在线播放| 精品视频在线播放色网色视频| 精品国产欧美成人夜夜嗨| 久久国产加勒比精品无码| 日韩美女激情视频| 国产综合色香蕉精品| 亚洲精品国产综合区久久久久久久| 欧美日韩国产91| 福利精品视频在线| 日本伊人精品一区二区三区介绍| 午夜精品久久久久久久久久久久久| 成人动漫网站在线观看| 91九色国产视频| 国产精品99免视看9|