原理总结-struts

来源:互联网 发布:淘宝压缩图片 编辑:程序博客网 时间:2024/05/30 05:06

使命

改进和提高JSP,servlet,标签库和面向对象的技术水准
减少程序开发时间,提高复用率和开发效率

描述

提供了大量的标签
提供了一个总控制器
提供了一些类库的实现,如JDBC,国际化标准库,xml分析,下载机制等功能

MVC

  1. 视图(view)
    JSP页面。
    struts提供了标签库,来帮助用户解决显示逻辑。
    ActionForm封装了用户提交的表单信息,ActionForm本质是一个JavaBean。
  2. 控制器(Controller)
    struts提供了一个控制器组件ActionServlet,它继承自HttpServlet,并重载了HttpServlet的doGet(),doPost()方法,可以接受HTTP的响应,并根据ActionMapping(映射)进行转发,并根据配置生成ActionForm。
  3. 模型(Model)
    struts提供Action对象,来实现业务逻辑处理,根据ActionForm信息,进行业务处理。

处理流程

  1. ActionServlet接收用户请求,根据请求URL匹配ActionMapping对象,如果匹配失败,说明用户请求的URL路径信息有误,返回请求路径无效的信息;
  2. 当ActionServlet匹配到ActionMapping对象时,会根据ActionMapping中的映射信息判断对应的ActionForm对象是否存在,如果不存在对应的ActionForm对象就创建一个新的ActionForm对象,并把用户提交的表单信息保存到这个ActionForm对象中;
  3. ActionForm中的validate()方法对用户输入的表单进行验证;(可配置)

    其中,如果需要验证,ActionForm的validate()方法返回ActionErrors对象时,则表明验证失败,ActionServlet把这个页面返回到用户输入的界面,提示用户重新输入;如果方法的返回值为null,就表明验证已经通过。

  4. ActionServlet可以根据ActionMapping转发请求到具体Action,如果对应的Action对象不存在,就创建这个对象,并调用这个Action的excute()方法;execute()方法会返回一个ActionForward对象,ActionServlet把处理的结果转发到ActionForward对象指定的JSP页面;

  5. ActionForward对象指定的JSP页面,根据返回的处理结果,生成页面文档,并转发给用户。
原创粉丝点击