struts2框架的学习一

作者: IT丶小菜鸟 | 来源:发表于2016-07-13 23:01 被阅读2149次

    strust2框架来历简介:

    WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的J2EE Web框架。(同时也是一个成熟的基于Web的MVC框架)。
    MVC:Model View Controller, model是模型,view是视图,controller是控制器,是一种框架模式.
    随着WebWork框架的发展,衍生出了strust2框架,因此strust2框架是WebWork的升级,而不是一个全新的框架,因此稳点性、性能等方面都有很好的保证,而且也同时吸收了struts1框架和WebWork俩者的优点.所以strust2框架也是一个基于Web的MVC框架.。

    注意:strust2框架并不是struts1框架的延续或者升级,俩者有着很大的不同。

    struts2框架的搭建

    • 1、 获取发布包 :struts2官网 apache github 百度,(如若需要这里有我自己搭框架时的struts2的框架包http://pan.baidu.com/s/1boIZIY7

    • 2、导包:获取到jar包之后导入到自己的项目中,注意导入的jar包放在自己项目的WebContent\WEB-INF\lib\下面。

    • 3、配置web.xml:在web.xml文件中配置struts2框架的过滤器.
      这个过滤器的作用:拦截struts2框架中的action.注意:如果不配置这个filter,struts2框架就不能够工作。

        <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>*.action</url-pattern>
        </filter-mapping>
      
    • 4、配置struts2核心配置文件 struts.xml:在struts.xml配置action的目的和作用:通知 struts2框架我们写的这个类是一个Action,将来struts2框架中要给这个类创建对象,调用方法以及这个Action加入更多丰富的功能。

        <?xml version="1.0" encoding="UTF-8" ?>
         <!DOCTYPE struts PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
            "http://struts.apache.org/dtds/struts-2.3.dtd">
         <struts>
            <constant name="struts.enable.DynamicMethodInvocation" value="false" />
            <constant name="struts.devMode" value="true" />
            <package name="default" namespace="/" extends="struts-default">
                
            </package>
            <!-- <include file="example.xml"/> -->
        </struts>
      

      注意如若在struts.xml里面没有默认提示,则需要自己手动的去给struts.xml文件添加提示,步骤为:

      第一步:解压struts2-core-2.3.24.1.jar包,并在文件里面找到struts-2.3.dtd文件,并放在你的项目下的dtd文件中。
      第二步:选择eclipse里面Window下面的preference,在搜索框里输入xml,在选择xml catalog,
      然后点击add,Location里选择你的dtd文件在项目中的位置,keytype选择URI,然后key为 http://struts.apache.org/dtds/struts-2.3.dtd,最后点击ok即可。

    struts2项目开发

    • 1、编写Action类:在创建一个bean类之后,我们再创建一个与之对应的Action类,(如我们创建了一个名为User的bean类,再创建一个名为UserAction的Action类),同时注意我们的action类名编写是有一定的规律的,一般为相对应的bean类加上Action借尾的。

      一般Action类里面有大量返回值为String类型的方法,如:

      public String toLogin(){
      
        System.out.println("跳转到登陆页面");
      
        return "login";
      

      }

    • 2、 配置struts.xml:没创建了一个action类或者添加了返回值为String的方法之后都要去struts.xml文件里面去进行相应配置。

        <package name="default" namespace="/" extends="struts-default">
      
              <action name="user_*" class="com.wjy.week3.web.action.UserAction"
             method="{1}">
             <result name="login">/WEB-INF/jsp/login.jsp</result>
            </action>
          </package>
      

      第一行package中的name属性意思为:表示给当前package起一个名字为default,并且唯一标识这个package。
      namespace属性意思为:表示当前package的命名空间为/,将来这个package里面的所有的action在被访问的时候,路径里面都要加上这个命名空间。
      extends属性意思为:继承的包名为那个,一般默认为继承struts2里面核心默认包struts-default。
      action里面的name标签:表示为将来在游览器要访问这个Action类就要以"user_"开头的名字去匹配。
      class:该Action类在你项目中的位置。
      method:调用方法匹配的字段,如若name="user__";则method="{2}";
      result:返回的结果为什么,则想某个页面跳转。

    • 3、测试:当我们把项目部署到服务器并启动服务器的时候,我们就可以在浏览器中输入"http://localhost:8888/week3/user_toLogin.action"的时候就可以访问到我们要跳转的页面了。

      注意:struts2框架是默认过滤以".action"结尾的url的,所以我们使用struts2框架访问时都要以.action结尾,否则是访问不到我们所需要的资源的。

    相关文章

      网友评论

        本文标题:struts2框架的学习一

        本文链接:https://www.haomeiwen.com/subject/adlejttx.html