zoukankan      html  css  js  c++  java
  • 1.struts2原理和入门程序

    Struts2是一个MVC的Web应用框架,是在Struts1和WebWork发展起来的,以WebWork为核心,采取拦截器机制来处理用户请求。

      原理图:

      

      分析步骤:   

        1.用户发送一个请求

        2.请求的目的肯定是去找Action,只是先经过一个过滤器

        3.通过ActionMapper去查找Action

        4.找到以后把请求委托给ActionProxy去处理

        5.ActionProxy又通过ConfigurationManager去读取Struts.xml的配置文件

        6.取到配置文件后,说明运行环境已经准备就绪,就交给Action的执行者(Action Invocation去执行)

        7.在执行的过程中会在前后都加上一系列的拦截器

        8.Action执行成功,返回一个结果(字符串)

        9.根据这个结果派发页面

      入门程序:

        新建web工程

        导入jar

        配置过滤器(web.xml中配置)

        编写Action

        Struts2的配置

      

        配置过滤器(web.xml中配置)这里你可以配置下面这个也可以配置StrutsPrepareAndExecuteFilter

    <!-- 配置过滤器 -->
        <filter>
            <filter-name>hello</filter-name>
            <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>hello</filter-name>
            <!-- 
                url的配置有两种:
                /* :所有的url都要经过这个过滤器
                *.action:只有后缀是.action才会经过
             -->
            <url-pattern>/*</url-pattern>
        </filter-mapping>

        编写Action

    public class HelloWorldAction {    
        public String execute() {
            return"success";
        }
    }

        编写struts2的配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
    <struts>
        <!-- 
            name:就是名字,随便取的
            extends:继承一个父包,可以拥有父包的配置
            namespace:影响你的请求路径
         -->
        <package name="hello"  extends="struts-default" namespace="/">
            <!-- 
                name:访问路径
                class:就是Action的路径(包名+类名)
                method:指定访问该类的某个方法:不写的话:默认是execute
             -->
            <action name="hello" class="com.etc.action.HelloWorldAction" >
                <!-- 
                    name:就是你action执行结束后的返回的字符串 
                -->
                <result name="success">/index.jsp</result>
            </action>
        </package>    
    </struts>

    Action中的execute方法是默认的:

      当你在配置文件中不指定方法的时候,会默认调用execute

  • 相关阅读:
    ajax基础
    Linux经常使用命令大全
    基于Proxy思想的Android插件框架
    linux date -d 的一些使用方法
    Mac电脑没有声音,苹果电脑没有声音怎么办
    通用PE u盘装Ghost Win7系统
    通用PE u盘启动盘制作
    Qt for iOS,Qt 与Objective C混合编程
    苹果开发工具:Xcode和Interface Builder
    IOS 使用Interface Builder开发界面入门与技巧
  • 原文地址:https://www.cnblogs.com/huaixiaoz/p/5899021.html
Copyright © 2011-2022 走看看