Struts2导图

Struts2导图

Struts2概述

struts2在用户请求和模块化处理方面以及页面的展现这块发挥着重要的作用,相对于传统的JSP+Servlet模式,Struts2更适合企业级团队开发,方便系统的维护。

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

Struts2系统的搭建

struts2的通用组件包

拦截用户请求交给Struts2处理

分发的核心处理器

struts.xml配置文件

result的配置

例如jsp调用ra方法,在Action中返回ra然后根据result的name返回值确定返回的页面

ActionSupport类

还有一种是Action类

用户发送一个请求通过Struts2处理返回页面

请求hello 

如果返回的是success则跳转到helloWorld.jsp页面

Action设置数据

get/set自动设置数据,拦截器的功能

用form方式提交数据

自动set值

struts2的属性驱动

具体业务逻辑

根据不同情况跳转到不同页面

struts2的模型驱动

自动赋值 

使用javaBean的方式绑定数据

UserAction2

直接判断不用get/set

可以同时设置多个javaBean

通过getModel不用再get/set user了

传递多个值

分模块

student_list就调用student的list方法

取第一个通配符的方法

通配符

动态方法调用

不安全容易发生sql注入

Action的声明周期

struts每次请求都会实例化一个新的对象,数据更加安全

Struts2的拦截器

预定义拦截器

初始化的时候调用 销毁的时候调用 

拦截功能

登录拦截器

struts2获取session

拦截器栈 

默认包下的所有action都是用拦截器栈里定义的拦截器

登录

值栈与OGNL

值栈

值栈中设置数据

OGNL

访问复杂对象

访问静态方法

设置运行访问静态方法

Struts2标签

数据标签

控制标签

排序

截取

国际化

中文用unicode编码

参数

Struts2验证框架

内置验证

  

RegisterAction-validation.xml

自定义拦截器

过滤敏感词汇

ValidationAction-validation.xml

struts.xml

Struts2文件上传

文件大小与类型

大文件上传

上传文件大小

多文件上传

文件下载

防止重复提交

tokenSession拦截器防重复提交

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/93702140