Struts1.x学习

最近看看了有关struts1的资料文章,于是小弟不才,自己也来个小小的总结,希望和我一样的初学者能通过我的文章学习到一些知识,相互交流

1.struts的工作流程:
通过web.xml加载org.apache.struts.action.ActionServle,进行struts核心控制器的初始化工作,初始化过程中读取struts-config.xml,加载不同的 ModuleConfig对象。
比如配置文件中的Action映射定义都保存在ActionConfig集合中。相应地有ControlConfig集合、FormBeanConfig 集合、ForwardConfig集合和MessageResourcesConfig集合等。
控制器接受到HTTP请求之后,通过ActionConfig,通过path找到相应的action,如果没有相应的action,控制器会直接将请求转发到JSP或者静态页面,否则控制器会通过控制分发转发到相应的action类进行处理。
在action执行execute方法之前首先会通过actionForm 进行填充,在HTTP提交请求的时候,页面提交所有的属性都会通过form 保存到actionForm中。 这个时候可以通过actionForm 中的validate方法进行格式验证。之后会通过actionMapping 进行控制转发跳转。
action其实主要是作为一个中间桥梁,作为JSP页面和javabean的中间交换。祈祷一个控制转发作用。

2模块开发:
在应用struts的时候我们都在运用大量的struts-config.xml在处理我们的action转发,项目模块的不断增加我们可以进行模块化的配置,加载不同的struts-config.xml
 <servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml, /WEB-INF/struts-config-registration.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

3.ActionServlet:
作为struts的核心控制器,当初始化后进行,请求之后,会调用其中的
process方法进行每个方法的调用器:
   
protected void process(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {

ModuleUtils.getInstance().selectModule(request, getServletContext());
ModuleConfig config = getModuleConfig(request);

RequestProcessor processor = getProcessorForModule(config);
if (processor == null) {
processor = getRequestProcessor(config);
}
processor.process(request, response);

}


引用与部分内容。http://www.ibm.com/developerworks/cn/java/l-struts1-1/#author
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值