用一个简单的Struts2程序来总结Strut2的执行流程

该案例中重要部分已经标记为红色,该案例是我本人测试成功的案列,你可以直接拷贝放到自己工程中导入相应的jar包后运行

相应jar包如下:

用一个简单的Struts2程序来总结Strut2的执行流程_第1张图片

一、创建 helloWord.jsp 页面。代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- 导入struts2标签 --%>
<%@taglib uri="/struts-tags" prefix="s"%>




Hello Word


    

Hello Word


    
        


        


    

    

        
HelloAction" method="post">
        请输入您的姓名:
        
        

    


helloword.jsp即是表单提交页面,又是结果呈现页面,当用户提交至Action,Action处理完业务之后,再跳转回本页 。用于输出Action的属性“message”的值,起作用等价于${message}。是struts标签的写法。

二、创建Action类,代码如下

package com.zxf.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloAction extends ActionSupport{
    //接收表单传输的姓名
    private String name;
    private String message;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getMessage() {
        return message;
    }
    public void setMessage(String message) {
        this.message = message;
    }
    
    /**
     * 接收表单的请求方法,并返回某个视图隐射名
     */
    public String Hello() {
        //根据用户输入的名称,拼接返回信息
        this.setMessage("Hello"+name);
        //跳转到相应的逻辑视图
        return "info";
    }
}
三、创建Struts2配置文件,在src目录下创建struts.xml文件,配置如下:


    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.dtd">


   
        HelloAction" method="Hello" class="com.zxf.action.HelloAction">
            info">helloWord.jsp
       

   

四、配置web.xml文件



  Struts_web
 
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
 


 
      Struts2
      org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
 

 
      Struts2
      /*

 

运行结果:

用一个简单的Struts2程序来总结Strut2的执行流程_第2张图片

总结Struts2的执行流程:

1.表单提交请求HelloWord.action.

2.服务器接受请求后,根据web.xml的配置,将请求统一发给Struts2的核心控制器。

3.Struts2的核心控制器根据struts.xml的配置内容,将请求发给HelloWord类,并调用该类下的相应方法。

4.根据调用方法的返回结果,并在struts.xml文件中匹配返回结果,跳转至helloWord.jsp页面

你可能感兴趣的:(struts2)