• 2012/7/30 Struts2学习笔记


    Struts是在WebWork2基础发展而来的。和struts1一样,Struts2也属于MVC框架。尽管struts2和struts1名字很像,但二者在代码风格上几乎是不一样的,那么既然有了struts1为什么还要有struts2呢?主要因为struts2有以下优点:

    ①在软件设计上struts2没有像struts1那样跟servlet api和struts api有着紧密的耦合。struts2的应用可以不依赖于servlet api和struts api.这种设计是属于无侵入式设计。

    ②struts提供了拦截器、利用拦截器可以进行AOP编程,实现如权限拦截等功能。

    ③struts提供了类型转换器,我们可以把特殊的请求参数转换成所需要的类型。在struts1中,如果我们要实现同样的功能,就必须向struts1的底层实现BeanUtil注册类型转换器才行。

    ④struts2提供支持多种表现层技术,如:JSP、freeMarker、velocity等

    ⑤struts2的输入校验可以对指定方法进行校验,解决了struts长久之痛。

    ⑥提供了全局范围、包范围、和action范围的国际化资源文件管理实现。

    搭建struts2开发环境

    开发struts程序至少需要的jar:

    ①struts2-core-2.x.x.jar:struts2框架的核心类库

    ②xwork-2.x.xjar Xwork类库,struts2在其上构建

    ③ognl-2.6.xjar 对象图导航语言,struts框架通过其读写对象的属性

    ④freemarker-2.3.x.jar struts2的UI标签的模板使用freeMarker编写。

    ⑤commons-logging-1.1.x.jar ASF出品的日志包,struts2框架使用这个日志包来支持log4j和JDK1.4+的日志记录

    ⑥commons-fileupload-1.2.1.jar文件上传组件,2.1.6版本后必须加入此文件、

    1.打开Myeclipse->new->web project->取名struts2->finish.

    2.将所需要的包放到webroot/web-inf的lib目录下。

    3.打开下载的包,找到apps目录,选中一个例子,打开其web-inf/classes目录,拷贝struts.xml到项目src目录下,然后把<struts>和</struts>之间的内容删掉。再打开下载的包的apps目录,选中一个例子,打开其web-inf目录。打开web.xml,拷贝

    <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>

        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>

    内容到项目的web.xml中去。

    注意:在StrutsPrepareAndExecuteFilter的init()方法中将会读取类路径下默认的配置文件struts.xml完成初始化操作。struts读取到struts.xml的内容后,以javabean形式存放在内存中,以后struts2对用户的每次请求将使用内存中的数据,而不是每次都读取struts.xml文件。

  • 相关阅读:
    pythonchallenge(二)
    pythonchallenge(三)
    pythonchallenge(一)
    [译]Python编写虚拟解释器
    [译]用R语言做挖掘数据《七》
    [译]用R语言做挖掘数据《六》
    [译]用R语言做挖掘数据《五》
    编译安装php容易出现的问题以及解决办法
    关于nodejs模块安装后找不到包解决办法
    gulp的入门
  • 原文地址:https://www.cnblogs.com/howlaa/p/2615962.html
Copyright © 2020-2023  润新知