其实用最简单的七个步骤:

1:客户端在浏览器中输入一个url地址;

http://localhost:8080/gqxx

2:这个url请求通过http协议发送给tomcat;

http://localhost:8080/gqxx/IndexAction_welcome

3:tomcat根据url找到对应项目里面的web.xml文件;

4:在web.xml里面会发现有struts2的配置;

<filter>
 <filter-name>struts2</filter-name>
 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
 <filter-name>struts2</filter-name>
 <url-pattern>/*</url-pattern>
  </filter-mapping>

5:然后会找到struts2对应的struts.xml配置文件;

6:根据url解析struts.xml配置文件就会找到对应的Action class;

7:调用完class返回一个结果result,根据struts.xml返回到对应的jsp;

8:jsp页面再发出另一个请求,只是跳转页面的请求,超链接

http://localhost:8080/gqxx/isLogin_AdminAction

9:前台页面跳转,后台数据处理。

10:在action里面定义一个user对象,然后写上对应的Setters和Getters方法获取

    <form action="user/LoginAction.html" method="post"> 账号: <input type="text" name="user.userName"><br>密码: <input type="text" name="user.passWord"><br><input type="submit" value="提交"></form>
  • 1
  • 2
  • 3
  • 4
  • 5
public class UserAction {private User user;public User getUser() {return user;}public void setUser(User user) {this.user = user;}public String execute() {System.out.println(user.getUserName()+">>"+user.getPassWord()); return "success";}
}后台获取数据根据表单中<input>的name属性,name属性的值是什么,就在action中添加什么属性,并添加它的get/set()方法。

Strut2的工作流程相关推荐

  1. GPU—加速数据科学工作流程

    GPU-加速数据科学工作流程 GPU-ACCELERATE YOUR DATA SCIENCE WORKFLOWS 传统上,数据科学工作流程是缓慢而繁琐的,依赖于cpu来加载.过滤和操作数据,训练和部 ...

  2. python爬虫之Scrapy框架的post请求和核心组件的工作 流程

    python爬虫之Scrapy框架的post请求和核心组件的工作 流程 一 Scrapy的post请求的实现 在爬虫文件中的爬虫类继承了Spider父类中的start_urls,该方法就可以对star ...

  3. WifiP2pSettings工作流程

    本文为<深入理解Android Wi-Fi.NFC和GPS卷>读书笔记,Android源码为Android 5.1 Android平台中,P2P操作用户只需执行如下三个步骤: 1)进入Wi ...

  4. Blender+SP+UE5游戏艺术工作流程学习

    Blender到虚幻引擎5 Blender游戏艺术 Blender for Game Art 你会学到: 如何在Blender中创建三维模型 UV如何展开和布局 如何在Substance Painte ...

  5. Revit: Twinmotion工作流程学习

    Revit: Twinmotion Workflow MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 技能等级:中级|语言:英语+中英文字幕(根据原英文字幕机译 ...

  6. iOS应用模块化的思考及落地方案(一)模块的划分及模块化工作流程

    1.0 什么是模块化 很多关于重构及设计模式的介绍中,经常提到的几个词语是复用及解耦. 模块化之所以被提出,也更多是为了解决这几个问题. 复用可以减少重复造轮子的情况,很容易理解的是,我们经常使用的g ...

  7. travis ci_如何使用Travis CI和GitHub进行Web开发工作流程

    travis ci by Vijayabharathi Balasubramanian 通过Vijayabharathi Balasubramanian 如何使用Travis CI和GitHub进行W ...

  8. Nginx源码分析:master/worker工作流程概述

    nginx源码分析 nginx-1.11.1 参考书籍<深入理解nginx模块开发与架构解析> Nginx的master与worker工作模式 在生成环境中的Nginx启动模式基本都是以m ...

  9. Scrapy框架的概念、作用和工作流程

    1. scrapy的概念         Scrapy是一个Python编写的开源网络爬虫框架.它是一个被设计用于爬取网络数据.提取结构性数据的框架. Scrapy是一个为了爬取网站数据,提取结构性数 ...

  10. mapreduce工作流程

    mapre的工作流程 1.文件要存储在HDFS中,每个文件被切分成多个一定大小的块也就是Block,(Hadoop1.0默认为64M,Hadoop2.0默认为128M),并且默认3个备份存储在多个的节 ...

最新文章

  1. gVim 取消自动备份(Windows/Linux)
  2. 现代中产男人必备的8种气质[zt] 来自9G群里发的,据说是BF推荐给9G的
  3. 阿里云物模型层初始化代码实现
  4. Python学习笔记:常用第三方模块3
  5. android 两端对齐,LinearLayout子控件两端对齐
  6. WPF Grid添加边框的两种方法
  7. net中的调试javascript脚本
  8. 小学五年级计算机教学工作总结,小学五年级数学教师工作总结(精选8篇)
  9. 判断本地是否存在Jquery文件,如果不存在则使用CDN加速的Jquery文件
  10. mysql truncate很慢_mysql truncate 的问题
  11. 蒋江伟:代码是我们最重要的资产!
  12. abb机器人编程指令写字_ABB机器人编程指令创建
  13. 左斜杠和右斜杠的区别
  14. 日志追踪-类加载器-线程上下文类加载器
  15. STM32_HAL_SPI_ADS1256调试记录
  16. 颜色所代表的人的性格
  17. matlab模糊建模设计,毕业设计matlab建模
  18. iOS开发人员必看的精品资料(100个)(转)
  19. 用户增长——CLV用户生命周期价值CLTV 笔记(一)
  20. KCF算法(相关滤波算法) 跟踪目标

热门文章

  1. zmq pub/sub使用详解
  2. matlab用摄像头拍照,matlab调用摄像头拍照
  3. r如何打开计算机窗口,如何进入运行窗口
  4. python画运动物体的轨迹_canvas动画—圆形扩散、运动轨迹
  5. H77、Z75、Z77主板有什么区别?
  6. java中curr是什么意思_curr.是什么意思
  7. java环境_linu安装jdk
  8. 【LeetCode】18. 4Sum 四数之和
  9. js截取url所带参数方法与url截取字段中包含中文会乱码的解决方案
  10. 诺基亚N81手机宝典!由浅入深玩转手机