struts 2学习笔记—初学struts 2
首先我学习了struts 1.x与struts 2的区别:
1.struts 1.x的控制器类必须从Action类继承。
2.struts 2的控制器类可以是一个普通的类,也可以是ActionSupport类的子类。
3.struts 1.x使用一个名为ActionServlet的Servlet类来处理客户端请求。
4.struts 2.x使用一个名为FilterDispatcher的过滤器类来处理客户端请求。
struts 2 的工作流程:
1.判断客户端请求是否以action结尾,如果不是以.action结尾,直接交由Servlet引擎来处理,否则继续下面的步骤。
2.调用一系列Struts 2拦截器(验证,文件上传等),以提供一些通用的功能。
3.调用Action类的execute方法,执行逻辑处理。
4。根据execute方法的返回值向客户端输出相应的内容。
请看Struts 2学习笔记续:struts 2学习笔记—浅谈struts的线程安全
struts 2学习笔记—初学struts 2的更多相关文章
- struts的学习笔记
Struts 2是在WebWork2基础发展而来的. 注意:struts 2和struts 1在代码风格上几乎不一样. Struts 2 相比Struts 1的优点: 1.在软件设计上Struts 2 ...
- Struts 2学习笔记——拦截器相关
一.添加国际化支持 默认的struts-deault.xml文件中已经定义了国际化拦截器,内容如下 <!-定义国际化拦截器--> <interceptor name="i1 ...
- 基本STRUTS标签-学习笔记-Bean标签
<bean:include> 和标准的JSP标签<jsp:include>很相似,都可以用来包含其他Web资源的内容,区别在于<bean:include>标签把其它 ...
- struts 2学习笔记—浅谈struts的线程安全
Sruts 2工作流程: Struts 1中所有的Action都只有一个实例,该Action实例会被反复使用.通过上面Struts 2 的工作流程的红色字体部分我们可以清楚看到Struts 2中每个A ...
- Struts2 学习笔记15 Struts标签 part1
来说一下Struts标签,之前我们也很多地方用到了,还是来总结一下. 首先是property标签. <li>property:<s:property value="user ...
- Struts 2 学习笔记
1.Struts2 jar包 struts2-core-2.1.8.1 struts2的核心jar包,不可缺少的 xwork-core-2.1.6 xwork的核心包,由于Struts2是由xwork ...
- 基本STRUTS标签-学习笔记-Logic标签
BEAN标签(name 是从别处得来的:id是自己的,相当于变量:property相当于变量的值) 前提: String str=request.getParameter("param&qu ...
- Struts2 学习笔记16 struts标签 part2
接下来说一下if标签.下面是结果图. <li><s:if test="#parameters.age[0]<0">error!</s:if> ...
- css学习笔记 --初学 css代码风格、布局误区
初学css,记录下初学者需要注意的事项. 一.css 代码风格 1.css 命名语义化. 如类名: main 主体 container 内容 footer 站底 right.center ...
随机推荐
- node初步一:HTTP请求
一. 创建pathtest.js文件 var http= require('http' ); var url= require('url' ); function start (){ function ...
- 【python】【转】 for 循环一列
Python for in循环 来源 http://c.biancheng.net/cpp/html/1822.html for..in语句是另一个循环语句,它迭代一个对象的序列,例如经历序列中的 ...
- 《深入剖析Tomcat》阅读(三)
这里要介绍下Tomcat的一个重要设计方法,Catalina设计方式. Servlet容器是一个复杂系统,但是,它有三个基本任务,对每个请求,servlet容器会为其完成以下三个操作: 1.创建一个R ...
- Java随机数
本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式:(01). 通过System.currentTimeMillis()来获取一个当前时间 ...
- 《Effective C++》内存管理
如果global new-hander没有成功配置,会抛出一个std::bad_alloc的exception. #include<iostream> #include<new> ...
- Android - N级树形结构实现
目前已经实现3级之内的任意级树形结构展示(如果想增加更多级,需要扩展排序算法),并支持单选和多选(使用不同的适配器). 实现使用的控件:ListView 首先,最重要的应该是数据源的格式,支持树形结构 ...
- Bluetooth LE(低功耗蓝牙) - 第二部分
回顾 在前面的文章中我们介绍了Bluetooth LE的背景也说明了我们在本系列文章中将要开发什么,但是还没有实际的代码.我们将在这篇文章中纠正这一点,我们将通过定义 Service/Activity ...
- 基于Qt的信号分析简单应用软件的设计
一.需求描述: 1.读取data.asc文件,分析其连续性: 2.绘制信号图像,并保存. 二.UI界面组成: 该应用的UI由以下几个控件组成: 3个PushButton:打开文件.图像保存.退出: 1 ...
- 程序员欢呼:微软Bing开始支持搜索源码、可直接运行!
日常生活中,程序员们经常会遇见这样那样的问题,比如忘记了代码该怎么写,又或者需要实现一些特殊的算法和功能.这时候,你就可以去找微软 Bing 帮忙啦! 微软最近联合 HackerRank 一起研发了一 ...
- 高效的TCP消息发送组件
目前的.net 架构下缺乏高效的TCP消息发送组件,而这种组件是构建高性能分布式应用所必需的.为此我结合多年的底层开发经验开发了一个.net 下的高效TCP消息发送组件.这个组件在异步发送时可以达到每 ...