手机版

火车票售票管理系统(12)

发布时间:2021-06-07   来源:未知    
字号:

2.4 Struts2的工作流程

当接收到一个httprequest。Interceptor做一些拦截或者初始的工作。当外部的

httpservletrequest到来时。初始到了servlet容器 传递给一个标准的过滤器链。

ActionContextCleanUp这个在集成插件方面非常有用。调用FilterDispatecher会去查找相应的ActionMapper。如果找到了相应的ActionMapper它将会将控制权限交给

ActionProxy。ActionProxy将会通过ConfigurationManager来查找配置struts.xml。下一步将会 通过ActionInvocation来负责命令模式的实现(包括调用一些拦截Interceptor框架在调用action之前)。一旦action返回,会查找相应的Result。Result类型可以是 jsp或者freeMark 等。这些组件和ActionMapper一起返回给请求的url(注意拦截器的执行顺序)。响应的返回是通过我们在web.xml中配置的过滤器。如果

ActionContextCleanUp是当前使用的,则FilterDispatecher将不会清理。如果

ActionContextCleanUp不使用,则将会去清理sreadlocals[5]。

2.5 Struts2与Struts1的区别

2.5.1Action类

Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类

编程而不是接口。

Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制

的服务成为可能。Struts2提供一个ActionSupport基类去实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象[6]。 2.5.2线程模式

Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来

处理所有的请求。单例策略限制了Struts1 Action能做的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。

Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际

上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)

2.5.3Servlet 依赖

Struts1 Action 依赖于Servlet API ,因为当一个Action被调用时HttpServletRequest

火车票售票管理系统(12).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)