`
墨香子
  • 浏览: 47213 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用maven配置的ssh框架

阅读更多
    学习maven中,使用maven创建搭建了一个ssh框架,使用maven对ssh框架并没有什么影响,使用maven主要是用来管理jar包及它的各种依赖关系,写个ssh框架的程序员们应该都有体会,ssh框架的jar包非常多,不知道就出现了版本冲突什么的。使用maven就可以轻松的管理jar包及其依赖了,如果在eclipse中安装maven插件,就可以很容易看到jar包的依赖关系了。这里留下我搭建好ssh框架的pom.xml文件供以后使用参考。
    由于没有安装数据库,使用了apache的一个非常轻量级的derby数据库,添加了dwr的支持和对密码加密的commons-codec,添加了junit4进行单元调试。pox.xml:
<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>zwh.struts.maven</groupId>
    <artifactId>Struts_Spring_Maven</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>Struts_Spring_Maven Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <!-- junit4用来进行单元测试 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <!-- struts2的核心包,其依赖包会自动下载 -->
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.3.7</version>
        </dependency>
        <!-- struts2与spring的整合插件 -->
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-spring-plugin</artifactId>
            <version>2.3.7</version>
        </dependency>
        <!-- spring的核心包,其他依赖包会自动下载 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>3.0.5.RELEASE</version>
        </dependency>
        <!-- 使用spring的aop,aop要依赖aspectjweaver -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>3.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.7.1</version>
        </dependency>
        <!-- log4j日志记录 -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
        </dependency>
        <!-- 使用这里的工具类对字符串进行MD5加密 -->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.7</version>
        </dependency>
        <!-- 
            对action测试时添加这些依赖,但无法处理session的模拟,参考文章如下:
            http://struts.apache.org/2.2.1.1/docs/struts-2-junit-plugin-tutorial.html
            http://struts.apache.org/2.2.1.1/docs/junit-plugin.html
            http://blog.sina.com.cn/s/blog_4758a28b0100l2tp.html
         -->
         <!-- 
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-junit-plugin</artifactId>
            <version>2.3.7</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.4</version>
        </dependency>
         -->
        <!-- dwr的jar包 -->
        <dependency>
            <groupId>org.directwebremoting</groupId>
            <artifactId>dwr</artifactId>
            <version>2.0.10</version>
        </dependency>
        <!-- derby数据库,这里还包含了它的jdbc驱动 -->
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
            <version>10.9.1.0</version>
        </dependency>
        <!-- hibernate的核心包,使用hibernate4时报错就改用了hibernate3 -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>3.3.1.GA</version>
        </dependency>
        <!-- spring整合hibernate需要添加上spring的orm的jar包, 由于spring-orm是
              依赖于spring-jdbc的, 所以这里即使不配spring-jdbc,maven也会帮我们
              下载下来这些依赖
         -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>3.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>3.0.5.RELEASE</version>
        </dependency>
        <!-- hibernate-core依赖于slf4j-api,而slf4j-api需要一个实现类,这个
                实现类jar可以是slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, 
            slf4j-jdk14.jar ,logback-classic.jar其中之一 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.5.2</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>Struts_Spring_Maven</finalName>
    </build>
</project>


我的spring配置文件applictionContext.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:aop="http://www.springframework.org/schema/aop"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    http://www.springframework.org/schema/aop 
    http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
     
    <!-- derby创建用户名和密码参考:http://www.joyzhong.com/archives/643 -->
    <bean
        id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
            <value>org.apache.derby.jdbc.EmbeddedDriver</value>
        </property>
        <property name="url">
            <value>jdbc:derby:f:/zwh/mydb2</value>
        </property>
        <property name="username">
            <value>root</value>
        </property>
        <property name="password">
            <value>root</value>
        </property>
    </bean>
    <bean
        id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource"/>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect"> org.hibernate.dialect.DerbyDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
            </props>
        </property>
        <property name="mappingResources">
            <list>
                <value>zwh/struts/maven/po/User.hbm.xml</value>
            </list>
        </property>
    </bean>
    <bean
        id="userDao"
        class="zwh.struts.maven.dao.impl.UserDaoDerbyImpl">
        <property name="sessionFactory">
            <ref bean="sessionFactory"/>
        </property>
    </bean>
    <bean
        id="userService"
        class="zwh.struts.maven.service.impl.UserServiceImpl">
        <property name="userDao">
            <ref bean="userDao"/>
        </property>
    </bean>
    <bean
        id="loginAction"
        class="zwh.struts.maven.action.LoginAction"
        scope="prototype">
        <property name="userService">
            <ref bean="userService"/>
        </property>
    </bean>
    <bean
        id="serviceAdvice"
        class="zwh.struts.maven.aop.ServiceAdvice"></bean>
    <bean
        id="daoAdvice"
        class="zwh.struts.maven.aop.DaoAdvice"></bean>
    <aop:config>
        <aop:aspect
            id="serviceAdviceAspect"
            ref="serviceAdvice">
            <!-- around和before之间,around和after之间,谁配置在前面谁首先被执行 -->
            <aop:before
                pointcut="execution(* zwh.struts.maven.service.impl.*.*(..))"
                method="before"/>
            <aop:after-returning
                pointcut="execution(* zwh.struts.maven.service.impl.*.*(..))"
                method="afterReturning"
                returning="rvt"/>
            <aop:after
                pointcut="execution(* zwh.struts.maven.service.impl.*.*(..))"
                method="after"/>
            <aop:around
                pointcut="execution(* zwh.struts.maven.service.impl.*.*(..))"
                method="around"/>
        </aop:aspect>
        <aop:aspect
            id="daoAdviceAspect"
            ref="daoAdvice">
            <aop:after-returning
                pointcut="execution(* zwh.struts.maven.dao.impl.*.*(..))"
                method="afterReturning"
                returning="rvt"/>
        </aop:aspect>
    </aop:config>

</beans>


struts.xml文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">
    
<struts>
    <!-- 
    -->
    <constant name="struts.action.excludePattern" value="/dwr/.*,/dwr/test/.*"></constant>
    <constant name="struts.custom.i18n.resources" value="mess"></constant>
    <constant name="struts.i18n.encoding" value="GBK"></constant>
    <constant name="struts.objectFactory" value="spring"></constant>
   
    <package name="test" extends="struts-default">
        <global-results>
            <result name="error" type="redirect">/failure.jsp</result>
            <result name="failure" type="redirect">/failure.jsp</result>
        </global-results>
        
        <action name="login" class="loginAction">
            <result name="success">/welcome.jsp</result>
            <result name="error" type="redirect">/failure.jsp</result>
        </action>
        
    </package>
</struts>


dwr.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
  <allow>
         <!-- -->
        <create creator="spring" javascript="CheckInServer">
            <param name="beanName" value="userService"></param>
            <include method="check"/>
        </create>
  </allow>

</dwr>



web.xml文件:
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
    <display-name>Archetype Created Web Application</display-name>
    
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <!-- 配置Struts中心过滤器 -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        <init-param>
            <param-name>actionPackages</param-name>
            <param-value>zwh.struts.test.action</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <!-- 配置spring监听 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!-- 配置dwr的控制器-->
    <servlet>
        <servlet-name>dwr</servlet-name>
        <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>true</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>dwr</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>


    <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
    </welcome-file-list>
</web-app>
分享到:
评论

相关推荐

    maven整合SSH框架,ehcache搭建,可直接运行导入运行

    整合SSH框架意味着在Maven项目中配置Struts2、Spring和Hibernate的依赖,以及相应的插件和配置文件。Struts2提供MVC模式的前端控制,Spring负责依赖注入和事务管理,Hibernate则处理对象关系映射,实现数据库操作。 ...

    maven 构建最新ssh框架整合

    3. **配置SSH框架**:这包括在web.xml中配置Struts2的前端控制器,Spring的ApplicationContext,以及Hibernate的SessionFactory。 4. **编写业务逻辑**:根据需求,实现Model、Service和DAO层的代码。 5. **编写视图...

    Ecplise+Maven搭建SSH框架

    在IT行业中,SSH(Struts2、Spring、Hibernate)是一个非常...这个过程中涉及的知识点包括Maven的使用、SSH框架的原理与配置、以及Java Web开发的基本流程。学习并掌握这些内容,将有助于提升你在Java领域的专业技能。

    maven配置最新SSH框架

    所以本人使用maven搭建的最新SSH框架。 齐全的代码注释,完整的hibernate通用方法封装。商业代码的规范。配置好了log4j,并且呢给出一个简单的注册实例。可以说这完全是一个商业项目的基础框架。并且也适合初学者...

    maven搭建SSH框架源码

    现在我们将深入探讨如何使用Maven来搭建一个基于SSH框架的项目。 首先,创建一个新的Maven项目。在IDE如IntelliJ IDEA或Eclipse中,选择“New -&gt; Maven Project”,填写项目的基本信息,包括GroupId(通常代表公司...

    基于Maven的SSH框架搭建

    在这个基于Maven的SSH框架搭建实例中,我们将探讨如何利用这些框架以及Maven构建工具来搭建一个完整的Web项目。 首先,Spring框架是核心,它提供了依赖注入(DI)和面向切面编程(AOP)的功能,以实现松耦合和更好...

    Maven-SSH框架搭建

    在Maven环境中搭建SSH框架,你需要先配置项目的pom.xml文件,引入所需的依赖。对于Struts2,Spring和Hibernate,你需要指定它们的版本号。例如: ```xml &lt;groupId&gt;org.apache.struts &lt;artifactId&gt;struts2-core...

    maven 搭建SSH框架(带Source)

    3. **配置SSH框架**:接着,我们需要配置各个框架的配置文件。对于Struts,这通常包括struts.xml;对于Spring,有 applicationContext.xml 用于配置IoC容器,以及 spring-struts.xml 用于整合Struts;对于Hibernate...

    eclipse+maven +ssh

    在搭建SSH框架时,首先,我们需要在Eclipse中创建一个Maven项目,配置pom.xml文件引入SSH框架和其他必要的依赖。然后,按照MVC设计模式划分项目结构,包括模型(Model)、视图(View)和控制器(Controller)三层。...

    构建基于Maven的SSH原型项目

    3. **配置SSH框架**:为Struts2、Spring和Hibernate设置相应的配置文件,如struts.xml、spring-context.xml、hibernate.cfg.xml,定义动作、bean和数据源等。 4. **设计模型(Model)**:创建Java类作为数据模型,...

    Maven ssh整合框架

    Maven可以整合SSH框架,将它们一起用于Java Web开发。首先,通过Maven的依赖管理引入SSH相关的jar包;然后,在pom.xml文件中配置项目的构建过程,如编译源码、运行测试、生成war或ear文件;接着,可以使用Spring的...

    maven简单ssh框架

    在“maven简单ssh框架”项目中,可能包含以下关键组件: 1. **pom.xml** - Maven的配置文件,定义了项目依赖、构建目标和其他元数据。 2. **src/main/java** - 存放源代码,包括Struts2的Action类、Spring的配置和...

    maven整合ssh案例

    Maven整合SSH案例 ************************************************************************************* 注意:运行前请配置Maven环境,和修改config.properties中数据库名称用户和密码,并且修改Tuser中的...

    maven整合ssh框架、ehcache搭建、可直接运行导入运行

    1. **配置POM.xml**:首先,你需要在项目的POM.xml文件中添加SSH框架以及Maven的相关依赖。这些依赖包括Spring的核心库、Struts2的核心库、Hibernate的JPA支持以及其他必要的库如log4j等。Ehcache的依赖也需要在这里...

    maven整合SSH框架

    在Maven配置中,我们需要引入Spring的核心库: ```xml &lt;groupId&gt;org.springframework &lt;artifactId&gt;spring-context &lt;version&gt;5.3.13 &lt;groupId&gt;org.springframework &lt;artifactId&gt;spring-webmvc &lt;version&gt;...

    Maven下ssh项目框架搭建

    本教程将详细介绍如何在Maven下利用注解方式搭建SSH框架。 首先,我们需要了解SSH框架的组成部分: 1. Spring:这是一个全面的企业级应用开发框架,提供IOC(Inversion of Control,控制反转)和AOP(Aspect-...

    maven整合SSH框架、 ehcache搭建、 可直接运行导入运行

    在本项目中,“maven整合SSH框架”意味着开发者已经将这三个框架集成到一个Maven项目中,使得它们能够协同工作。这通常涉及到在pom.xml文件中添加相应的依赖,配置各个框架的配置文件(如struts.xml、spring-context...

    用基于Maven的SSH框架写的宿舍管理系统

    这个“用基于Maven的SSH框架写的宿舍管理系统”是一个利用这些框架构建的完整应用实例,旨在解决高校或住宿机构的宿舍管理问题。 1. **Struts2**:作为MVC(模型-视图-控制器)架构的一部分,Struts2负责处理HTTP...

    MAVEN+SSH简单项目demo实例

    总结,这个"MAVEN+SSH简单项目demo实例"旨在帮助初学者理解SSH框架的整合以及Maven在项目管理中的作用,通过实际操作,加深对Java Web开发流程的理解。通过学习这个实例,开发者可以掌握如何在现代开发环境中构建、...

Global site tag (gtag.js) - Google Analytics