一、Struts2的执行流程:

用户提交一个请求,服务器接收,交给Struts2的核心过滤器进行处理,Struts2的过滤器调用Struts2的一系列处理器来处理(如:解析struts.xml配置文件,和用户提交的请求对比,如果找不到就返回404,如果找到就进行下一步处理)。直到调用对应的Action类中的excute方法执行,执行完后再进行一系列处理到核心过滤器。由核心过滤器返回给服务器,服务器对浏览器进行相应的响应。

二、使用Struts2实现一个简单的“Hello World”程序:

1、创建Web应用程序

2、为一个JavaWeb添加Strut2支持(分三步):

(1)修改web.xml文件,在web.xml文件中配置Struts2的核心Filter。

<filter>
<filter-name>Struts 2</filter-name>
<filter-class>org.apache.Struts 2.dispatcher.ng.filter.StrutsPrepareAndExcuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts 2 </filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

(2)将Struts2包中lib目录下的jar文件复制到WEB-INF/lib路径下。

(3)在src目录下创建struts.xml文件。编辑此文件,代码如下:

<struts>
<package name="default" namespace="/" extend="struts-default">
<action name="hello" class="com.MyAction">
<result name="success">
/hello.jsp
</result>
</action>
</package>
</struts>

3、添加Action

在struts.xml配置文件中已经指定了Action,接下来定义此类并让其继承ActionSupport父类。

package com;
import com.opensymphony.xwork2.ActionSupport;
public class MyAction extend ActionSupport{
public String excute() throws Exception{
return SUCCESS;
}
}

Strut2第一章的更多相关文章

  1. 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...

  2. MyBatis3.2从入门到精通第一章

    第一章一.引言mybatis是一个持久层框架,是apache下的顶级项目.mybatis托管到goolecode下,再后来托管到github下.(百度百科有解释)二.概述mybatis让程序将主要精力 ...

  3. Nova PhoneGap框架 第一章 前言

    Nova PhoneGap Framework诞生于2012年11月,从第一个版本的发布到现在,这个框架经历了多个项目的考验.一直以来我们也持续更新这个框架,使其不断完善.到现在,这个框架已比较稳定了 ...

  4. 第一章 MYSQL的架构和历史

    在读第一章的过程中,整理出来了一些重要的概念. 锁粒度  表锁(服务器实现,忽略存储引擎). 行锁(存储引擎实现,服务器没有实现). 事务的ACID概念 原子性(要么全部成功,要么全部回滚). 一致性 ...

  5. 第一章 Java多线程技能

    1.初步了解"进程"."线程"."多线程" 说到多线程,大多都会联系到"进程"和"线程".那么这两者 ...

  6. 【读书笔记】《编程珠玑》第一章之位向量&位图

    此书的叙述模式是借由一个具体问题来引出的一系列算法,数据结构等等方面的技巧性策略.共分三篇,基础,性能,应用.每篇涵盖数章,章内案例都非常切实棘手,解说也生动有趣. 自个呢也是头一次接触编程技巧类的书 ...

  7. 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介

    前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...

  8. 《Entity Framework 6 Recipes》翻译系列 (1) -----第一章 开始使用实体框架之历史和框架简述

    微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF ...

  9. 《Entity Framework 6 Recipes》翻译系列(2) -----第一章 开始使用实体框架之使用介绍

    Visual Studio 我们在Windows平台上开发应用程序使用的工具主要是Visual Studio.这个集成开发环境已经演化了很多年,从一个简单的C++编辑器和编译器到一个高度集成.支持软件 ...

随机推荐

  1. 杂记:防火墙、企业微信登陆、RestFrameWork

    192.168.0.250重启后查看端口正常,外部ping得通,但是访问192.168.0.250进不了Nginx欢迎界面 netstat -tlunp 关闭了防火墙就行了,原来80端口都要防火墙. ...

  2. 理解不为人知的ClassLoader

    JAVA类装载方式,有两种: 1.隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中. 2.显式装载, 通过class.forname()等方法,显 ...

  3. idea怎么创建properties文件

    我们在idea当中新建一个properties时,就要新建一个ResourceBundle类型的文件 

  4. Java多线程之synchronized及其优化

    Synchronized和同步阻塞synchronized是jvm提供的同步和锁机制,与之对应的是jdk层面的J.U.C提供的基于AbstractQueuedSynchronizer的并发组件.syn ...

  5. 【C语言】数组知识点总结

    [C语言]数组知识点总结 标签: 数组 2018年04月12日 17:44:4481人阅读 评论(0) 收藏 举报  分类: C语言知识总结(4)  版权声明:本文为博主原创文章,未经博主允许不得转载 ...

  6. 卸载和删除wozhuan.exe

    在虚拟机里面,偶然发现CPU占用居高不下,打开任务管理器,发现有多个 wozhuan.exe 进程,这是个我从来没有见过的进程,顺手卸载后,没过多久,结果又出来了,可以判断,这肯定是虚拟机中奖了.中奖 ...

  7. js检测页面离开

    window.location = 'yjk://app.h5.ihaozhuo.com?page=livetrailer&videoLiveId=' + parseInt(this.Requ ...

  8. Romaji (CodeForces - 1008A )

    Vitya has just started learning Berlanese language. It is known that Berlanese uses the Latin alphab ...

  9. npx

    npx 是什么? npm v5.2.0引入的一条命令(npx),引入这个命令的目的是为了提升开发者使用包内提供的命令行工具的体验. 举例:使用create-react-app创建一个react项目. ...

  10. elasticsearch基本使用

    elasticsearch 是java对lucence的封装,所以需要事先安装java. 它适用于全文索引,便捷的分布式,主要原理就是倒排索引.一般搜索某个关键字,是通过在一篇篇文章中查找这个关键字, ...