认识Struts2

Struts2认识

什么是Struts2

MVC模式,充当控制器。

这里写图片描述

控制器:主要是控制发送请求~request(大部分是对数据的请求)给谁(处理业务的代码)和控制响应~response(大部分是“传输”数据)给谁(页面)。

对比(体现Struts2的优势)

以前公司是通过js里面的submit()来发送请求(增删查该数据),有个ctrl参数来指向请求发送给那块ctrl业务处理代码,业务处理代码处理后又把响应(结果)返回给页面。

当然Struts2肯定也要去寻找处理代码,然后给页面返回结果,但是struts有一个struts.xml文件,她的模式不是从js直接转到ctrl代码里,而是统一来这个文件里找(为啥会来这里呢?和struts的过滤器有关,后面会介绍)。

struts这样做有啥好处呢?显而易见,这样做更容易管理更加通用(可能多个请求要使用同一个ctl层代码),更容易维护(方便修改等)。

web.xml配置Struts2核心过滤器

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>
      <!-- 核心过滤器 ng=next generation-->
        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    </filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
      <!– url请求匹配规则 -->
        <url-pattern>/*</url-pattern>
    </filter-mapping>
过滤器版本:

  struts2.0.x到2.1.2版本的核心过滤器是FilterDispatcher
  struts2.1.3开始核心过滤器是StrutsPrepareAndExecuteFilter
  

  StrutsPrepareAndExecuteFilter可以把他拆分成StrutsPrepareFilter和StrutsExecuteFilter,可以在这两个过滤器之间加上我们自己的过滤器

过滤器配置:
  url-pattern:过滤action请求
  全匹配:/*或者*
  前缀匹配: /struts/*
  后缀匹配:*.action
  绝对匹配:/struts/login

struts2配置文件

<constant name="struts.devMode" value="true" /><!—修改struts.xml配置文件不用重启tomcat-->
<struts>
 <package name="firstStruts" extends="struts-default" namespace="/struts">
<action name="action1" class="com.hikvision.finance.business.login.action.LoginAction"></action>
<action name="action2" method="method2" class="com.hikvision.finance.business.login.action.LoginAction">
</action>
<!-- 动态方法调用 -->
<action name="action3!*" method="{1}" class="com.hikvision.finance.business.login.action.LoginAction">
</action>
<action name="action4" method="method4" class="com.hikvision.finance.business.login.action.LoginAction">
  <result name="login" type="dispatcher">/views/login.jsp</result>
</action>
</package>
</struts>

Struts2拦截器

拦截器 Interceptor,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前进行拦截,然后在访问之前或之后加入某些操作。

  拦截器栈就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,拦截器栈中的拦截器就会按其定义的顺序被依次调用。
Struts2的默认拦截器是struts-default,其他拦截器继承struts-default

struts语法规范约束

这里写图片描述

Structs.xml的语法规范是通过它约束的,每次都得从网上获取验证也可以下载本地配置好~如下图

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值