Struts2的核心配置

1,配置struts.xml文件


1.1,典型struts.xml:




    
    
	
    
    
    
        
        
            
            
                /index.jsp
            
        
    
    
    
    
    
    

元素是根元素 ,其他元素都放在
元素用于进行常量配置
元素用于进行包配置,组织Action和拦截器
用于在一个struts.xml文件包含其他配置文件

1.2, 常量配置

在struts.xml文件中配置常量:
     

name:改属性指定了常量的常量名
value:该属性指定了常量的常量值

实例代码:

    
    
    
    


struts配置常量还可以通过struts.properties 或web.xml文件配置
Struts2加载常量的顺序:
(1)default.properties
(2)struts-default.xml
(3)struts-plugin.xml
(4)struts.xml
(5)struts.properties
(6)web.xml

如果多个文件配置了同一个常量,则后一个文件的配置会覆盖前面的配置

1.3, 包配置

Struts2的核心组件是 Action和拦截器,它使用包来管理Action和拦截器。
每个包就是多个包和多个拦截器的集合。


name:必填属性,他指定包的名字,此名字是被其他包引用的key
namespace:可选属性,改属性定义了包的命名空间
extends:可选属性,他指定该包继承自其它包(其它包中的Action和拦截器)
abstract:可选属性,他指定该包是否是一个抽象包,抽象包不能包含Action定义
extentds通常设置成 struts-default 这样就有了Struts2的默认Action和拦截器



1.4,包含配置

file:改属性指定包含配置的文件路径,相对路径或绝对路径

样例代码:


   
   
   
   
   
   
   
被包含的配置文件必须都是标准的Struts2配置文件


2,Action的配置

2.1,实现Action控制类    

Action作为框架的核心类,用于实现对用户的请求处理,Action类被称为业务逻辑控制类

Action类的实现分为三种:

1,POJO的实现

POJO的全称是 Plain Ordinary Java Object(简单的java对象),只要有一部分get/set方法的类就可以称为POJO

一般在这个POJO类中,要有一个公共无参的构造方法(默认构造方法就可以)和一个execute()方法

execute()是Action类的默认请求处理方法,定义格式如下:

public String execute()throws Exception{
return "success";
}


execute()方法要求:

1,方法权限修饰符为public

2,返回一个字符串,就是指定下一个页面的Result

3,方法没有参数

满足上述要求的POJO都算作是Struts2的Action的实现


2,实现Action接口

Action接口源码:

package com.opensymphony.xwork2;
public interface Action {
public static final String SUCCESS = "success";
public static final String NONE = "none";
public static final String ERROR = "error";
public static final String INPUT = "input";
public static final String LOGIN = "login";
public String execute() throws Exception;
}


该接口定义了五个常量和一个execute()方法

3,继承ActionSupport类

ActionSupport类本身实现了Action接口,是Struts2默认的Action接口实现类,所以继承该类就相当于

实现了Action接口

ActionSupport类还实现了很多其他接口来为用户提供更多的功能

该类还实现了Serializable接口,所以继承该类必须声明变量serialVersionUID

private static final long serialVersionUID=1L;



2.2,配置Action

name:必填属性,标识Action,指定了Action所处理请求的URL

class:可选属性,指定Action对应的实现类

method:可选属性,指定请求Action时的方法

实例代码:

 
    /success.jsp
 


2.3,使用通配符


在使用method属性时,由于Action类中有多个业务逻辑处理方法,在配置Action时,就需要使用

多个action元素。在实现同样功能的情况下,为了减轻struts.xml 配置文件的负担,这是就要

借助通配映射

如下样例:

	
	    
	        /index.jsp
	    
	

上述代码中*为通配符,{1} 为第一个* method视客户端发送的请求来决定为什么

如果发送/user/userAction_login.action 时 method属性就是login

如果定义为*_* 那class属性就是action.{1} meithod属性就是{2}

定义为* 那么就可以匹配任何请求

另外result也可以用通配符处理

/{1}.jsp


3,Action访问Servlet API

代更新....

4,Action处理请求参数

代更新....

5,Result结果类型

代更新....


你可能感兴趣的:(JavaWeb,SSH框架整合实战教程)