SSH配置文件

SSH配置文件

1.Struts主要处理的表示层,spring主要处理的是业务层,
2.Hibernate主要处理的是持久层(D层),但spring也有自己的SSH框架,所以我们就把hibernate整合到了Spring中


spring不仅仅知识业务逻辑层,他是一个容器,他控制这action,service,dao,通过他们来控制我们类之间的关系,在我们各层之间会发现没有new的关系就是因为我们把new的过程交给了spring容器所以减少了我们的耦合性,而hibernate起到的是映射关系,主要是有我们的dao层有关


Web配置文件

web配置文件相当于我们的车钥匙,只有有了车钥匙我们才可以跑起来啊,其实就是设置了监听我们的spring容器,和设置网页的过滤

    <!-- 1. 任何服务器都必须有web.xml,我们tomcat或者是jboss首先加载的是web.xml 2. 根据文件下的内容进行依次的加载 -->

    <!-- 配置spring核心监听器,整合的spring启动后spring容器监听器进行了注册-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- 1..根据classpath我们首先找到的是applicationContext.xml -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>


    <!-- 配置Struts2 的核心过滤器 ,根据过滤器我们来启动我们的Struts-->
    <filter>
        <!-- filter-name的意思是声明一个变量,在mapping的时候使用该名字 -->
        <filter-name>struts2</filter-name>
        <!-- 过滤器的类 -->
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <!-- 2...根据url我们第二次找到的是struts2.xml -->
    <!-- 元素过滤映射,映射servelt或一个url -->
    <filter-mapping>
        <!-- 过滤器名称,目的是通过名称统一找到过滤器处理类 -->
        <filter-name>struts2</filter-name>
        <!--*表是通配符, 所有的URl都会被解析为struts的过滤器 -->
        <!--*表是通配符,它代表的可以是静态页面也可以是动态的页面,这样无论是静态页面是动态的页面我们就配置一个就
        全部都实习了,这就是过滤的特点,过滤分为两种1是过滤可以用到定位,2通过过滤得到我们要的信息 -->
        <url-pattern>/*</url-pattern>
    </filter-mapping>



    <display-name>shop</display-name>
    <!-- 首页访问的页面 -->
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

application.xml 配置文件

application是spring的配置文件但是我们整合了hibernate因为我们spring本身就有ssh的机制,application的主要作用是事物管理,数据库方面的,另外一个是用了spring的容器,他里面存放了action,service,Dao,实现他们之间的交互


在spring容器有action和service。为什么有他们?因为我们实体了spring的IOc机制
控制反转:就是由容器控制程序之间的运行(依赖)(我们不用new了)
依赖注入:组件之间的依赖关系是有容器去决定的,由容器自动的把某种依赖注入到我们容器中

<!-- 配置连接池: -->
    <!-- 引入外部属性文件 -->
    <context:property-placeholder location="classpath:jdbc.properties" />
    <!-- 配置C3P0连接池: -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driver}" />
        <property name="jdbcUrl" value="${jdbc.url}" />
        <property name="user" value="${jdbc.user}" />
        <property name="password" value="${jdbc.password}" />
    </bean>

    <!-- Hibernate的相关信息 -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <!-- 注入连接池 -->
        <property name="dataSource" ref="dataSource" />
        <!-- 配置Hibernate的其他的属性 -->
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.connection.autocommit">false</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
            </props>
        </property>
        <!-- 配置Hibernate的映射文件 -->
        <property name="mappingResources">
            <list>
                <value>cn/itcast/shop/user/vo/User.hbm.xml</value>
            </list>
        </property>
    </bean>

    <!-- 事务管理: -->
    <!-- 事务管理器 -->
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <!-- 开启注解事务 -->
    <tx:annotation-driven transaction-manager="transactionManager" />

    <!-- Action的配置 =========================== -->

    <!-- 首页访问的Action -->
    <bean id="indexAction" class="cn.itcast.shop.index.action.IndexAction"
        scope="prototype">
    </bean>

    <!-- 用户模块的Action -->
    <bean id="userAction" class="cn.itcast.shop.user.action.UserAction"
        scope="prototype">
        <!-- 注入Service -->
        <property name="userService" ref="userService" />
    </bean>


    <!-- Service的配置 =========================== -->
    <bean id="userService" class="cn.itcast.shop.user.service.UserService">
        <property name="userDao" ref="userDao" />
    </bean>



    <!-- Dao的配置 =========================== -->
    <bean id="userDao" class="cn.itcast.shop.user.dao.UserDao">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

</beans>


Struts2.xml 配置文件

Struts2是结合Struts1和webwork的一个升级版,在稳定性以及性能等各个方面都比Struts1和webwork好,可谓集两者之所长。项目启动的时候是由Struts2来找到我们的action的类和方法进行与后台执行

 <!-- 全局的信息 -->
    <global-results>
       <result name="msg">/WEB-INF/jsp/msg.jsp</result>    
    </global-results>

    <!-- 配置首页访问的Action -->
    <action name="index" class="indexAction">
        <result name="index">/WEB-INF/jsp/index.jsp</result>
    </action>

    <!-- 配置用户模块的Action -->
    <action name="user_*" class="userAction" method="{1}">
        <!-- 注册页面 -->
        <result name="registPage">/WEB-INF/jsp/regist.jsp</result>
        <result name="input">/WEB-INF/jsp/regist.jsp</result>
        <result name="loginPage">/WEB-INF/jsp/login.jsp</result>
        <!-- 登录页面 -->
        <result name="login">/WEB-INF/jsp/login.jsp</result>
        <!-- 登录成功回到首页 -->
        <result name="loginSuccess" type="redirectAction">index</result>
        <!-- 退出回到首页 -->
        <result name="quit" type="redirectAction">index</result>  
        <!-- 验证码失败,调到注册页面 -->
        <result name="checkcodeFail">/WEB-INF/jsp/regist.jsp</result>

    </action>

    <!--验证码Action -->
    <action name="checkImg" class="checkImgAction"></action>

总结

理解都还是很浅显的一些东西,还有很多需要深入挖掘的,只有更好的理解了配置文件才知道整个框架是如何的,还需要进一步的去理解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王雪芬-ghqr-264962

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值