Strusts2框架简析

来源:互联网 发布:mysql binlog format 编辑:程序博客网 时间:2024/05/16 13:42

Struts2是一款优秀的经典的MVC框架。遵循MVC设计模式的框架,都叫MVC框架。Strut2框架是在Struts1WebWork基础上发展而来的。它主要是在webWork的基础上整合原有的Struts 1框架。所有它的代码风格,更多趋向于webwork,Struts1完全不同。Struts2最核心的功能是实现控制。Struts主机解决的问题就是(请求)从哪里,到哪里去(由谁处理,处理之后返回什么)。处理求情携带的参数,以及返回参数。


Action是struts当中处理请求的组件。

jar组成:


一、应用事例:


1、创建web项目

2、导入struts2的相关jar包

3、在web中配置struts2

找到web.xml,配置:

4、编写struts.xml (在src文件夹下)

5、编写action,并在struts.xml配置action

配置xml:

<struts>

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

<action name="hello" class="action的包名.类名" method="hello">

<result name="hello">目标jsp页面名</result>

</action>

</package>

</struts>

6、部署。

测试:         localhost:8080/项目名/xml中的action的name名


二、struts配置

1. struts-default.xml

(在struts核心包下可找到)

2. default.properties

(在 struts核心包  --> org.apache.struts2 --> default.properties)

该文件内部代码:

struts.i18n.encoding=UTF-8       //设置编码格式

struts.action.extension=action,,    //跳转后缀为action名或空

struts.enable.DynamicMethodInvocation = false    //是否启用动态方法(后续)

struts.devMode = false              //是否开启开发者模式

文件修改后是否重新加载   157行: struts.configuration.xml.reload=false

          

PS:.properties文件内以key-value的形式进行配置  此类型文件配置简单,运行速度快,但是有局限性。。多数还是以.xml配置

3. struts-plugin.xml

这是struts与其他第三方框架进行集成的时候用到的配置文件。它存在于插件包中。

4. struts.xml配置文件(推荐使用)

这是用户自定应的配置文件。

5.struts.properties配置文件

这是用户自定义的properties类型的配置文件

6.web.xml

在web当中对struts进行配置。

 

Struts配置的优先级,从16越来越高。

===============================================

Struts.xml详见

头部约束:

<?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常量,用来配置struts的属性

Package包,和java里面的包作用相似。主要做action管理的。

Include ,可以引入一些外部配置。

=================================

Package元素详解:

result-types 返回值的类型

interceptors 拦截器

default-interceptor-ref  默认拦截器

default-action-ref 默认的action

default-class-ref 默认的类

global-results  全局返回

global-exception-mappings 异常映射

action 请求处理类


name就是一个唯一性标识,namespace命名空间,所有的package最总必须继承struts-default