A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小鲁哥哥 于 2017-12-14 13:12 编辑

『黑马程序员济南』JavaEE就业笔记串讲--Struts2框架-part1



一、 框架概述
什么是框架,为什么使用框架,框架优点
    框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题
    框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。
    框架是在特定的领域内解决问题。
优点
    重用代码大大增加,软件生产效率和质量也得到了提高
    使用框架开发,它提供统一的标准,大大降低了我们的后期维护。


二、 java开发中常用框架
    SSH   (SSM  SSI)
    SSH  struts2  spring  hibernate
    SSM(SSI) springmvc spring mybatis(ibatis)


三、 Struts2框架介绍
什么是struts2框架,学习struts2框架的核心。
    Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互
Struts2=struts1+webwork
    核心点:
        1.拦截器 interceptor
        2.Action
        3.ognl与valueStack

四、 Struts2框架执行流程
1. 关于struts.xml配置文件中提示问题
第一步
    在eclipse的window下首选面中查找xml catalog
第二步
    Location:配置本地的dtd文件路径
    key type:选择URI
    Key: http://struts.apache.org/dtds/struts-2.3.dtd
    注意版本要对应,如果你可以上网,那么会自动缓存dtd,具有提示功能。
2. 执行流程介绍
    1.当通过浏览器发送一个请求
    2.会被StrutsPrepareAndExecuteFilter拦截
    3.会调用strtus2框架默认的拦截器(interceptor)完成部分功能
    4.在执行Action中操作
    5.根据Action中方法的执行结果来选择来跳转页面Resutl视图
        一般管StrutsPrepareAndExecuteFilter 叫做前端控制器(核心控制器),只有配置了这个filter我们的strtus2框架才能使用。
        Strtus2的默认拦截器(interceptor)它们是在struts-default.xml文件中配置
        注意:这上xml文件是在strtus-core.jar包中。


五、 Struts2配置详解
1. Struts2配置文件加载顺序
    第一个加载的是default.properties文件
        位置:strtus2-core.jar包   org.apache.struts2包下
        作用:主要是声明了struts2框架的常量
    第二个加载的是一批配置文件
        Strtus-default.xml
          位置:struts2-corl.jar
          作用:声明了interceptor  result  bean
       Strtus-plugin.xml
           位置:在strtus2的插件包中
           作用:主要用于插件的配置声明
       Strtus.xml
           位置:在我们自己的工程中
           作用:用于我们自己工程使用strtus2框架的配置
    第三个加载的是自定义的strtus.properties
           位置:都是在自己工程的src下
           作用:定制常量
    第四自定义配置提供
    第五加载的是web.xml配置文件
         主要是加载strtus2框架在web.xml文件中的相关配置.
    第六 bean相关配置
2. struts.xml文件配置介绍
   2.1. package配置
           1.name属性  作用:定义一个包的名称,它必须唯一。
           2.namespace属性 作用:主要是与action标签的name属性联合使用来确定一个action        的访问路径
           3.extends属性 作用:指定继承自哪个包。一般值是strtus-default
                strtus-default包是在strtus-default.xml文件中声明的。
           4.abstruct属性 它代表当前包是一个抽象的,主要是用于被继承
2.2. action配置
           1.name属性 作用:主要是与package的namespace联合使用来确定一个action的访问路        径
           2.class属性  作用:用于指示当前的action类
           3.method属性  作用:用于指示当前的action类中的哪个方法执行
2.3. result配置
      它主要是用于指示结果视图
           1.name属性 作用是与action类的method方法的返回值进行匹配,来确定跳转路径
           2.type属性 作用是用于指定跳转方式
2.4. 扩展
      关于action配置中的class与method的默认值以及result中的name与type 默认值问题
      原因:strtus-default.xml文件中配置
     ActionSupport类中的execute方法。
        在这个类的execute方法中默认返回的是”success”
        也就是说,result的name属性默认值是success,默认的跳转方式是请求转发 dispatcher
3. 常量配置
    default.properties文件中定义了struts2框架常用常量 .
         问题:我们怎样可以定义常量
           1.可以在src下创建一个strtus.properties配置文件
           2.可以在web.xml文件中配置
           3.可以直接在strtus.xml文件中定义常量 (推荐)

六、 Struts2的Action详解
我们action是在strtus.xml文件中配置<action>,我们创建的action它就是一个pojo类。
POJO(Plain Ordinary Java Object)简单的Java对象
pojo类就是一个没有实现任何接口没有继承任何类的简单的java类。
对于action学习,我们主要有三点:
   1.如何可以创建一个action类
   2.如何访问一个action
   3.关于action它在strtus2框架中它的作用是什么

七、 Struts2框架封装数据
主要有两种方式:
1.属性驱动
   a.直接在action类中提供与请求参数匹配属性,提供get/set方法
   b.在action类中创始一个javaBean,对其提供get/set ,在请求时页面上要进行修改,          例如 user.username  user.password ,要使用ognl表达式
   以上两种方式的优缺点:
   第一种比较简单,在实际操作我们需要将action的属性在赋值给模型(javaBean)        去操作
   第二种:不需要在直接将值给javaBean过程,因为直接将数据封装到了javaBean        中。它要求在页面上必须使用ognl表达式,就存在页面不通用问题。
2.模型驱动
步骤:
   1.让Action类要实现一个指定接口ModelDriven
   2.实例化模型对象(就是要new出来javaBean)
   3.重写getModel方法将实例化的模型返回。

点进这个帖子的同学肯定是要奋发图强,学技术拿高薪的有志青年,这里我看你骨骼惊奇,是个绝世的练武奇才,你我有缘,今天我就把这个武林秘籍如来神掌传授于你! 什么?不想学如来神掌?不要紧!这里有各个门派的武林绝学,链接拿好!!哈哈哈哈

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马