Struts2入门配置

来源:互联网 发布:加工中心简单编程实例 编辑:程序博客网 时间:2024/06/03 05:35

1. 什么是struts2框架?
 框架是实现了部分功能的代码的半成品,使用框架能够提高企业开发的效率。目前主流的框架是SSH(Struts2+Spring+Hibernate)。而struts2是一款标准的MVC框架,用于javaweb开发。MVC为:model模型、view视图和controller控制器。

2. 使用的struts2要导入的jar包
 需要导入的jar包有如下,目前是13个,但是这不是固定的。需要导入的jar包

3. 对struts2进行配置
<1>在web.xml中配置前端控制器(也称核心控制器)
 其实就相当于一个Filter过滤器,配置的目的是为了能够使struts2能够运行。

<filter>        <filter-name>struts2</filter-name>        <filter-class>      org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter        </filter-class></filter><filter-mapping>        <filter-name>struts2</filter-name>        <url-pattern>/*</url-pattern></filter-mapping>

<2>创建一个struts.xml配置文件
 这个其实就是struts2框架的配置文件,为了struts2框架流程能够执行。并且名字必须为struts.xml,文件存放的位置必须在classes下。如果使用的是Myeclipse开发,那么直接存放在src下便可以。在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>    <package name="default" namespace="/" extends="struts-default">        <action name="XXX" class="cn.itcast.action.XXXAction" method="XXXsay">            <result name="good">/XXX.jsp</result>        </action>    </package></struts>

 struts.xml的标签如下:

标签 子元素 作用 package 声明包,用于管理action标签   name 声明一个包名,在同一个包内,包名是唯一的   namespace 与action标签的name属性确定一个访问路径。默认值为”“。   extends 它代表继承的包名   abstract 取值为boolean类型,如果为true,代表这个包用于被继承 action 声明一个action   name 声明一个action名称,在同一个包内必须是唯一的   class Action文件全名。默认值:com.opensymphony.xwork2.ActionSupport   method 要访问的Action类中的方法名,该方法必须为无参,返回值为String。默认值为execute。 result 用于确定返回结果的类型。默认值为:”success”   name 用于和Action方法的返回值进行比较,确定一个跳转路径或资源

 
4. struts配置文件加载顺序
 前面说过,我们要使用struts框架就必须创建一个Filter过滤器,为了能够让struts运行。现在我们来探究为什么要使用配置这个Filter文件。
 这个Filter文件加载的是StrutsPrepareAndExecuteFilter类文件,在这个类文件的初始化init方法中有个操作是初始化Dispatcher文件的操作。在这个Dispatcher类的init方法中定义了struts2配置文件的加载顺序。

            init_DefaultProperties(); // [1]            init_TraditionalXmlConfigurations(); // [2]            init_LegacyStrutsProperties(); // [3]            init_CustomConfigurationProviders(); // [5]            init_FilterInitParameters() ; // [6]            init_AliasStandardObjects() ; // [7]

对这其中的顺序进行分析:
[1] default.properties文件
 位置:org/apache/struts2/default.properties
 作用:定义了struts2中所有的常量。

[2] struts-default.xml
 位置:struts的core核心jar包中
 作用:配置了bean、interceptor(拦截器)、result等

   struts-plugin.xml
 作用:struts2框架中所使用的插件的配置文件。(如果没有使用插件,则不存在配置文件。)

   struts.xml
 我们配置的struts2的文件。

[4] struts.properties
   作用:这个文件是自定义的,能够达到在自定义常量的目的。

[5] web.xml
   作用:第一次是我们服务器启动会加载这个文件,而这次是struts框架会去查找某些值。

在开发当中,后加载的文件配置会将先加载的文件配置覆盖,比如设置了某个数据的值。