SSH配置文件

xiaoxiao2021-02-28  25

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>

总结

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

转载请注明原文地址: https://www.6miu.com/read-2150174.html

最新回复(0)