一、了解了这几个主要的优点,会促使你考虑使用Struts2 :

    1、POJO表单及POJO操作 - Struts2 去除掉了Struts框架中的Action Forms部分。在Struts2框架下,你可以用任何一POJO来接收表单输入,同样的,你可以把任一POJO视为一个Action类。

    2、标签支持 - Struts2 改进了标签表单,而新的标签可让开发人员减少代码编写量。

    3、AJAX支持 - Struts2 被认可接收进Web 2.0技术,并创建了功能非常类似于标准的Struts2 标签的AJAX标签,把AJAX支持整合进其结果中。

    4、易于整合 - Struts有多种整合方式可使用,现在与其他类型的框架,如Spring、Tiles、SiteMesh之类的,整合更为容易了。

    5、模板支持 - 支持使用模板生成视图。

    6、插件支持 - 有大量的插件可用于Struts2,而使用插件可以增强和扩大Struts2 核心行为。

    7、促进减少配置 - Struts2 使用各种设置的默认值促进减少配置,而你不需要再配置什么除非是偏离了Struts2 设定的默认设置。

    8、视图技术 - Struts2 为多种视图选项(JSP、 Freemarker、Velocity、XSLT等)提供支持。

二、三层开发模型 MVC

模型(Model)-视图(View)-控制器(Controller),通常简称MVC,是一种开发web应用程序的软件 设计模式。该软件设计模式由以下三部分组成:  

        模型——属于软件设计模式的底层基础,主要负责数据维护。  

        视图——这部分是负责向用户呈现全部或部分数据。 

        控制器——通过软件代码控制模型和视图之间的交互。

三、Struts2的基本组件、架构

从一个高水平角度看,Struts2 是一个MVC拉动的(或MVC2)框架,Struts2 的模型-视图-控制器模式是通过以下五个核心部分进行实现的:

  • 操作(Actions)
  • 拦截器(Interceptors)
  • 值栈(Value Stack)/OGNL
  • 结果(Result)/结果类型
  • 视图技术
而Struts2 与传统的MVC框架略有不同,因为它由Action扮演模型的角色,而不是控制器,虽然这样会有一些重叠。

四、一个请求的生命周期

通过上述图片的描述,我们可以依照下面几点解释在Struts2 中用户的请求生命周期:

    1、用户发送一个资源需求的请求到服务器(例如:页面)。

    核心控制器查看请求后确定适当的动作。

    使用验证、文件上传等配置拦截器功能。

    执行选择的动作来完成请求的操作。

    另外,如果需要的话,配置的拦截器可做任何后期处理。

    最后,由视图显示结果并返回给用户

                                                                                                                   【备注:以上的概念性东西摘用自W3School里面的内容】

五、创建一个入门项目,初步了解Struts2:

1、使用IDEA创建Struts2的前期准备:

2、手动导入lib文件夹中的jar包可能无法被识别,这个时候需要手动配置一下就没问题了。

3、创建对应的目录结构:

   【如果,extends中报错了,可以按照下面的方法来记性解决。】

具体代码目录如下:

2、如果上面的准备工作完成,我们就可以按照需求来开始写代码了

后台的Action层,也就是和前端交互的入口 java程序:Demo1Action.java

package com.turtle.demo1;import com.opensymphony.xwork2.ActionSupport;/*** 测试:这个是测试的后台Action,用来处理前端的操作流程*/
public class Demo1Action  extends ActionSupport {@Overridepublic String execute() throws Exception {System.out.println("哈嘛批,你倒是跳啊!!!");return "success";}
}

Struts的配置文件,用来配置路径映射对应的java类和方法:Struts.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><package name="demo1" extends="struts-default" namespace="/"><action name="demo1Action" class="com.turtle.demo1.Demo1Action"><result name="success">/demo1/success.jsp</result></action></package>
</struts>

前端界面,一个是首页、一个是从后台重定向到新的界面:index.jsp  success.jsp

<%--Created by IntelliJ IDEA.User: szwb174Date: 2019/10/23Time: 10:21To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Struts2的入门测试</title>
</head>
<body><h1>Struts2的入门测试</h1><h2><a href="demo1Action.action">去Demo1Action中的Struts2的入门测试execute方法了</a></h2>
</body>
</html>

<%--Created by IntelliJ IDEA.User: szwb174Date: 2019/10/23Time: 10:29To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>demo1Action处理成功</title>
</head>
<body><h1>成功跳转过来了</h1>
</body>
</html>

web项目的核心配置文件,主要是配置前端过滤器: web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><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>
</web-app>

3、最后还需要 配置对应的服务器,就可以完成测试了:

4、测试结果:

六、总结:

  1、这是第一篇入门的文章,不涉及太多概念,只强调操作。搭建好环境,为了下面的深入学习做好铺垫,如果没有搭建好环境,不能自己去尝试的写代码,学习效率会很低。

  2、知道怎么跑通这个程序。对Struts2有一个大概的了解,能知道运行的流程。从前端经过前端控制器,然后再到Action处理器进行处理。

  3、能够对几个配置文件的位置、里面的内容有一定的理解。

  4、后面的文章会详细深入,对里面的知识点会一点一点的理顺。

  5、难度系数慢慢的提升,先会用,再去了解里面的小知识点即可。

1、Struts2基本入门相关推荐

  1. (转)Struts2快速入门

    http://blog.csdn.net/yerenyuan_pku/article/details/66187307 Struts2框架的概述 Struts2是一种基于MVC模式的轻量级Web框架, ...

  2. java struts2 框架 入门简介

    目录 一.Struts2框架执行流程 二.Struts2的快速入门 1.导入jar包 2.配置web.xml文件 3.配置struts.xml文件 4.创建Action来完成逻辑操作 三.Struts ...

  3. struts2 快速入门(01)第一个 struts2 程序

    第一个 struts2 程序 一.struts2 概述 Struts2 是 Apache 软件组织推出的一个基于 MVC 模式的轻量级 Web 框架,以理解为 WebWork 的更新产品 struts ...

  4. 【java开发系列】—— struts2简单入门示例

    2019独角兽企业重金招聘Python工程师标准>>> 上篇推荐:JDK安装 前言 最近正好有时间总结一下,过去的知识历程,虽说东西都是入门级的,高手肯定是不屑一顾了,但是对于初次涉 ...

  5. Struts2学习入门

    Struts 2 教程 Apache的Struts2是一个优雅的,可扩展的框架,用于创建企业准备的Java Web应用程序.该框架旨在简化整个开发周期,从构建,部署,维护应用程序随着时间的推移. Ap ...

  6. struts2框架入门

    1.struts2的工作原理和文件结构 2.struts2核心文件 struts核心文件包括: 1)web.xml 2)struts.xml 3)struts.properties 3.Action搜 ...

  7. Struts2简单入门实例

    2019独角兽企业重金招聘Python工程师标准>>> 1.安装JDK7 以及Tomcat7.0,详细步骤见之前的一篇日志中的前两个步骤,以下是链接: http://my.oschi ...

  8. Struts2快速入门实例代码教程

    Struts2是基于MVC设计模式的流行和成熟的Web应用程序框架.Struts2并不只是Struts 1下一个版本,但它是一个完全重写的Struts架构. WebWork框架开始了与Struts框架 ...

  9. 最详细Struts2基础入门

    struts2 1 框架概述 1.1什么是框架 1.2 三大框架 1.3 三层架构 1.4 MVC回顾 2 Struts简介 2.1 Struts2概述 2.2 Struts2的来历 3 Struts ...

  10. struts2 从入门到总结

    Struts2的知识详解   http://www.cnblogs.com/djoker/p/6219691.html Struts2源码详解     http://www.cnphp6.com/ar ...

最新文章

  1. 这是时间的推移 不是系统的分类
  2. Springboot 常见请求方式
  3. javaweb学习总结(四十五)——监听器(Listener)学习二
  4. 这么香的技术还不快点学起来,不吃透都对不起自己
  5. opencv生成日志_OpenCV在Android环境下的使用方法
  6. 成为埃森哲阿里巴巴事业部“创始成员”
  7. luogu1970 花匠
  8. ⟅UNIX网络编程⟆⦔目录
  9. 最小二乘法曲线拟合公式推导与代码实现
  10. 二十一条自动化测试过程中遭遇的问题及解决思路
  11. Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/
  12. Python|猜数字小游戏
  13. 优达学城无人驾驶工程师——P5车辆检测功能
  14. vue中长时间未操作就会强制退出
  15. 贪心算法1——找零钱问题
  16. IEEE 标准 802.1Qbv™-2015
  17. 最新ThinkPHP开发的简约自适应导航网站源码
  18. 正确设置 php-fpm子进程用户 提高网站安全性 防止被挂木马
  19. Android摄像头获取实时数据+Demo
  20. 自定义控件三部曲之动画篇(八)——PropertyValuesHolder与Keyframe

热门文章

  1. java解析marc乱码_国际C语言乱码大赛(IOCCC)的一个经典作品
  2. International Obfuscated C Code Contest(IOCCC)
  3. AdapterView(一)
  4. matlab开环传递函数 求单位负反馈的系统传递函数,已知负反馈控制系统的开环传递函数为...
  5. 龙格现象python程序_基于切比雪夫多项式的函数插值逼近
  6. JDBC知识 - 马士兵视频教程笔记
  7. itunes刷机一直正在恢复固件要多久_ios刷机报错故障汇总指南
  8. 浅谈计算机软硬件的日常维修与维护,浅谈计算机硬件的日常维护工作
  9. 产品补丁包测试的基本流程
  10. 《 免费手机WAP网站大全》