zoukankan      html  css  js  c++  java
  • 01-struts2介绍与入门程序

    1.struts2介绍

    • 什么是框架,框架有什么用?

    框架 是 实现部分功能的代码 (半成品),使用框架简化企业级软件开发 ,提高开发效率。学习框架 ,清楚的知道框架能做什么? 还有哪些工作需要自己编码实现 ?

    • 什么是struts2框架,它有什么用?

    Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。
    其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心
    struts2=struts1+webwork;
    struts2框架是apache产品。
    struts2是一个标准的mvc框架。 javaweb中的model2模式就是一个mvc模式。 model2=servlet+jsp+javaBean
    struts2框架是在javaweb开发中使用的。
    使用struts2框架,可以简化我们的web开发,并且降低程序的耦合度。
    XWork---它是webwork核心
    Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,
    强大的表达式语言(OGNL – the Object Graph Navigation Language),
    IoC(Inversion of Control反转控制)容器等

    2.struts2快速入门

      1.快速入门步骤

    1.导入jar包

    下载struts2的jar包 struts-2.3.15.1-all 版本.

    struts2的目录结构:
    apps: 例子程序
    docs:文档
    lib:struts2框架所应用的jar以及插件包
    src:源代码 
    core 它是struts2的源代码
    xwork-core struts2底层使用了xwork,xwork的源代码

    注意:在struts2开发,一般情况下最少导入的jar包,去apps下的struts2-blank(将struts2-blank.war改为struts2-blank.rar解压)示例程序中copy

    2.对struts2框架进行配置

          • web.xml文件中配置前端控制器(核心控制器)-----就是一个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>/*</url-pattern>
                     </filter-mapping>
          • 创建一个struts.xml配置文件 ,这个是struts2框架配置文件。

                    

    目的:是为了struts2框架流程可以执行。

    名称:struts.xml
    位置:src下(classes下)

    3.创建一个HelloAction类

              

    要求,在HelloAction类中创建一个返回值是String类型的方法,注意,无参数。
    public String say(){
    return "good";

    4.在struts.xml文件中配置HelloAction

                

    1 <package name="default" namespace="/" extends="struts-default">
    2                 <action name="hello" class="cn.itcast.action.HelloAction"
    3                     method="say">
    4                     <result name="good">/hello.jsp</result>
    5                 </action>
    6             </package>

    5.创建index.jsp页面,hello.jsp页面。

    6.在index.jsp中添加连接,测试

            

    <a href="${pageContext.request.contextPath}/hello">第一次使用struts2</a>
    在地址栏中输入:http://localhost/struts2_day01/index.jsp 访问连接,就可以看到
    HelloAction类中的say方法执行了,也跳转到了hello.jsp.

      2.快速入门程序流程分析

    3.struts2流程分析与工具配置

        

    1.流程分析


    请求 ---- StrutsPrepareAndExecuteFilter 核心控制器 ----- Interceptors 拦截器(实现代码功能 ) ----- Action 的execute --- 结果页面 Result
    * 拦截器 在 struts-default.xml定义
    * 执行拦截器 是 defaultStack 中引用拦截器

    ---- 通过源代码级别断点调试,证明拦截器是执行


    2.关于手动配置struts.xml文件中提示操作



    如果安装Aptana编辑器 ,请不要用Aptana自带xml编辑器 编写struts2配置文件
    struts.xml提示来自于 DTD约束,
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
    如果可以上网,自动缓存dtd,提供提示功能
    如果不能上网,也可以配置本地DTD提示

    *** 导入DTD时,应该和配置DTD版本一致


    3.关联struts2源文件


    如果是com.opensymphony.xxx 在xwork-core下
    如果是org.apache.struts2 在core下

     


    4.使用插件 struts2-config-browser-plugin-2.3.15.1

     


    提供在浏览器中查看 struts2 配置加载情况

    将解压struts2/lib/struts2-config-browser-plugin-2.3.7.jar 复制WEB-INF/lib下

    访问 http://localhost/struts2_day01/config-browser/index.action 查看 struts2配置加载情况

     

     

  • 相关阅读:
    python-获取网页源码及保存网页图片到本地实例
    python-随机向文件中写入100个名字实例
    python-计算文件中每个字出现的次数
    python-序列类型
    python-字符串
    python示例1(基本知识巩固)
    python-示例(基本知识巩固)
    [leetcode] Binary Tree Upside Down
    Trie 树
    第K大问题
  • 原文地址:https://www.cnblogs.com/1963942081zzx/p/6442487.html
Copyright © 2011-2022 走看看