框架学习之struts2-01主要配置
来源:互联网 发布:java sleep释放锁吗 编辑:程序博客网 时间:2024/06/06 02:16
struts2基本流程
本文主要说明struts2的主要使用流程和主要配置
概述
struts2是一个基于MVC设计模式的开源框架,本质是一个servlet,在MVC设计模式中里属于控制层,它做到了将业务逻辑控制器和servlet的API分离核心原理?
1.当web应用在启动的时候,会扫描xml文件,由于配置了一个过滤器,这个在实例化的时候会自动扫描struts.xml文件里的配置信息存放到web容器中;
2.当有请求发生的时候,就会按照struts的工作原理处理请求
3..struts2工作原理图
4.原理解读
a. 在用户发送请求的时候会经过ActionMapper,找到映射的servlet
b. 此时的servlet将经过一系列的过滤器,直到FilterDispatcher过滤完成再将请求交给ActionProxy动态代理生成一系列的拦截器
c. 经过调用拦截器处理后的请求若没有问题继续调用目标处理方法完成数据的交互;否则返回input逻辑结果,并且在值栈中会产生错误信息,目标方法也不会被调用,并且必须处理这个逻辑结果
d. 数据完成交互,也会返回一个逻辑结果,返回给struts2去处理
- 如何使用?
配置流程
1).要想使用struts2框架来处理用户的请求,在web.xml中配置一个过滤器:
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
2)配置struts.xml文件(配置在src根路径下,主要配置) 这是struts2应用框架的总配xml文件,里面可以配置一些常量:比如编码格式、设计模式(开发模式或产品模式)等:
<constant name="struts.i18n.encoding" value="UTF-8" /> <constant name="struts.devMode" value="false" />
也可以用include标签,可以分不同层次来包含其他基于struts2的xml文件:
<include file="要包含的xml文件路径" />
2)具体配置(主要的配置) 配置一个package标签,一般配置的属性: name:包名(自定义) extends:继承的包名 namespace:命名空间(项目名之后,目标请求action名之前) 例如:localhost:8080/stuts2/manage/admin/loginForm
/manage/admin就是命名空间
配置action:
目标请求名action:name(虚拟映射的名字)
目标处理器:class(XxxAction继承ActionSupport的类)
目标处理方法:method(在目标处理器类中定义的方法,名字必须一致),如果没有确定的目标处理方法,那么将默认调用execute()方法进行处理
注意:action名和目标处理方法必须各自对应起来,并且名字要一样,包括大小写
<struts> <package name="management" extends="struts-default" namespace="/manage"> <action name="userLoginForm" class="sample.s2.web.action.UserAction" method="loginForm"> <result name="success" >/WEB-INF/jsp/manage/user-login.jsp</result> </action> </package></struts>
- 框架学习之struts2-01主要配置
- 框架学习之spring整合hibernate、struts2框架-01基础配置
- Activiti5工作流框架学习之Struts2+Hibernate+Spring整合配置
- javaee之struts2框架学习
- 框架学习之struts2-02其他配置、异常框架和国际化
- Struts2学习之package配置
- struts2学习之---配置Action
- 搭建SSH框架之配置Struts2
- 1. Struts2框架之配置详解
- Struts2框架之基本概述及配置
- Struts2的主要学习内容
- struts2框架学习笔记01
- struts2框架学习笔记01
- Struts2框架学习之路1
- Struts2学习之struts框架概述
- struts2框架学习之国际化资源
- struts2框架学习之国际化资源 (续)
- Struts2框架学习之OGNL表达式
- LintCode python 小白-简单题-548两数组的交Ⅱ
- Spring Boot 集成jsp、tomcat 时快时慢
- XYNU OJ 1101: 例题6-3 冒泡排序
- linux基本命令及操作10(虚拟机管理)
- 强制清除 gradle 依赖缓存
- 框架学习之struts2-01主要配置
- 爬虫实战6—分布式系统设计
- 西西里1007
- 利用 Jekyll + Github pages 搭建个人博客
- Go网络编程之net/http包执行流程源码分析
- D
- 前端面试题(1)
- 矩阵快速幂模板
- Spring@Autowired注解与自动装配