基于maven的ssh框架一步一步搭建(一)

目录[-]

  • 一、新建maven项目,配置ssh框架pom的最低支持
  • 1、新建一个maven项目 
  • 2、添加一个web.xml
  • 3、基本ssh框架pom.xml配置
  • 二、maven webproject 整合struts2
  • 1、web.xml 加入中心拦截器配置
  • 2、加入log4j.xml
  • 3、引入struts2.xml 根据约定由于配置原则,将此配置文件放在更目录即可
  • 4、建一个测试jsp在webapp/pages/index.jsp
  • 5、写一个controller
  • 6、配置struts2.xml
  • 7、暂时注释掉pom.xml中的struts2-spring-plugin
  • 8、配置jetty运行环境,开发的时候我们一般使用jetty服务器,而不用tomcat
  • 9、第一个里程碑,第一次运行项目
  • 三、将spring 整合进来
  • 1、web.xml加入spring监听
  • 2、将strut2交给spring管理
  • 四、spring再整合hibernate 
  • 1、加入datasource
  • 2、加入sessionFactory
  • 3、运行项目后报错 
  • 4、再次启动 
  • 一、新建maven项目,配置ssh框架pom的最低支持

    1、新建一个maven项目 

    2、添加一个web.xml


    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <? xml  version = "1.0"  encoding = "UTF-8" ?>
    < web-app  xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
         xmlns = "http://java.sun.com/xml/ns/javaee"  xmlns:web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         id = "WebApp_ID"  version = "2.5" >
         < display-name >limanman</ display-name >
     
     
    </ web-app >



    3、基本ssh框架pom.xml配置


    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    < project  xmlns = "http://maven.apache.org/POM/4.0.0"  xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >
       < modelVersion >4.0.0</ modelVersion >
     
       < groupId >com.winssage.fengshu</ groupId >
       < artifactId >winssage</ artifactId >
       < version >0.0.1-SNAPSHOT</ version >
       < packaging >war</ packaging >
     
       < name >winssage</ name >
       < url >http://maven.apache.org</ url >
     
       < properties >
         < project.build.sourceEncoding >UTF-8</ project.build.sourceEncoding >
       </ properties >
     
       < dependencies >
         < dependency >
           < groupId >junit</ groupId >
           < artifactId >junit</ artifactId >
           < version >4.10</ version >
           < scope >test</ scope >
         </ dependency >
          <!-- 添加SSH依赖 -->  
         <!-- Struts2 -->  
         < dependency >  
             < groupId >org.apache.struts</ groupId >  
             < artifactId >struts2-core</ artifactId >  
             < version >2.3.1</ version >  
         </ dependency >  
           
         < dependency >  
             < groupId >org.apache.struts</ groupId >  
             < artifactId >struts2-spring-plugin</ artifactId >  
             < version >2.3.1</ version >  
         </ dependency >  
           
           
          <!-- 添加Hibernate依赖 -->  
         < dependency >  
             < groupId >org.hibernate</ groupId >  
             < artifactId >hibernate-core</ artifactId >  
             < version >3.6.5.Final</ version >  
         </ dependency >  
         < dependency >  
             < groupId >commons-dbcp</ groupId >  
             < artifactId >commons-dbcp</ artifactId >  
             < version >1.4</ version >  
         </ dependency >  
           
         <!-- 添加Log4J依赖 -->  
         < dependency >  
             < groupId >log4j</ groupId >  
             < artifactId >log4j</ artifactId >  
             < version >1.2.16</ version >  
         </ dependency >  
           
         < dependency >  
           < groupId >org.slf4j</ groupId >  
           < artifactId >slf4j-api</ artifactId >  
           < version >1.6.1</ version >  
         </ dependency >  
           
         < dependency >  
             < groupId >org.slf4j</ groupId >  
             < artifactId >slf4j-nop</ artifactId >  
             < version >1.6.4</ version >  
         </ dependency >  
           
         <!-- 添加javassist -->  
         < dependency >  
             < groupId >javassist</ groupId >  
             < artifactId >javassist</ artifactId >  
             < version >3.11.0.GA</ version >  
         </ dependency >  
           
         <!-- 添加Spring依赖 -->  
         < dependency >  
             < groupId >org.springframework</ groupId >  
             < artifactId >spring-core</ artifactId >  
             < version >3.1.1.RELEASE</ version >  
         </ dependency >  
           
         < dependency >  
             < groupId >org.springframework</ groupId >  
             < artifactId >spring-beans</ artifactId >  
             < version >3.1.1.RELEASE</ version >  
         </ dependency >  
           
         < dependency >  
             < groupId >org.springframework</ groupId >  
             < artifactId >spring-context</ artifactId >  
             < version >3.1.1.RELEASE</ version >  
         </ dependency >  
           
         < dependency >  
             < groupId >org.springframework</ groupId >  
             < artifactId >spring-jdbc</ artifactId >  
             < version >3.1.1.RELEASE</ version >  
         </ dependency >  
           
         < dependency >  
             < groupId >org.springframework</ groupId >  
             < artifactId >spring-orm</ artifactId >  
             < version >3.1.1.RELEASE</ version >  
         </ dependency >  
           
         < dependency >  
             < groupId >org.springframework</ groupId >  
             < artifactId >spring-web</ artifactId >  
             < version >3.1.1.RELEASE</ version >  
         </ dependency >  
           
       </ dependencies >
    </ project >


    二、maven webproject 整合struts2

    1、web.xml 加入中心拦截器配置



    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    < filter >
             < filter-name >struts2</ filter-name >
             < filter-class >org.apache.struts2.dispatcher.FilterDispatcher</ filter-class >
         </ filter >
     
         < filter-mapping >
             < filter-name >struts2</ filter-name >
             < url-pattern >/*</ url-pattern >
         </ filter-mapping >



    2、加入log4j.xml


    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <? xml  version = "1.0"  encoding = "UTF-8" ?>
    <! DOCTYPE  log4j:configuration PUBLIC "-//Apache//DTD Log4j 1.2//EN"
                                         "http://logging.apache.org/log4j/docs/api/org/apache/log4j/xml/log4j.dtd">
    < log4j:configuration >
         < appender  class = "org.apache.log4j.ConsoleAppender"  name = "RootConsoleAppender" >
             < param  name = "Threshold"  value = "debug"  />
             < layout  class = "org.apache.log4j.PatternLayout" >
                 < param  name = "ConversionPattern"  value = "%d{ABSOLUTE} %-5p [%c{1}] %m%n"  />
             </ layout >
         </ appender >
     
         < category  name = "com.fengshu.limanman.winssage" >
             < priority  value = "debug"  />
         </ category >
     
         < category  name = "org.springframework" >
             < priority  value = "warn"  />
         </ category >
     
         < category  name = "org.hibernate" >
             < priority  value = "warn"  />
         </ category >
         < category  name = "org.dbunit" >
             < priority  value = "warn"  />
         </ category >
     
         < category  name = "com.mchange.v2" >
             < priority  value = "warn"  />
         </ category >
         < category  name = "org.apache" >
             < priority  value = "warn"  />
         </ category >
         < category  name = "org.logicalcobwebs" >
             < priority  value = "warn"  />
         </ category >
         < category  name = "com.opensymphony" >
             < priority  value = "warn"  />
         </ category >
     
         < root >
             < level  value = "info"  />
             < appender-ref  ref = "RootConsoleAppender"  />
         </ root >
     
    </ log4j:configuration >



    3、引入struts2.xml 根据约定由于配置原则,将此配置文件放在更目录即可


    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <? xml  version = "1.0"  encoding = "UTF-8"  ?>
    <! DOCTYPE  struts PUBLIC
         "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
         "http://struts.apache.org/dtds/struts-2.0.dtd">
    < struts >
         < package  name = "fengshu"  namespace = "/user"  extends = "struts-default" >
     
             <!--<action name="user"
                 class="com.fengshu.limanman.winssage.controller.LoginController">
                 <result name="success">/pages/index.jsp</result>
             </action>-->
         </ package >
    </ struts >



    4、建一个测试jsp在webapp/pages/index.jsp


    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <%@ page language="java" contentType="text/html; charset=utf-8"
         pageEncoding="utf-8"%>
    <! DOCTYPE  html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    < html >
    < head >
    < meta  http-equiv = "Content-Type"  content = "text/html; charset=utf-8" >
    < title >Insert title here</ title >
    </ head >
    < body >hello limanman
    </ body >
    </ html >



    5、写一个controller


    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    package  com.fengshu.limanman.controller;
     
    import  org.apache.log4j.Logger;
     
    import  com.opensymphony.xwork2.ActionSupport;
     
    public  class  LoginController  extends  ActionSupport {
         private  static  final  long  serialVersionUID = 1L;
         private  Logger log=Logger.getLogger( this .getClass());
         
         public  String  login() {
             log.info( "hello  i am limanman" );
             return  "succerss" ;
             
         }
     
    }



    6、配置struts2.xml


    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <? xml  version = "1.0"  encoding = "UTF-8"  ?>
    <! DOCTYPE  struts PUBLIC
         "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
         "http://struts.apache.org/dtds/struts-2.0.dtd">
    < struts >
         < package  name = "fengshu"  namespace = "/"  extends = "struts-default" >
     
             < action  name = "user"  class = "com.fengshu.limanman.controller.LoginController" >
                 < result  name = "success" >/pages/index.jsp</ result >
             </ action >
         </ package >
    </ struts >


    7、暂时注释掉pom.xml中的struts2-spring-plugin

    因为还没有整合spring,如果加入struts2-spring-plugin将会报空指针异常,整合spring后需要加入此jar包,下面将不再提及。


     

    8、配置jetty运行环境,开发的时候我们一般使用jetty服务器,而不用tomcat

    在pom.xml中加入jetty插件,并且配置根目录目录

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    < build >
             < plugins >
                 <!-- 配置加入jetty服务器,开发时我们一般使用jetty服务器 -->
                 < plugin

    你可能感兴趣的:(基于maven的ssh框架一步一步搭建(一))