SSH框架之Struts2 第一天

 1. Struts2框架概述:

    Struts2是一种基于MVC模式的轻量级Web框架,是Struts1与WebWork技术的基础上进行合并后的全新框架(与Struts1有很大的区别)。在传统方式的开发中,有一次请求就会对应一个Servlet。这样导致出现很多Servlet,而Struts2将所有的请求都先经过过滤器,在过滤器中实现框架的部分功能,剩下的具体操作提交到具体的Action中。Struts下载地址:https://struts.apache.org/


  2. 搭建Struts2框架

     导包

        解压Struts文件apps —–> struts2-blank.war 文件解压WEB-INF —–> lib 下的jia包就是所需要的包

          

     书写Action类

        1.新建一个后缀名为Action的普通类 继承ActionSupport类

        2.创建一个返回值为String类型,无参数的方法

        

 1 import com.opensymphony.xwork2.ActionSupport; 2  3 public class HelloWorldAction extends ActionSupport { 4  5     public String hello() { 6          7         System.out.println("hello world"); 8         return "success"; 9         10     }11     12 }

     书写src/struts.xml

        新建一个strut.xml的文件

          文件内写入约束(导入后的Struts2-core jar包中的Struts-2.*.dtd中的一段话 )

            

            

          接下来开始配资

              

<struts>            <!-- package:將Action封裝,可以配置很多action                    name:给包起个名字,起到标识作用,不能与其他的重复                    namespace:给action的访问路径定义一个命名空间                    extends:继承一个指定堡struts—default                    abstract属性:包是否为抽象的;标识属性,表示该包不能独立运行,专门被继承,给看代码的人看的无用             -->        <package name="hello" namespace="/hello" extends="struts-default">                <!-- action属性:配置action类                    name属性:决定Action访问的资源名                    class属性:action的完整类名                    method属性:指定调用Action中的那个方法来处理请求                 -->            <action name="helloAction" class="com.mabt.struts2.HelloWorldAction" method="hello">                     <!-- result属性:结果配置                        name属性:标识结果处理的名称,与action中的method的返回值相对应                        type属性:指定调用哪一个result类来处理结果,默认使用转发                        标签体:填写页面的相对路径                     -->                <result name="success">/hello.jsp</result>            </action>        </package> </struts>

     将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>

     测试

        


    3. Struts 常量配置

      常量的默认位置

        默认的位置在default.properties文件中

          

      修改的方式

        第一种:用struts.xml文件进行修改

            用<constant>标签进行修改

            

        第二种:用struts.properties文件进行修改

            

        第三种:用web.xml进行修改

            用<context-param>标签进行修改

              

      常用的常量

        


      4. 动态方法调用

    

    <struts>            <package name="hello" namespace="/hello" extends="struts-default">                        <!--动态调用hello方法(访问时用hello代替*),*前面,helloAction后面可为任何字符,也可没有-->            <action name="helloAction_*" class="com.mabt.struts2.HelloWorldAction" method="{1}" >                        <!--method="{1}"标识将第一个*传来的值给method-->                 <result name="success">/hello.jsp</result>            </action>        </package>    </struts>

    


      5. struts.xml中 默认值的设置

        action 的 method属性的默认值为:execute;

        result 的 name 属性的默认值为 :success

        result 的 type 属性的默认值为: dispatcher 转发;

        

  <!--   action 的 method属性的默认值为:execute;        result 的 name 属性的默认值为  :success        result 的 type 属性的默认值为:  dispatcher  转发; --><!--找不到包中的action,hello.jsp会作为默认的action处理请求 --><default-action-ref name="/hello.jsp"></default-action-ref>

        

      

    

人生重要的不是所站的位置,而是所朝的方向

SSH框架之Struts2 第一天

相关文章:

你感兴趣的文章:

标签云: