Struts2

Posted echso。。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2相关的知识,希望对你有一定的参考价值。

 

  • 什么是struts2

    Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。

 

  • struts2的工作流程

    

 

 

 

  • struts项目的一般组件

 

 

 

  • 开发基本步骤

 

 

 

  • action=PoJo(实现Action接口或者继承ActionSupport类)

    action的配置常量返回值

      

     常用结果类型:

      

    参考:https://blog.csdn.net/int__double/article/details/83421250

     

 

  •  拦截器(实现Intercept接口)

重写以下三个方法:

     

 

 

    配置:  

<struts> 

    <package name="struts2" extends="struts-default"> 

        <interceptors> 

            <interceptor name="myInterceptor" class="xxx"></interceptor> 

        </interceptors>

        <action name="register" class="xxxAction"> 

            <result name="input">/register.jsp</result> 

            <result>/result.jsp</result>           

            <!-- 在自定义interceptor并将其ref时, 系统会覆盖掉默认的interceptor-stack(defaultStack), 为了保证系统默认的defaultStack不受印象, 我们需要显式的将其引入 --> 

            <!-- 注意两个interceptor-ref的顺序, 顺序不同, 执行效果也不同: 先配置的先执行/后配置的先退出(先进后出) --> 

            <interceptor-ref name="defaultStack"></interceptor-ref> 

            <interceptor-ref name="myInterceptor"></interceptor-ref> 

        </action> 

    </package> 

</struts>

  

  • 表示层技术
    • Struts2的标签库 
//在JSP中使用struts2标签时,需要使用以下代码引入标签库:
<%@ taglib prefix="s" uri="/struts-tags" %>

//Ajax 标签:
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>

  

    • OGNL(Object Ghaph Native Language=对象导航语言)  

参考:https://www.cnblogs.com/Vincent-yuan/p/10970993.html

 

  • struts2的校验

    

 

 

 

      字段型校验的配置方式

     

       非字段型校验的配置方式

      

     

 

    • 创建POJO(action)
    • 创建校验文件(xxxaction-validation.xml),如下

 

以上是关于Struts2的主要内容,如果未能解决你的问题,请参考以下文章

struts2怎么防止sql注入

struts2请求过程源代码分析

[struts2学习笔记] 第五节 编写struts2的action代码

Struts2 s2-032远程代码执行分析

S2-053:Apache Struts2远程代码执行漏洞(中危)

struts2 s2-062 ONGL远程代码执行