一、Struts2简介
1、Servlet PK Filter
2、半成品,提高开发效率
3、Struts2=struts+WebWork
二、搭建开发环境
1、拷贝jar包
2、在构建路径的顶端建立struts.xml的配置文件
3、配置过滤器:(很多人会忘记)
三、第一个案例:
用户发出请求:地址以action或者不写。默认的
编写配置文件:指定动作、动作类、动作方法、结果视图
编写动作类和动作方法
四、执行过程
图
五、Struts2的配置
1、配置文件和加载顺序
default.properties struts-core-.jar org.apache.struts包
struts-default.xml struts-core-.jar
sturts-plugin.xml 插件中
struts.xml 构建路径顶端 推荐
struts.properties 构建路径顶端
web.xml
2、constant常量配置
熟悉常用常量
3、package元素
name:唯一
extends:struts-default
namespace:小难度
abstract:没有action子元素的包可以声明为抽象包
4、action元素
name:动作名称。用户用于请求
class:动作类的全名。默认值:ActionSupport
method:动作方法名称。默认值:execute
六、动作类的书写
1、POJO
2、实现Action接口
SUCCESS
ERROR
LOGIN
INPUT
NONE
3、继承ActionSupport(推荐)
七、动作方法
public String XXX(){}
不返回任何的视图,返回null或none字符串。
八、动作的请求
1、使用通配符* {1}
2、DMI动态方法调用 action!m1
默认是关闭的
九、在动作中访问ServletAPI
方式一:ServletActionContext静态方法(推荐)
方式二:动作类实现XXXAware接口
是由一个拦截器负责注入的,servletConfig
一、结果视图
a、局部视图:
b、全局视图:
多个动作对应同一个视图
2、result元素的配置:
属性:
name:逻辑视图名称。它对应的是动作方法的返回值。默认值:success。
type:到达目标的形式。默认值:dispatcher。转发。
3、Struts2提供的结果类型(result type属性)
在struts-default.xml中有定义
chain:用户转发到另外一个动作。
chain:用户转发到另外一个动作。
转发到不同名称空间中的另外一个动作
dispatcher:用于转发到另外一个JSP页面。
freemarker:用于转发到另外一个freemarker模板。(页面静态化)
velocity:用于转发到另外一个velocity模板。
httpheader:用于输出http协议的消息头。
xslt:XML有关的样式
redirect:用于重定向到另外一个JSP页面。
redirectAction:用于重定向到另外一个动作。
stream:用于文件下载(日后再讲。文件上传和下载)
plainText:以纯文本的形式展现页面。输出源码。
4、自定义结果视图
随机验证码图片
2、自定义结果视图步骤
a、编写一个类,直接或间接实现com.opensymphony.xwork2.Result接口。一般继承org.apache.struts2.dispatcher.StrutsResultSupport类
b、声明结果类型,然后才能使用
c、使用
二、封装请求参数(特别重要)
1、方式一:
用Action动作类作为模型对象。
2、方式二:动作类和模型分开(推荐)
2.1动态参数注入:(请求参数,用户输入的)
1、方式一:
用Action动作类作为模型对象。
2、方式二:动作类和模型分开(推荐)
模型:
动作:
3、方式三:(面试题,推荐)动作和模型分开
模型驱动:ModelDriven
模型:
原因:与Struts2的值栈有关
该功能是由一个叫做modelDriven的拦截器完成的。
2.2静态参数注入
2.3动态参数和静态参数注入功能实现(知道)
是由两个拦截器来完成。
静态参数注入:staticParams
动态参数注入:params
三、学生的注册案例
四、类型转换
五、输入验证