认识Struts2
来源:互联网 发布:淘宝发货地不一样处罚 编辑:程序博客网 时间:2024/06/11 07:30
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的语法规范是通过它约束的,每次都得从网上获取验证也可以下载本地配置好~如下图
1 0
- 认识Struts2
- Struts2认识
- 认识struts2
- struts2-认识struts2
- Struts2深入详解--- 认识Struts2
- struts2 初认识
- struts2的初步认识!
- Struts2 01.初步认识
- Struts2的认识
- 001-认识struts2框架
- Struts2初步认识
- struts2的认识
- 再次认识Struts2(一)
- 再次认识Struts2(二)
- 再次认识Struts2(三)
- 再次认识Struts2(四)
- Struts2拦截器初步认识
- struts2的运行环境认识
- 16 - 12 - 10 超时(Exceeding Time)问题 优化
- leetcode18:4Sum
- Visual Studio + CubeMX +GDB 开发STM32
- 文章标题
- align-content
- 认识Struts2
- Jade模板引擎教程
- WebSocket 是什么原理?为什么可以实现持久连接?
- Java 之字符串
- 拼接最小字典序 --字符串数组
- Ubuntu下编译linux、busybox、grub需要安装的包(持续更新)
- 【HIbernate框架学习】:Hibernate对象关系映射之单向一对多关联映射
- WebSocket
- 虚拟现实建模语言VRML