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

时间: 2024-10-05 06:05:31

struts2原理和入门程序的相关文章

struts2入门程序

1.搭建struts2环境开发的步骤 搭建struts2环境时,我们一般需要做一下几个步骤的工作: 1.  创建javaweb工程 2.  找到开发struts应用所需要使用的jar 3.  创建jsp文件 4.  创建action文件 5.  编写struts2的配置文件 6.  在web.xml中加入struts2 MVC框架启动配置 开发struts2中需要使用的基本jar包: 关于struts2的提示: 我的myeclipes默认的struts2提示只到2.1,如果需要有2.3的提示,有

1.struts2入门程序

**Struts2的入门步骤(重点掌握开发的步骤,尤其要记住拷贝哪些配置文件)** 0. 需求:编写JSP的页面,超链接,点击超链接发送请求,让框架某个类中的某个方法执行了. 1. 步骤一:下载Struts2的开发包 * http://struts.apache.org/download.cgi 2. 解决struts-2.3.15.3-all.zip包 * 解压后会看到有包和一些文件,大家需要掌握包相关的信息 * apps -- Struts2框架提供了一些应用. * libs -- Stru

JAVAEE——SpringMVC第一天:介绍、入门程序、架构讲解、SpringMVC整合MyBatis、参数绑定、SpringMVC和Struts2的区别

1. 学习计划   第一天 1.SpringMVC介绍 2.入门程序 3.SpringMVC架构讲解 a) 框架结构 b) 组件说明 4.SpringMVC整合MyBatis 5.参数绑定 a) SpringMVC默认支持的类型 b) 简单数据类型 c) Pojo类型 d) Pojo包装类型 e) 自定义参数绑定 6.SpringMVC和Struts2的区别   第二天 1.高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 2.@RequestMapping注解的使用 3.Con

Struts2原理及简单实例

参考连接: http://blog.csdn.net/laner0515/article/details/27692673/ http://www.cnblogs.com/sobne/articles/5443114.html 一.Struts2原理 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就不在提了. 技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The 

springmvc框架原理分析和简单入门程序

一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解这个思想,struts2在web层,spring在中间控制,hibernate在dao层与数据库打交道,而前面刚写的mybatis跟hibernate一样,与数据库打交道在dao层的另一个框架,而今天所要讲解的springmvc是在web层的另一个框架. springmvc全名是spring web mvc,springmvc是spring的一个模块,并且看名字即可知道,springmvc是一个基

Struts2的国际化入门

Struts2的国际化入门 Struts2国际化是建立在Java国际化的基础上的,一样是通过提供不同国家/语言环境的消息资源,然后通过ResourceBundle加载指定Locale对应的资源文件,再取得该资源文件中指定key对应的消息--整个过程与JAVA程序的国家化完全相同,只是Struts2框架对JAVA程序国际化进行了进一步封装,从而简化了应用程序的国际化. Struts2需要国际化的部分 a.类型转换: b.数据校验: c.验证框架xml配置文件的国际化:RegisterAction-

新手入门程序必须克服的5个障碍

程序员作为目前当下互联网行业中必不可少的角色,高薪酬,好就业成为其身上颇具代表性的两个标签. 很多人都有入行或者转行来做程序员的想法.不过想要成为一个合格的程序可并不轻松,作为一个新手想要入门程序,首先就有5个必须克服的障碍.这里笔者一一为大家道来并说明如何克服. 一.不知道选择哪种语言 很多人会问:"我应该先学什么编程语言?"能有此一问,自然是因为你明白程序划分的细致,但也说明认知也仅仅停留在这一层上. 如果你心中已经有了一个既定的目标或者说是想要完成的项目,那么就可以依此做出选择.

Maven01——简介、安装配置、入门程序、项目构建和依赖管理

1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 Svn eclipse   maven量级 1.2 Maven好处 同一个项目,普通的传统项目(24M)而Maven项目只需要(724KB) 分析:maven项目为什么这么小?没有jar. 需要jar吗?肯定需要.没有存在于maven项目里面,jar存在于哪? 1.3 依赖管理 1.4 项目一键构建 编码  编译  测试(junit)  运行  打包  部署 一个 t

Mybatis入门程序

在做这个入门程序之前,我们来顶一下需求,根据需求来写程序会不会很有感觉呢? 一.  需求 实现以下功能: 根据用户id查询一个用户信息 根据用户名称模糊查询用户信息列表 添加用户 更新用户 删除用户 1.  第一步:创建java工程 使用eclipse创建java工程,jdk使用1.7. 2.  第二步:加入jar包 加入mybatis核心包.依赖包.数据驱动包. 3.  第三步:log4j.properties 在classpath下创建log4j.properties如下: <span st