struts2 开发流程以及配置文件

  Mybatis完成了对JDBC的封装,而Struts2完成了对jsp,servlet的封装。首先,三层架构

  

Struts2的原理图:

开发流程:    1.导入jar包。

  2.建立名为“struts.xml”的配置文件  注:该文件必须放在src的目录下

  表头:

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE struts PUBLIC
3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
4     "http://struts.apache.org/dtds/struts-2.3.dtd">
5        

    

<struts>
        <!-- 
        package:为了将逻辑相关的控制器进行封装(业务上不相关的控制进行隔离)
      name:你自己给该包起的名字,(名字完成包和包之间的继承)
      namespace:应用控制器,请求路径的构成部分(前缀)    
      extends:继承其他包中定义的功能,通过包名字继承
action:给某个应用javabean,注册一个请求路径 name:应用javabean的请求路径 class:应用控制器的完全限定名 method:指定本次请求,所调用的应用控制器javabean中的方法名 result:指定该Action执行的结果类型(跳转另外一个action,还可以跳转某个视图view(jsp)) name:指定跳转的路径对应的逻辑名称
--> <package name="" namespace="/" extends="struts-default"> <action name="" class="" method=""> <result name="" type="">/index.jsp</result> <!-- result:指定该Action执行的结果类型(跳转另外一个action,还可以跳转某个视图view(jsp)) name:指定跳转的路径对应的逻辑名称 type:指定不同action之间,action和jsp之间的的跳转方式 dispatcher(默认值,通过请求转发的方式,跳转某个jsp页面) redirect:通过重定向的方式,跳转某个jsp页面 [zhongdian] chain: 通过请求转发的方式跳转到某个action(组成Action链) redirectAction:通过重定向的方式,跳转某个action页面 plainText:将视图的源文件响应给客户端 stream:完成由服务器向客户端写入数据 --> <result name="" type=""> <param name="actionName"></param> <param name="namespace">/</param> <param name="methodName"></param> </result> </action> </package> </struts>

  3.建立用来接收数据的javaBean的action类(应用控制器)。

        public String execute(){ //execute是struts默认的方法名称 

        return "";//返回的字符串是structs.XML中action标签中的result的name属性名称

     }

 

   Struts2的执行顺序 

    

     1 发送   test/numAction.action  请求

     2 进入到struts2的核心控制器(strutsPrepareAndExecuteFilter

     3 核心控制器,在内存中根据请求的url,查找对应的应用控制器(javabean

     4 javabean进行实例化,调用相应的处理方法(默认execute()方法) 

     5 更具execute方法的返回值,struts2的核心控制器根据返回值(结果类型的逻辑名称)对应的路径完成跳转

原文地址:https://www.cnblogs.com/bingzhikun/p/4817457.html