传智播客 struts1.x 特点与相关概念

来源:互联网 发布:重生之网络娱乐 精校 编辑:程序博客网 时间:2024/05/16 19:07

 

    为了更好的学习struts,在正式上课之前先预习了赖家材老师的视频。赖老师对struts理论讲的比较深入。很多知识点都深入到struts的原理和内部源码的实现。如果彻底掌握赖老师视频中的知识点,相信struts的功底会有很大的提升。struts有两大版本,为什么不直接学习新的版本的呢?首先目前仍然有一些公司是在用struts1.x,其次是自己要做的项目不一定就是新的项目,很有可能是对原有的项目进行二次开发。最后就是如果struts1.x能学会,那么struts2.x就会非常简单了。因此,学习掌握struts1.x还是非常重要的。在这套视频中有如下内容:为什么要使用struts,Framework的概念,struts的概念和体系结构,struts的实践步骤,struts的工作原理,struts的组件,struts配置文件简介,struts的标记库,错误处理框架,校验框架,高级特性以及struts的优缺点。
    在没有学习框架之前,以前实现一个用户登陆功能(如果用户输入的用户名和密码都正确,就跳转到登陆成功页面,否则跳转到登陆错误页面)需要分成三块:一是页面,比如做一个登陆页面(Login.jsp),登陆成功的页面(Loginsuccess.jsp),登陆失败的页面(Loginfailure.jsp),第二个就是控制器,一个主控制器和一些辅助控制器,第三个就是一些辅助的JAVABEAN,用来传递数据。如果这样做一个比较大的项目将会出现混乱的局面,其中控制器的代码很多都是重复性的。当利用框架以后,就可以避免以上情况的发生,最重要的是能避免很多重复性的代码。使用struts有如下四点理由:
      1.它建立在MVC模式上,虽然struts在M、V和C上都有涉及,但是它主要是提供一个好的控制器和一套定制的标签库。换句话说struts的着力点在控制层和显示层上。它的有点非常多,比如机构层次分明,高可重用性,增强了程序的健壮性和可伸缩性,便于开发和设计分工,提供集中统一的权限控制、校验、国际化、日志等等。
      2.struts是开源项目,有很多程序大师和高手进行技术支持,而且其也经过了实战检验,功能比较强大,体系也变得逐渐完善。
      3.struts与其它技术和框架有很好的融合性,比如spring和hibernate等等框架的整合。
      4.使用struts能大大提高开发的速度。
    下面来了解一下相关概念,框架(Framework)简单理解就是一个技术方案,这个方案是人们用来解决相同或者相似类型问题的。因此框架就具有可重用性、可扩展性、可收缩性的特点。struts是一个灵活的控制层框架。视频中使用的struts是直接在官网下的struts-1.3.8-all.zip包,里面包括jar包、源码、例子、文档等内容。学习struts时可以看下载的包中的例子和文档。接下来就是实践struts,分四步,分别是搭建环境、建立ActionForm、建立Action、页面访问。搭建环境首先需要导入struts和它要用到的jar包,可以直接从下载的包中的lib库中导入,接下来就是建立一个struts的配置文件struts-config.xml,放置在WEB-INF下。第三步就是修改WEB应用的web.xml,注册struts的前端控制器(ActionServlet),要保证该控制器预先加载。
      <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</param-value>
          </init-param>
          <load-on-startup>0</load-on-startup>
      </servlet>
      <servlet-mapping>
          <servlet-name>action</servlet-name>
          <url-pattern>*.do</url-pattern>
      </servlet-mapping>
    以上就是在web.xml文件中注册struts的前端控制器,和普通servlet配置一样,名字都可以随便取。唯一不同的地方就是该Servlet类是已经写好的,直接拿来用。所以配置的时候,完整的类名不能写错,最好直接从开发文档中复制过来。从上可以看出,所有以.do结尾的请求都将发送给该ActionServlet。然后该servlet再进行转发处理,这有就解释了为什么称ActionServlet是前端控制器了。请求到ActionServlet后,需要转发,这个时候就需要有一个配置文件告诉ActionServlet该往什么地方转发,因此ActionServlet还需要一个配置文件做初始化的参数。这个配置文件也是struts应用的核心配置文件。完成这些以后,struts应用的环境就应该算是搭建好了。

原创粉丝点击