Struts2_day01笔记

  1. Struts2_day01笔记

    1. 上次课内容回顾

  • Hibernate的查询的方式
    • OID检索
      • get或load方法进行的查询
    • 对象导航检索
      • linkman.getCustomer();
    • HQL检索
      • 用于接收hql语句进行查询,面向对象查询方式。
      • 通过session.createQuery(String hql);
        • 简单查询
        • 别名查询
        • 排序查询
        • 条件查询
        • 分组统计查询
        • 投影查询
        • 分页查询
        • 多表查询
    • QBC检索
      • 用于进行条件查询(Query By Criteria),更加面向对象的方式。
      • 通过session.createCriteria(Class clazz);
        • 简单查询
        • 排序查询
        • 分组统计查询
        • 分页查询
        • 条件查询
        • 离线条件查询
    • SQL检索
      • 用于接收sql进行查询。
      • 通过session.createSQLQuery(String sql);
  • Hibernate的抓取策略(优化)
    • 延迟加载
      • 类级别        在<class>上配置lazy属性
      • 关联级别    在<set>、<many-to-one>上配置的lazy属性
    • 抓取策略
      • Set上的fetch和lazy
        • fetch    :
          • select
          • join
          • subselect
        • lazy        :
          • true
          • false
          • extra
      • many-to-one上fetch和lazy
        • fetch
          • select
          • join
        • lazy
          • proxy
          • false
          • no-proxy
    • 批量抓取
  1. Struts2框架的学习路线

  • 第一天:Struts2的概述、Struts2的入门、Struts2常见的配置、Struts2的Action的编写
  • 第二天:Struts2的数据的封装、结果页面配置
  • 第三天:Struts2的值栈和OGNL表达式
  • 第四天:Struts2的标签库
  1. Struts2的概述

  1. Struts2的概述

    1. 什么是Struts2

  • Struts2是一个基于MVC设计模式的 WEB层框架
    • Struts2的内核相对于Struts1来讲已经发生巨大变化。
  1. 常见的web层框架

  • Struts2
  • Struts1
  • Webwork
  • SpringMVC
  1. Web层框架基于前端控制器模型设计

  1. Struts2的入门

  1. Struts2的入门

    1. 下载Struts2的开发环境

http://struts.apache.org/

  1. 解压Struts2开发包

  • apps        :Struts2提供的应用,war文件:web项目打成war包。直接放入到tomcat可以允许。
  • docs        :Struts2的开发文档和API
  • lib        :Strtus2框架的开发的jar包
  • src        :Struts2的源码
  1. 创建web项目,引入jar包

  • 引入jar包
    • struts-blank项目下找jar包

  1. 创建一个JSP页面

  1. 编写Action的类

  1. 对Action进行配置

  • 在src下创建(提供)名称叫做struts.xml的配置文件

  1. 配置前端控制器(核心过滤器)

  1. 改写Action中的方法的返回值

  1. 改写struts.xml

  1. 编写success.jsp

  1. Struts2的执行流程

  1. 分析Struts2的执行流程

    1. Struts2的执行流程

当用户访问某一个Action的时候,先经过核心过滤器,在核心过滤器中执行一组拦截器(这组拦截器实现部分功能),执行目标Action,根据Action的返回值,进行页面跳转。

  1. Struts2的常见配置

  1. XML的提示问题

    1. 配置XML的提示

  1. Struts2的配置文件的加载顺序(了解)

    1. Struts2的配置文件加载顺序

  • init_DefaultProperties()                ----加载default.properties
  • init_TraditionalXmlConfigurations();    ----加载struts-default.xml、struts-plugin.xml、struts.xml
  • init_LegacyStrutsProperties();            ----加载struts.properties
  • init_CustomConfigurationProviders(); ----加载配置提供类
  • init_FilterInitParameters() ; // [6]        ----加载web.xml中过滤器初始化参数
  • init_AliasStandardObjects() ; // [7]        ----加载Bean对象
  1. 加载顺序

  • default.properties
  • struts-default.xml
  • struts-plugin.xml
  • struts.xml
  • struts.properties
  • web.xml
    • 注意:后配置的常量的值会覆盖先配置的常量的值。
  1. Action的配置

    1. package相关配置

  • package标签称为包,这个包与Java中的包的概念不一致。包为了更好管理action的配置。
  • package标签的属性
    • name        :包的名称,只有在一个项目中不重名即可。
    • extends        :继承哪个包,通常值为struts-default。
    • namespace    :名称空间,与<action>标签中的name属性共同决定访问路径。
      • 名称空间有三种写法:
        • 带名称的名称空间        :namespace="/aaa"
        • 跟名称空间            :namespance="/"
        • 默认名称空间            :namespace=""
    • abstract        :抽象的,用于其他包的继承。
  1. action相关配置

  • action标签配置Action类。
  • action标签的属性
    • name        :与namespace共同决定访问路径
    • class            :Action类的全路径
    • method        :执行Action中的哪个方法的方法名,默认值execute
    • converter        :用于设置类型转换器
  1. 常量的配置

    1. Struts2的常量配置

在Struts2的框架中,提供了非常多的常量:(在default.properties)

  • struts.i18n.encoding=UTF-8            ----Struts2中所有的post请求的中文乱码不用处理。
  • struts.action.extension=action,,        ----Struts2请求的默认的扩展名。默认扩展名是.action或者什么都不写。

在Struts2中修改一些常量的值:

  • 修改常量的值,可以有三个位置进行修正
    • struts.xml中进行修改

    • struts.properties中进行修改

    • web.xml中进行修改

  1. 分模块开发的配置

    1. include的配置

  1. Action的访问

  1. Action的写法

    1. Action类是POJO的类

  1. Action类实现一个Action的接口

  1. Action类继承ActionSupport类

  1. Action的访问

    1. 通过method设置

  1. 通过通配符的方式进行配置(*****)

  1. 动态方法访问

  • 开启动态方法访问

  • 编写访问路径

  1. CRM的客户列表显示

  1. 搭建开发环境

    1. 创建web项目,引入jar包

  • Struts2
  • Hibernate
  1. 引入配置文件

  • Struts2
    • struts.xml
    • web.xml
  • Hibernate
    • 核心配置
    • 映射文件
    • 日志文件
  1. 创建数据库和表

CREATE TABLE `cst_customer` (

`cust_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)',

`cust_name` varchar(32) NOT NULL COMMENT '客户名称(公司名称)',

`cust_source` varchar(32) DEFAULT NULL COMMENT '客户信息来源',

`cust_industry` varchar(32) DEFAULT NULL COMMENT '客户所属行业',

`cust_level` varchar(32) DEFAULT NULL COMMENT '客户级别',

`cust_phone` varchar(64) DEFAULT NULL COMMENT '固定电话',

`cust_mobile` varchar(16) DEFAULT NULL COMMENT '移动电话',

PRIMARY KEY (`cust_id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

  1. 创建包结构

  1. 引入相应页面

  1. 代码实现

    1. 修改请求路径

  1. 编写Action、Service、DAO

  1. 配置Action

  1. 编写页面

 

 

猜你喜欢

转载自www.cnblogs.com/zghmzj/p/12945054.html