您的位置:首页 > 编程语言 > Java开发

struts 学习之原理篇

2005-05-26 19:35 323 查看
当ActionServlet 收到一个请求, 它通过一系列的流程处理locale, mapp
后是Action来运行这个请求。这里某些步骤只在Struts 1.1 应用才有:
处理多部分请求. 如果请
Servlet 用一个特殊的句柄包装这个请求,避免处理错误。
求是个多部分请求 (比如,一个表单加上一个MIME附件), 处理路径 ActionServlet 首先检查这个请求路径是否是一个应用模块。如果是,相
应模块的配置被选中。[Struts 1.1]
处理场所. 默认下,Ac 标准的locale 对象在用户会话
的上下文当中。如果没有, ActionServlet将放入一个。这个对象将为每个用户提供
化表现。
tionServlet 会检查是否有一个本地
处理内容和不缓存 默认的MIME 类型和可选的请求头将加在响应之上。
处理映射( Mapping pping,是否有注册的路径符合
正处理的请求。如果没找到, ActionServlet 转发到默认(或 “unknown”) Action(如
有默认或未知A ad request” 错。如果找到相关映
射,将被放入请求之中,供后面引用。
) ActionServlet检查ActionMa果设定ction),否则,产生一个 “b 处理角色. ActionServ 可以访问action. [Struts 1.1] let 检查是否用户被授权
处理ActionForm. ActionServlet 检查是否mapping 标明一个ActionForm.。如果是,
之内(默认是会话)。如果不存在,
ActionServlet 创建一
servlet 检查是否已经有一个存在于特定的范围个。 处理组装. ActionForm的 reset 方法被调用,然后通过反射机制被自动组装。匹
配 orm属性的参数将被使用。其他参数和属性被忽略。 ActionF
处理验证 ActionForm的 validate 方法被调用。如果方法返回false, 控制传递给
ActionMapping的input 属性 ction 未被处理。 标明的路径, A
处理转发和包含 如果ActionMapping 标明 或include 属性,控制被传
递给其他资源。否则ActionS 给一个Action 对象。
forward ervlet 将请求委托
处理 Action. 如果mapping 标 型, ActionServlet检查是否已经有一
个被实例化了。如果没发现, Action 对象将被实例化。每个类只能有一个Action 对
模式),它通过多线程处理所有对它的请求。
perform 或 execute 方法,传递请求, 响应, mapping, 以及form bean。
Action 执行要求的行为,可以包括:
明一个Action 类象 (SingletonServlet调用 Action的
访问数据系统,比如JDBC 数据库 在请求中创建被视图使用的对象
如果需要,在会话中创建对象
根据需要更新会话对象,比如用户的场所
执行需要的业务功能
处 其他错误条 理以外和件 发送一个直接发送一个响应,或者返回一个ActionForward 给servlet
务,可以放在业务对象中的代码都应该放入业务对象。
ction 是一个控制器类,不应该用来处理业务的核心逻辑。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息