struts2粗略总结
来源:互联网 发布:bae 数据库 编辑:程序博客网 时间:2024/06/05 11:22
Struts-core-2.x.x.jar : Struts 2 框架的核心类库
xwork-2.x.x.jar : XWork类库,Struts 2 在其上构建
ognl-2.6.x.jar : Object Graph Navigation Language , Struts 2 框架通过其读写对象的属性。
freemarker-2.3.x.jar : Struts 2 的UI标签的模版使用 Freemarker编写。
commons-logging-1.1.x.jar : ASF出品的日志包。
commons-fileupload-1.2.1.jar : 文件上传组件。
一、struts2由来:
struts2 和struts 1代码风格几乎不一样 ,因为Struts 2是在WebWork2基础发展而来的,虽说是在WebWork2基础发展而来,但实际是被收购的,所以与struts1代码风格不一样。
二、struts2的核心:
struts2的核心是拦截器(过滤器)
Struts 2 框架的绝大部分功能是通过拦截器来完成的,当FilterDispatcher拦截到用户请求后,大量拦截器将会对用户请求进行处理,然后调用用户
拦截器的配置:自定义的Action 类中的方法来处理请求
在struts.xml文件中来定义的,使用<interceptor.../>元素,格式如下:
<interceptor name = "拦截器名" class = "拦截器实现的类"> <param name = "参数名">参数值</param> </interceptor>其中<param.../>可以省略,但在有的时候就需要为其传入拦截器参数。
有时候一个Action要配置不只一个拦截器,往往多个拦截器一起使用来进行过滤。这时候就要配置几个拦截器组成的拦截器栈。定义拦截器栈用
<interceptor-stack.../>,格式如下:
<interceptor-stack name = "拦截器栈名"> <interceptor-ref name = "拦截器一"></interceptor-ref> <interceptor-ref name = "拦截器二"></interceptor-ref> <interceptor-ref name = "拦截器三"></interceptor-ref> </interceptor-stack>
注意:在配置拦截器栈时,用到的拦截器必须是已经存在的拦截器。拦截器栈也可以引用拦截器栈。
配置web.xml文件拦截器(在Struts 2中,Struts框架是通过Filter启动的,他在web.xml中的配置如下):
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee ;http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 配置拦截器 --> <filter> <filter-name>struts</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts</filter-name> <url-pattern>/*</url-pattern> </filter-mapping></web-app>
配置struts.xml:(Struts.xml是 Struts 2 的核心配置文件,主要用于配置开发人员编写的action):
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.devMode" value="true"></constant> <package name="struts" extends="struts-default"> <!-- 声明拦截器 --> <interceptors> <interceptor name="my" class="com.sc.lanjieqi.LanJieQi"></interceptor> </interceptors> <action name="login" class="com.sc.action.YongHuCaoZuoAction"> <!-- 调用拦截器 ,调用滴定仪拦截器后必须调用defaultStack拦截器--> <interceptor-ref name="my"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> <result>/success.jsp</result> <result name="err">/err.jsp</result> <result name="xiugai">/xiugai.jsp</result> <result name="denglu">/index.jsp</result> </action> </package> </struts>
配置struts2.xml时:
注意:
result中的name属性有下:
1、success : 表示请求处理成功,该值也是默认值。
2、error :表示请求处理失败。
3、none :表示请求处理完成后不跳转到任何页面。
4、input :表示输入时如果验证失败应该跳转到什么地方。
5、login :表示登录失败后跳转的目标
三、使用struts2时,程序执行的过程:用户通过view视图(jsp页面) 发出请求,请求进入拦截器(控制器controller),经过拦截器后进入 action(model)进行数据处理,然后返回到拦截器,拦截器再将处理结果发送到view视图。
action要继承或者实现的类:
可以继承ActionSupport类或者实现Action接口。 定义拦截器继承AbstractInterceptor类。
- struts2粗略总结
- 排序算法粗略总结
- 黑马程序员-----OC粗略总结
- Java.util包粗略总结
- Struts2源码粗略分析二:初始化详解
- Struts2源码粗略分析一:开发环境
- 粗略。。。java设计模式总结。。。studying
- Oracle SQL 性能优化粗略总结
- Struts2源码粗略分析一:准备开发环境
- Struts2源码粗略分析三:请求处理流程分析
- Struts2源码粗略分析四:理解xwork工作原理
- 函数创建方式及区别,粗略总结函数原理
- 安卓里,对fragment的粗略认识与总结
- [Struts2]Struts2学习总结
- 【Struts2框架】Struts2总结
- 【Struts2】Struts2要点总结
- struts2 总结
- Struts2总结
- 最长公共子串与最长公共子序列
- FreeImage 3.17.0 在VS2015下编译及遇到问题解决
- pcie 驱动程序分析
- JAVA选择排序
- js日历控件
- struts2粗略总结
- select函数详解及其在I|O复用模型中的应用
- 1048. 数字加密(20)
- 计算机进制转换
- 基于vue-cli及express模拟Ajax获取服务器数据
- Spring学习之Bean的装配
- JAVA冒泡排序,归并排序,二分查找
- Vue和VueResource介绍
- codeforces 590D