java三大框架概述
首先我们需要明白我们在做什么?有目的才有动力,学习才能更加清晰和轻松。
那么,什么是三大框架呢?
答:Struts+hibernate+spring
那么,他们是用来干什么的呢?主要作用是?
答:主要用于web应用,Struts负责表示层的显示,Spring的核心是IOC控制反转和AOP来处理控制业务,大多用于整合框架, Hibernate作为ORM,主要负责数据持久化到数据库。
那么,简单介绍下Struts框架?
答:struts是开源框架。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts将是一个不错的选择。
1,整合Struts框架,需要配置XML文件,即struts-config.xml。默认值 \WEB-INF\struts-config.xml。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 通过常量加载资源文件 -->
<constant name="struts.custom.i18n.resources" value="cn.itcast.config.msg"></constant>
<package name="user" extends="struts-default">
<!-- 【拦截器配置】 -->
<interceptors>
<interceptor name="loginCheck" class="com.UserCheckInterceptor"></interceptor>
<interceptor-stack name="myStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="loginCheck"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 【执行拦截器:第一种写法: 当前包下所有的acntion都执行myStack栈】
<default-interceptor-ref name="myStack"></default-interceptor-ref>
-->
<!-- 全局配置 -->
<global-results>
<result name="error">/error.jsp</result>
</global-results>
<action name="user_*" class="com.HelloAction" method="{1}">
<!--第二种写法: 只是在这一个Action中执行myStack栈
<interceptor-ref name="defaultStackt"></interceptor-ref>
<interceptor-ref name="loginCheck"></interceptor-ref>
-->
<!-- 第三种写法:执行用户栈(与第二种写法一样, 只在当前aciton中执行自定义栈) -->
<interceptor-ref name="myStack"></interceptor-ref>
<!-- 1. 登陆失败 -->
<result name="input">/login.jsp</result>
<!-- 2. 登陆成功 -->
<result name="loginSuccess" type="redirectAction">user_list</result>
<!-- 3. 列表展示 -->
<result name="list">/WEB-INF/list.jsp</result>
</action>
</package>
</struts>
除此之外,第一步还是先要导入Struts所需的jar包,
并在WEB.XML注册,如下:
2.hibernate配置文件
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 数据库连接信息 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/demo</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- session创建方式 -->
<property name="hibernate.current_session_context_class">thread</property>
<!-- 加载映射 -->
<mapping resource="com.bean.GoodsBean"/>
<mapping resource="com.bean.OrderBean"/>
<mapping resource="com.bean.OrderDetailBean"/>
<mapping resource="com.bean.OrderInfoBean"/>
<mapping resource="com.bean.UserBean"/>
</session-factory>
</hibernate-configuration>