【SSH网上商城】——框架

   刚刚开始敲网上商城,首先,对于编程工具的转换不是很适应,幸好之前使用Eclipse维护了ITOO,所以到Myeclipse还是觉得没有太大跨度的。其次,就是对于框架的各种不理解呀,一条线也要看着视频来回好几遍。

    今天我们就来学习一下SSH网上商城的框架吧。SSH为struts+spring+hibernate的一个集成框架。我们一个一个的说。

一、Struts

    Struts是基于JavaEE的MVC框架。对于Struts和Struts2的区别,只知道Struts2采用拦截器处理用户请求,从而使得业务逻辑控制器和ServletAPI脱离开,使编程更加灵活。刚刚接触,在此不过多阐述了。

    web.xml配置了Struts2的核心过滤器和Spring的核心监听器,感觉这是最基础的。

    

	<!-- 配置Spring的核心监听器 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	<context-param>
 	<param-name>contextConfigLocation</param-name>
 	<param-value>classpath:applicationContext.xml</param-value>
 </context-param>
	
	
	 <!-- 配置Struts2的核心过滤器 -->
	 <filter>
	 	<filter-name>struts2</filter-name>
	 	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	 </filter>
	 
	 <filter-mapping>
	 	<filter-name>struts2</filter-name>
	 	<url-pattern>/*</url-pattern>
	 </filter-mapping>

    struts.xml中配置了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">/WEB-INF/jsp/regist.jsp</result>
    		<result name="checkcodeFail">/WEB-INF/jsp/regist.jsp</result>
    	</action>

  这里研究还不是很深入,只是知道简单的配置。就不多说了。

二、Spring

    对于spring的概念,在.net版的ITOO中就接触过了。这里给大家引入IOC(Inversion of Control),就是控制反转。

    (1)谁控制谁,控制什么:一直以来,我们直接new一个创建对象,这是程序主动去创建依赖对象;而IOC是有专门一个容器来创建这些对象,即由Ioc容器来控制对象的创建;谁控制谁?当然是IoC 容器控制了对象;控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)。
  (2)为何是反转,哪些方面反转了:有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象;为何是反转?因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取被反转了。

    简而言之:原来我们自己new对象,现在我们用对象的时候自动送到我们跟前。

    这里体现了一个“好莱坞原则”:别找我们,等我们找你。


三、Hibernate 

   百度百科Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

    (1)Hibernate是对JDBC的进一步封装。就是Hibernate和数据库有关系,对数据库有操作。

    (2)Hibernate是一个开放源代码的对象关系映射框架。它在对象和数据库之间做了一个映射,我们在对数据库进行操作时只需操作对象就可以了。

    (3)完成持久化重任。JDBC本身就是一种持久化机制。所以持久化也是强调使用Hibernate来做数据库交互。 

    此外,Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。在JAVA中用得最多获取session的方法就是SessionFactory。SSH网上商城用DAO层的类继承HibernateDaoSupport类。

    application.xml里面进行了一下配置:

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

刚刚接触,不当之处,还请指点!

 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值