zoukankan      html  css  js  c++  java
  • 【java框架】Struts2(1) -- Struts2入门

    Struts2入门基础

    1.   Struts2的认识

    Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为核心控制器(Controller)来建立模型与视图的数据交互。

    Struts2是Struts的下一代产品,是在Struts1和WebWork的技术基础上进行了合并的全新的Struts2框架。

    Strust2主要有以下几点核心功能:

    ①    允许POJO(Plain Old Java Objects)对象 作为Action

    ②    Action的execute 方法不再与Servlet API耦合,更易测试

    ③    支持更多视图技术(JSP、FreeMarker、Velocity)

    ④    基于Spring AOP思想的拦截器机制,更易扩展 AOP 面向切面编程

    ⑤    更强大、更易用输入校验功能

    ⑥     整合Ajax支持(局部刷新技术)

    2.   Struts2基于Hello World构建一个Web项目

    2.1.下载Struts2

    可以到Struts2官网进行下载Struts2版本:http://struts.apache.org/download.cgi

    目前最新版本Struts2为2.5.22,这里使用Struts2 2.3.20版本为例进行构建项目。

    下载完成后解压struts-2.3.20-all.zip即可。

    这里说明一下Struts2的目录结构:

     

    apps目录:主要包含基于Struts2的示例应用,对于初学者可以学习示例中的Demo进行项目构建;

    docs目录:主要包含Struts2的相关文档,包括Struts2快速入门、Struts2API文档等;

    lib目录:主要包含Struts2框架和核心类库,以及Struts2第三方插件类库;

    src目录:主要包含Struts2框架的完整源代码

    2.2.搭建一个Hello World项目并运行

    ①在解压后的struts-2.3.20的目录路径:struts-2.3.20apps struts2-blank.war,找到struts2-blank.war包进行解压,解压后在:struts2-blankWEB-INFlib中找到对应的jar包,如下图所示:

    在IDEA构建的web项目中引入这些jar包即可:

    ②在web.xml文件中配置核心控制器,在刚才解压的struts2-blankWEB-INFweb.xml中拷贝web.xml文件,拷贝以下核心控制器部分及filter-mapping映射:

    ③创建Action类返回结果视图映射语句;

    ④配置struts.xml核心配置文件;

    注意文件命名方式必须是struts.xml;可以在解压后的struts2-blankWEB-INFclassesstruts.xml中找到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 
     6 <struts>
     7 
     8     <package name="default" namespace="/" extends="struts-default">
     9         <!--
    10             name:action的名称
    11             class:action类的全限定名
    12             method:执行的方法
    13         -->
    14         <action name="hello" class="cn.yif.action.UserAction" method="excute">
    15             <!--result:结果视图
    16                 name:结果视图的名称,注意必须和action中excute方法的返回值对应
    17                 type:跳转的类型
    18                 /success.jsp:跳转到成功页面-->
    19            <result name="success" type="dispatcher">
    20              /success.jsp
    21            </result>
    22         </action>
    23     </package>
    24 
    25 </struts>

    3.   Struts2的运行流程

    通过前台页面uri路径hello,访问路径会经过web.xml中配置的struts2核心控制器,配置的url-pattern会对相应的路径进行拦截处理,由二级代理StrutsPrepareAndExecuteFilter定位到struts.xml文件,在struts.xml文件中找到对应hello所对应的Action,通过反射区去创建一个Action对象,在通过反射调用对应method中的方法,而我们的方法会返回一个String,这个String类型的结果对应struts.xml中结果视图的名称,这时会找到对应的结果视图,对应相应的结果视图类型type与结果视图的路径进行跳转。

  • 相关阅读:
    使用xtrabackup对MySQL进行备份和恢复
    魔棒工具RegionGrow算法简介
    编程之美扫雷篇
    从繁体字到书法
    谈读书如何才能提升你的工作能力
    魔兽争霸拼图照片一张
    做你心目中的达文西
    六一儿童节的礼物那些游戏中你不知道的玩法
    DIY手工制作Rhombicuboctahedron
    ul样式与jquery1.4.1冲突
  • 原文地址:https://www.cnblogs.com/yif0118/p/12389804.html
Copyright © 2011-2022 走看看