Sturts2复习笔记

Sturts2复习笔记

第二章
1.基于Struts2框架的web应用开发流程。

  1. 创建web项目.添加基于struts2框架所需要的jar包
  2. 创建Web项目的视图
  3. 创建业务控制类(Action)
  4. 创建struts2.xml
  5. 创建web.xml
  6. 发布web项目并测试

第三章、第四章

1. struts框架的工作原理;

  1. 发起请求
  2. 接受请求交给struts2的核心控制器
  3. 根据url查看struts.xml中的namespace+actionname
  4. 执行action类的对应方法
  5. 根据action方法中返回的结果返回到action的结果集中进行匹配
  6. 响应结果

2.配置struts.xml,配置文件的编写,理解各元素所包含的属性以及值的表示(如action的配置:如method);
package:
name(必须有):自定义但不能重复
namespace:命名空间,和url请求路径直接相关
extends:必须直接或间接继承struts-default
action:(url和处理类的方法进行映射)
name(必须有):不加后缀
class:处理类
method:处理请求的方法,默认为 excute();
result(默认为success 可自定义 值为跳转页面,不加/相对于namespace的路径)
name
type
3. struts框架中内置的result类型及其功能;
5个返回结果:
dispatcher(默认).
redirect,
redirectAction 重定向到Action
chain 处理链
4. Action接口所定义的字符串常量;
5个:SUCESS,
ERROR,
INPUT(表单校验,验证失败返回jsp页面),
NONE,
LOGIN

5. ActionSupport类的理解
ActionSupport类除了实现Action接口中的excute方法外,还提供了很多常用的方法,如 表单验证,异常处理,国家化,因此开发人员可以使用预先定义的常量,又可以很方便的实现业务控制器类.
6. 业务控制类的定义方式;
有三种:1.POJO无侵入式的实现(没有继承某个类,没有实现接口);
2.实现Action接口
可以直接使用Action提供的常量,但是必须默认重写方法
3.通过继承ActionSupport类来创建Action类
提供了struts2的校验,国际化,异常处理等很多功能
7.Struts控制类访问Servlet API(如session对象)的四种方法。
Struts2 框架中的Action 类没有与任何Servlet API 耦合,因此Action 类可以脱离Servlet 容器环境进行单元测试。当Action 类需要通过请求、会话或上下文存取属性时,可以通过以下四种方法实现:
1.ActionContext
修改Action类,通过ActionContext 获取请求、会话和上下文对象相关联的Map 对象来实现存取属性的功能
2.接口:RequestAware、SessionAware和ApplicationAware
修改Action类,通过实现Struts 提供的接口:RequestAware、SessionAware和ApplicationAware,获取请求、会话和上下文对象相关联的Map 对象来实现存取属性的功能
3.ServletContextAware、ServletRequestAware和ServletResponseAware
修改Action类,通过接口:ServletContextAware、ServletRequestAware、
ServletResponseAware 直接访问Servlet API
4.通过ServletActionContext 工具类直接访问Servlet API
前两周可以保持以上四种方法中,前两种可以保持Action 与Servlet API 的解耦,后两种Action 将与Servlet API 直接耦合。
第五章
1. 掌握OGNL表达式获取Action中的相关值的方法;
<s:property value=" "/>
访问非值栈 用parameters,session,request,application,attr,时要用#
2. ognl的集合操作;
创建表{“computer”,“phone”}
创建数组new int[]{1,2,3} new int[5]
创建Map #{“key1”:“value1”,“key2”:“value2”…}
返回所有领导名字:leaders.{name}
返回字符串类型的新元素列表
objec.{#this instanceof String?this:#this.toString()}
?,^,$ 分别代表选择所有 第一个 最后一个
返回所有年龄小于30的领导列表
leader,{?#this.age<30>}
3. ognl应用示例(如实验题:创建业务控制类OgnlAction,测试基本属性、基本方法、类对象、静态属性、静态方法、List列表、Set集合、Map映射等各种类型参数采用OGNL表达式获取的办法。)
第六章
1. 控制标签和数据标签分别有哪些?理解每一个标签的作用是什么?
数据标签:
properties <s:property value=“username " default=”“没有找到value输入的值”/>
Sturts2复习笔记
setSturts2复习笔记
bean创建javabean实例
param
debug 查看值栈内容 用于开发阶段
push 用于将值压入值栈
控制标签:
if elseif else
Sturts2复习笔记Sturts2复习笔记Sturts2复习笔记
iterator遍历集合 List Map 数组或枚举值
Sturts2复习笔记
Sturts2复习笔记
subset 获取迭代器的子集
sort 对列表元素进行排序
第七章
1. 资源文件的后缀名;
.properties
2. 什么是国际化,在Struts框架中如何应用国际化?
国际化,即让软件实现对多种语言的支持,可以通过简单的设置让软件支持的语言从一种切换到另一种。
使用Struts2框架实现国际化时,只要把对应资源放到指定位置,不用修改程序的主体,就可以对应新的语言要求
Sturts2复习笔记
Sturts2复习笔记
Sturts2复习笔记
Sturts2复习笔记
第八章
1.理解类型转换的本质;
HTTP中没有数据类型的概念,有数据都已字符串的形式存在,但是服务器端收到客户提交的数据后,要使用具体编程语言对数据进行处理,必须将接收到的内容转换成正确的数据类型.
2. 处理Map/List类型转换的案例分析(代码解读)

第九章
1. 简述拦截器的工作原理;
使用AOP(面向切面编程)设计思想实现的
Sturts2复习笔记
Sturts2复习笔记
2. 拦截器的使用方法。
Sturts2复习笔记
Sturts2复习笔记