`
toreking
  • 浏览: 36693 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

SSH 整合笔记

阅读更多

<!-- [if gte mso 9]><xml> <o:OfficeDocumentSettings> <o:RelyOnVML/> <o:AllowPNG/> </o:OfficeDocumentSettings> </xml><![endif]-->

<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>ZH-CN</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:EnableOpenTypeKerning/> <w:DontFlipMirrorIndents/> <w:OverrideTableStyleHps/> <w:UseFELayout/> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="&#45;-"/> <m:smallFrac m:val="off"/> <m:dispDef/> <m:lMargin m:val="0"/> <m:rMargin m:val="0"/> <m:defJc m:val="centerGroup"/> <m:wrapIndent m:val="1440"/> <m:intLim m:val="subSup"/> <m:naryLim m:val="undOvr"/> </m:mathPr></w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles> </xml><![endif]--><!-- [if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.5pt; mso-bidi-font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-font-kerning:1.0pt;} </style> <![endif]-->

SSH 整合笔记

1. 加入 struts2 的环境

    1.1 加入必须 jar

       Commons-fileupload-*.jar

       Freemarker-*.jar

       Ognl-*.jar

       Struts1-core-*.jar

       Xwork-core-*.jar

    1.2 配置 web.xml, 将请求交给 struts 来处理

       < filter >

          < filter-name > s </ filter-name >

         < filter-class > org.apache.struts2.dispatcher.ng.

filter.StrutsPrepareAndExecuteFilter </ filter-class >

       </ filter >

       < filter-mapping >

          < filter-name > s </ filter-name >

          < url-pattern > /* </ url-pattern >

       </ filter-mapping >

   1.3 加入 struts.xml 文件

      ---- 加入 struts tld 标签库引入

                |--- 在已经加入的 struts2-core-*.jar struts-2.0.dtd 中有

   1.4 写一个 Action, 并配置到 struts.xml

      ----com.xcz.action.UserAction

      ------------------------------------------------------------------

< package name = "struts" extends = "struts-default" >

         < action name = "userdo" class = "com.xcz.action.UserAction" >

            < result name = "index" > index.jsp </ result >

         </ action >

      </ package >

      ------------------------------------------------------------------

 

2. 加入 Hibernate 的环境

    2.1 加入必须的 jar

       antlr-*.jar// 其他工具辅助包

commons-collection-*.jar// 必须的集合类工具包

dom4j-*.jar//hibernate 靠其读写 xml 配置文件

hibernate*.jar// 核心包

jta-*.jar//jta 规范包

db-connection-java-*.jar// 数据库连接包

 

// 以下的包 hibernate 版本不一样,存在差异

javassist-*.jar// 字节码增强包(更高版本已经换成 [cglib.jar]+[asm.jar]+[asm-attrs.jar]

slf4j-api-*.jar//

slf4j-nop-*.jar//

    2.2 加入 hibernate.cfg.xml

       ---- 加入 hibernate tld 标签库引入 ( 注意配置文件引入的 dtd 头,这里是 Hibernate Configuration DTD )

                |--- 在已经加入的 hibernate3.jar 包中 /org/hibernate/hibernate-configuration-3.0.dtd 中有

    ----------------------------------------------------------------------------------------------

           <! DOCTYPE hibernate-configuration PUBLIC

         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" >

    ----------------------------------------------------------------------------------------------

---- 写入数据库连接属性

    -----------------------------------------------------------------------------------------------

       < hibernate-configuration >

         < session-factory >

            < property name = "hibernate.connection.driver_class" > com.mysql.jdbc.Driver </ property >

            < property name = "hibernate.connection.url" > jdbc:mysql://localhost :3306/db_ssh </ property >

            < property name = "hibernate.dialect" > org.hibernate.dialect.MySQLDialect </ property >

            < property name = "hibernate.connection.username" > root </ property >

            < property name = "hibernate.connection.password" > mysql </ property >

            < property name = "show_sql" > true </ property >   

     

         </ session-factory >

</ hibernate-configuration >

-----------------------------------------------------------------------------------------------

    2.3 写实体类 User( 多个对应一个 Derpartment) Derpartment( 对应一个 Set<User>)

    2.4 在实体类的包下分别写 xml 映射文件 Xxxx.hbm.xml( 注意配置文件引入的 dtd 头,这里是 Hibernate Mapping DTD )

       User.hbm.xml

    ----------------------------------------------------------------------------------------------

       <! DOCTYPE hibernate-mapping PUBLIC

      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

      "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

 

< hibernate-mapping >

         < class name = "com.xcz.domain.User" table = "t_user" >

            < id name = "id" column = "id" length = "36" >

               < generator class = "uuid.hex" />

            </ id >

     

            < property name = "username" length = "20" />

            < property name = "password" length = "20" />

            <!—- 多对一指向 deptid ( 外键 )-->

            < many-to-one name = "dept" column = "deptid" class = "com.xcz.domain.Department" />

         </ class >

</ hibernate-mapping >

    ----------------------------------------------------------------------------------------------

       Derpartment.hbm.xml

    ----------------------------------------------------------------------------------------------

       <! DOCTYPE hibernate-mapping PUBLIC

      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

      "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

 

< hibernate-mapping >

         < class name = "com.xcz.domain.Department" table = "t_dept" >

            < id name = "id" column = "id" length = "36" >

               < generator class = "uuid.hex" />

            </ id >

     

            < property name = "dname" length = "50" />

     

            < set name = "users" inverse = "true" > <!-- 一对多 Set 集合属性配置 -->

               < key column = "deptid" />    <!—column 就是 多对一指向的属性 -->

               < one-to-many class = "com.xcz.domain.User" />

            </ set >

         </ class >

</ hibernate-mapping >

    ----------------------------------------------------------------------------------------------

 

3. 加入 Spring

    3.1 加入 Spring 的必须 jar 包以及整合的 jar

       Aspectjrt.jar

       Aspectjweaver.jar

       Commons-loggin.jar

       Log4j-*.jar

       Spring.jar

       Struts2-spring-plugin-*.jar

    3.2 配置 web.xml( 文件加载的时候 )

注:在 SSH 中,接收请求的 Servlet 是由 Struts ActionServlet 来配置的,因此此时就不能够使用 DispatchServlet 来接受请求。为了能在此时能过加载 Spring Bean 配置,可以在 Web.xml 中配置一个监听器,并通过 <context-param> 指定 xml 文件名。

      --------------------------------------------------------------------------------------------

< context-param >

          < param-name > contextConfigLocation </ param-name >

          <!-- ,classpath *:applicationContext-*.xml ,/WEB-INF/applicationContext*.xml -->

          < param-value > classpath *:applicationContext*.xml </ param-value >

       </ context-param >

 

       < listener >

       < listener-class > org.springframework.web.context.ContextLoaderListener </ listener-class >

       </ listener >

--------------------------------------------------------------------------------------------

    3.3 添加 spring 的配置文件 applicationContext.xml

       注:加入配置文件引入的 dtd

--------------------------------------------------------------------------------------------

       < beans xmlns = "http://www.springframework.org/schema/beans"

      xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"

      xmlns:aop = "http://www.springframework.org/schema/aop"

      xmlns:tx = "http://www.springframework.org/schema/tx"

      xsi:schemaLocation = "

htt p://www.springframework.org/schema/beans ht tp://www.springframework.org/schema/beans/spring-beans-2.5.xsd

         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd

         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" >

     

      <bean>

--------------------------------------------------------------------------------------------

    3.4 applicationContext*.xml SessionFactory 的配置

       注:配置 SessionFactory 对象,为 DAO 层提供 Hibernate 的数据库连接对象,其中需要注入 2.2 中配置的 DataSource

--------------------------------------------------------------------------------------------

< bean name = "sessionFactory" class = "org.springframework.orm.hibernate3.LocalSessionFactoryBean" >

         < property name = "configLocation" value = "class:hibernate.cfg.xml" />

</ bean >

--------------------------------------------------------------------------------------------

    3.5 applicationContext*.xml 中配置事务

       注:为 SessionFactory 对象添加事务配置组件,并注入 3.3 中配置的 SessionFactory 对象。

--------------------------------------------------------------------------------------------

< bean name = "transactionManager" class = "org.springframework.orm.hibernate3.HibernateTransactionManager" >

         < property name = "sessionFactory" ref = "sessionFactory" ></ property >

</ bean >

--------------------------------------------------------------------------------------------

    3.6 编写 DAO

       注: Dao 需要继承 HibernateDaoSupport

--------------------------------------------------------------------------------------------

        public class UserDaoImpl extends HibernateDaoSupport implements UserDao {

 

           public void addUser(User user) {

              this.getHibernateTemplate().save(user);

           }

 

           public User getUser(String id) {

              return (User) this.getHibernateTemplate().get(User.class, id);

           }

 

           public void updateUser(User user) {

              this.getHibernateTemplate().update(user);

           }

   

           public User getByUsername(String username) {

              return (User) this.getSession().createQuery(

"from User where username = ?").setParameter(0, username).uniqueResult();

           }

}

--------------------------------------------------------------------------------------------

    3.7 applicationContext*.xml 中配置 DAO 中的 Bean ,并注入 SessionFactory

--------------------------------------------------------------------------------------------

       < bean id = "userDao" class = "com.chinasofti.dao.impl.UserDaoImpl" >

         < property name = "sessionFactory" >

            < ref bean = "sessionFactory" />

         </ property >

      </ bean >

--------------------------------------------------------------------------------------------

    3.8 写一个 Action, 并配置到 applicationContext*.xml ,并注入需要的类

--------------------------------------------------------------------------------------------

< bean id = "userAction" class = "com.chinasofti.action.UserActoin" scope = "prototype" >

         < property name = "userService" ref = "userService" />

         < property name = "departmentService" ref = "departmentService" />

      </ bean >

--------------------------------------------------------------------------------------------

分享到:
评论

相关推荐

    SSH整合笔记和配置文

    ### SSH整合笔记和配置文件解析 #### SSH框架简介 SSH指的是Struts2、Spring以及Hibernate三个开源框架的集成应用,它们分别是MVC框架、轻量级IoC容器和ORM持久层框架。在实际项目开发中,这三个框架经常被一起使用...

    SSH整合笔记

    ### SSH整合笔记 #### 一、三大框架整合 在企业级应用开发中,Spring、Struts2 和 Hibernate 组合起来被广泛称为 SSH 框架。这些框架各自解决了不同的问题,但组合在一起可以提供一个非常强大的解决方案。下面将...

    SSH框架整合笔记

    ### SSH框架整合知识点详解 #### 一、框架的搭建与配置 SSH框架指的是Spring、...需要注意的是,本篇笔记仅为SSH框架整合的一部分内容,完整的SSH框架还包括Spring和Hibernate的集成,涉及到更多的配置和编码工作。

    java事务管理&ssh整合笔记

    【Java事务管理与SSH整合】 在Java开发中,事务管理是确保数据一致性的重要手段,而SSH(Spring、Struts和Hibernate)是常见的企业级应用框架整合。本笔记将重点讨论Spring中的AOP(面向切面编程)以及事务管理,...

    j2ee SSH 整合笔记,献于新手。。

    ### J2EE SSH整合知识点详解 #### 一、概述 SSH框架是指Spring、Struts以及Hibernate这三个开源框架的集成应用,常被用于构建企业级Java应用程序。本文将围绕如何实现这三个框架的有效集成展开讨论,旨在为新手提供...

    李兴华SSH课堂笔记

    SSH整合的关键在于Spring如何协调Struts和Hibernate。Spring可以管理Struts的Action实例,通过依赖注入的方式提供业务服务。同时,Spring可以作为Hibernate的事务管理器,处理数据库的事务。这种整合减少了各框架间...

    ssh 框架完全整合笔记

    SSH框架整合是将Spring、Struts和Hibernate三个流行的开源Java Web开发框架集成在一起,以构建高效、可维护的Web应用程序。下面将详细讲解SSH框架整合的各个部分。 一、Spring整合Hibernate 1. **无需Hibernate...

    SSH学习笔记3 SSH学习笔记3

    SSH学习笔记3主要聚焦于三个Java企业级开发框架——STRUTS、SPRING和HIBERNATE的集成与应用。这三个框架是Java后端开发中非常重要的组件,它们各自负责不同的层面,共同构建了一个强大的MVC(Model-View-Controller...

    ssh整合学习笔记(图解)

    下面,我们将基于提供的“ssh整合学习笔记(图解)”这一主题,深入探讨SSH整合的关键知识点,以及如何在实践中运用这些框架。 ### Spring框架 Spring框架是一个开源的应用框架,其核心特性包括依赖注入(DI)、...

    J2EE(SSH整合)开发笔记.doc

    ### J2EE(SSH整合)开发基础 J2EE(Java 2 Platform, Enterprise Edition)是一个企业级Java平台的标准,用于开发和部署可移植、健壮、安全、多用户的应用程序。SSH框架整合是指将Spring、Struts和Hibernate这三个...

    ssh整合相关笔记.pdf

    ssh整合相关笔记.pdf

    初学ssh整合项目笔记

    SSH整合是指将Spring、Struts2和Hibernate这三个流行的开源Java框架进行集成,以构建高效、模块化的Web应用程序。这三个框架分别负责不同的职责:Spring作为应用的基石,提供依赖注入(DI)和面向切面编程(AOP);...

    SSH笔记-整合Spring2、Struts2、Hibernate4

    SSH整合是Java Web开发中的一种常见模式,它指的是Spring、Struts2和Hibernate这三大开源框架的集成。这种集成能够构建出高效、可维护的Web应用程序。以下是对SSH整合的详细解析: 一、Spring框架 Spring是Java企业...

    关于SSH2整合笔记

    **SSH2整合笔记** 在IT行业中,SSH2(Struts2、Spring、Hibernate)整合是Java Web开发中常见的技术栈,它将三个强大的框架结合在一起,以实现高效、灵活和可维护的Web应用。SSH2整合是提升开发效率,简化项目架构...

    SSH整合学习笔记之spring与hibernate简单整合之源码

    SSH整合学习笔记之spring与hibernate简单整合的源码---对应我的博客文章 http://blog.csdn.net/wanghantong/article/details/6653482

    Eclipse整合SSH框架笔记(附例子)

    在SSH整合中,Spring主要负责管理Bean的生命周期和事务处理。 1. **配置Spring**:首先,需要创建Spring的配置文件(如`applicationContext.xml`),在这里声明Bean并定义它们的依赖关系。例如,配置DataSource、...

    SSH学习笔记5 SSH学习笔记5

    六、Spring框架中的SSH整合 在Java开发中,SSH通常指Spring、Struts和Hibernate的集成。Spring是一个全面的轻量级应用框架,Struts是MVC模式的实现,Hibernate则是一个对象关系映射(ORM)框架。将这三个框架整合在...

    ssh整合相关笔记.doc

    SSH整合是指将Spring、Struts2和Hibernate这三个开源框架整合在一起,用于构建高效、灵活的Java Web应用程序。在本文中,我们将逐步解析SSH整合的四个关键步骤。 **第一步:引入Spring支持** 首先,我们需要创建一...

Global site tag (gtag.js) - Google Analytics