暑期ssh框架之struts2学习笔记一

来源:互联网 发布:qq空间辅助软件 编辑:程序博客网 时间:2024/06/05 22:41

     经过一个暑期的学习,现在已经基本掌握了ssh框架,现在这里记录下学习心得,以便交流需要。这里的学习心得以传智博客的《SSH框架整合实战教程》为准,部分打乱教材顺序。


教材第一章:

一、本篇导读:

      关键语句1、:使用拦截器的机制处理用户请求,使得业务逻辑控制与servrlet  API完全脱离开

      关键语句2、:result标签,很方便地实现页面重定向与页面跳转

二、执行流程:

    上图是实现完成c/s模式的流程图,用方框框出的,是涉及的到的相关文件,下面,将依次讲解这些文件,以及这些文件中所涉及到的关键语句。

在index.jsp文件中,有如下语句:

                     

  <a href="${pageContext.request.contextPath}/helloWorld.action">hello world</a>

当我们点击超链接hello world时,向服务器发送的request的action属性的值是helloWorld.action,这个action首先会经过struts.xml,struts.xml文件的作用是什么,可不用深究,总之记住这个文件必须要,其中的配置也是固定的,接下来,这个action会到struts.xml中,struts.xml中有如下语句:

                      

  <action name="helloWorld" class="cn.itcast.action.HelloWorldAction"></action>


根据这个action标签中的name属性,对应的实现类是cn.itcast.action.HelloWorldAction,接下来,就轮到这个实现类来发挥作用了,发挥作用的结果是返回一个字符串。这个实现类的代码如下所示:

        

     packge.cn.itcast.action;              import com.opensymphony.xwork2.ActionSupport;              public class HelloWorldAction extends ActionSupport{                          public String execute throws Exception(){                                      return "success";                                   }                        }


这个servlet的返回值是一个字符串,这个字符串的值是success,返回的值交给谁呢?交给struts.xml,注意struts.xml文件中有如下代码:

        

    <action><result name="success">/success.jsp</result></action>


这个返回值和struts.xml文件中的result标签中的name属性的值“success”相对照,发现这两个字符串的值是一样的,那么就返回success.sp页面,至此,整个c/s模式完全实现,这就是struts2框架的执行流程。下面,我们将以树的形式罗列出整个项目的文件结构,方框为需要我们编程的部分,箭头为数据流向的部分。


福利:教材第一章课后习题解答:

      

   web.xml中配置Struts2核心过滤器的代码片段:          <filter>               <filter-name>struts2<filter-name/>               <filter-class>                           org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter                </filter-class>          <filter/>


原创粉丝点击