struts2的使用

struts是三大开源框架之一,要想在web项目中使用struts框架是非常容易的。首先要从官方网站下载struts2的最新版本,解压文档后应该先仔细观察文档的构成。src文件夹放的是struts2的源码,lib文件夹放的是struts2的jar包,docs文件夹放的是参考文档,而apps放的是struts2的示例,都是一些war文件。它有好几个war文件,此时可以解压一个最简单的struts2示例(struts-blank)。首先我们可以将示例web项目的lib目录下的jar包都复制到要使用struts2框架的项目的lib目录,然后要把示例中的struts.xml文档复制到我们的项目中,struts.xml中有许多配置,为了实现简单的使用struts,里面有一些配置可以不要,struts标签部分内容保留部分即可,如下:
<struts>
    <package name="default" namespace="/" extends="struts-default">
        <action name="index">
            <result name="success" type="redirectAction">/success.jsp</result>
        </action>
    </package>
</struts>
上面代码的意思是在一个从struts-default包中继承,namespace为斜杠,名为default的包中配置了一个名为index的action,当执行完action后的返回结果为success时,它会跳转到success.jsp页面。当然要想使用struts2框架,还需要在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>
该代码表示所有的请求都会被struts2的StrutsPrepareAndExecuteFilter类拦截。整个访问过程从用户在浏览器输入访问地址,因为web.xml文件中配置了struts2的拦截器,拦截所有的访问请求,服务器会到struts.xml文件中找相应的namespace,namespace可以写,也可以不写,不写则默认为"",接收所有的action,然后找相应的action,执行action下的execute方法(默认情况下),会有一个返回值,然后根据返回去找相应的结果(result不写name属性,则默认为success)对应的名称,进行页面的跳转,将访问结果在浏览器展示给用户。

猜你喜欢

转载自one-way.iteye.com/blog/1979830