Struts扩展控制器及导航设置

Struts扩展控制器及导航设置

ID:43375865

大小:299.00 KB

页数:17页

时间:2019-10-08

Struts扩展控制器及导航设置_第1页
Struts扩展控制器及导航设置_第2页
Struts扩展控制器及导航设置_第3页
Struts扩展控制器及导航设置_第4页
Struts扩展控制器及导航设置_第5页
资源描述:

《Struts扩展控制器及导航设置》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Struts扩展控制器及导航设置deli.wu@gmail.com教学目标Struts控制器的组成理解struts框架的初始化流程理解struts框架的响应客户请求的流程理解struts框架响应客户请求的流程Struts中定制前端控制器Struts中配置多模块开发Struts控制器的组成在Struts各种组件中最重要的组件就是控制器组件.Struts控制器组件的组成Struts控制器主要由ActionServlet组成,另外包含RequestProcessorAction及ActionForward三个辅助类.Strut

2、s多应用模块多应用模块是指同一个应用包含多个子应用,每个子应用可以处理相关的一组功能,例如:对于网上购物,可以由一个子应用来处理商品和商品目录信息.再由另一个子应用来处理购物车和订单信息.把应用划分为多个模块,可以简化应用的并行开发过程,缩短开发周期.在Struts中,所有的子应用都共享同一个ServletAction但是每一个子应用都有单独的配置文件和RequestProcesser实例.Struts多应用模块Struts框架的初始化流程Servlet容器会在ActionServlet被加载后立即执行它的init()方

3、法,以下是ActionServlet的init的执行过程分析:调用initInternal()方法,初始化所有在Struts框架中用到的消息资源,例如:日志,警告,错误信息等.调用initOther()方法,从web.xml中加载ActionServlet的初始化参数,例如:config等.调用initServlet()方法,从web.xml中加载ActionServlet的URL映射信息.Struts框架的初始化流程调用initModuleConfig()方法,加载并解析默认子应用模块的Struts配置文件,并创建Mo

4、duleConfig对象,并且将它存储在ServletContext中.调用initModuleMessageResource()方法,加载并初始化默认子应用模块的消息资源,并且建立MessageResources对象,并将它保存在ServletContext中.调用initModuleDataSource()方法,加载并实始化默认的子应用模块数据源,如果没有在struts的配置文件中配置元素,这一步将被忽略.调用initModulePlugins()方法,加载并初始化默认子应用模块的所有插件.

5、当默认的子应用模块初始化成功后,如果还有其它的子应用模块,ActionServlet将重复4到7的步骤,分别对其它子模块进行初始化.Struts框架的初始化流程Struts框架响应客户请求的流程Struts框架响应客户请求的流程当ActionServlet实例接收到HTTP请求后,在doGet()和doPost()方法中都会调用process()方法来处理请求.ModuleUtils.getInstance().selectModule(request,getServletContext());//选择请求相关的子应用模

6、块ModuleConfigconfig=getModuleConfig(request);//获取请求相关的配置文件RequestProcessorprocessor=getProcessorForModule(config);//获取请求相关的处理器if(processor==null){processor=getRequestProcessor(config);}processor.process(request,response);RequestProcesser的process()方法首先调用processMul

7、tipart()方法.如果Http请求的为Post方法,并且请求的Content-type的类型为mutipart/form-data,标准的HttpServletRequest将被重新封装以处理多数据体的Http请求,如果没有设定Content-type则直接返回HttpServletRequest对象.调用processPath()方法,获取请求的URI路径,该信息用于选择合适的Action组件调用processLocale()方法,当ControllerConfig中的locale属性为true时,将读取用户请求中

8、包含的locale信息,然后把locale信息保存在session范围内.调用processContent()方法,读取ControllerConfig中的contentType属性,然后调用response.setContentType(contentType)的方法设置响应的文档类型及字符编码.RequestPr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。