一、struts2 是一个框架,属于属于表现层,需要我们基于这个框架下进行开发。

特点:

可读性 可维护性 可拓展性。

javaEE 开发根据职责的纵向划分:表现层 业务层 持久层。也就所说的javaEE的三大框架(ssh)。

表现层:负责处理与界面交互的相关操作。(struts2/spring)。

业务层:负责复杂的逻辑业务计算和判断。(spring)

持久层:负责将业务逻辑数据进行持久化处理。(Hibernate/MyBatis)

如图所示:

MVC 思想

作用: 将表现层中的代码做的更加细致的划分,也就是说责任分离。

数据模型(model)负责封装应用的状态,并实现应用的功能。通常有划分为数据模型、业务模型,数据模型负责用来存放业务数据(订单信息、用户信息),业务模型包含应用的业务操作(数据添加、修改)等。(Service、DAO/Entity)

视图展现(view):也就我们所说的界面,用来将模型的内容展现给用户,用户可以通过视图来请求模型进行更新,用户可以通过点击按钮向控制器发送请求。(jsp)

控制器(controller):用来控制应用程序的流程和处理视图所发出的请求。(Selvlet)

二、前端控制器(核心控制器)

流程图:

前端控制(Front Controller)是在web应用系统前端设置一个入口控制器,所有的request请求都该发往该控制器统一处理。(认证 导航 session 国际化 本地化处理)

优点:

1、集中控制

2、提高管理性和安全控制能力

3、提高可重用性可扩展性

三、Struts2 入门

Struts1 与 Struts2 是相互不兼容的。

Struts2框架 = Struts1 + XWork;

Struts1 与 Struts2 区别

Struts1 有个核心控制器,但是只提供一个接口,也就是 execute ,还要配置actionform之类的,依赖性比较强。

Struts2 是针对拦截器来开发的,就是所谓AOP思想,可以配置很多的action,但是因为请求之前的拦截器有一些注入的操作,速度相对Struts1 慢一些。

3.1、 strut2 框架是通过过滤器来配置前端控制器 (web.xml)配置

语法如下:

<filter>

<!--权限命名 -- >

<filter-name>struts</filter-name> --名称自定义

<filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> --类路径 快捷键查找 【Ctrl+Shift+t】 输入【strutspre】

</filter>

<filter-mapping>

<filter-name>struts</filter-name>--自定义名称

<url-pattern>/*</url-pattern>--过滤所有文件

</filter-mapping>

3.2、 找到请求分发的xml文件进行配置映射【struts.xml】,将文件到src目录下

配置语法:

<package name="名称" extends="struts-default" namespace="/">

<action name="action名称" class="命名空间" method="方法名称">

<result name="方法的返回值" type="跳转方式">跳转路径</result>

</action>

</package>

例如:

新建类文件 hellow.java 命名空间为:com.demo 方法为:execute 返回值为“view“

<package name="hellowPk" extends="struts-default" namespace="/">

<action name="hellow" class="com.demo.hellow" method="execute">

<result name="view" type="dispatcher">/index.jsp</result>

</action>

</package>

运行结果如下:

struts2 简介相关推荐

  1. 【struts2】struts2简介

    Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 一 ...

  2. Struts2 简介

    回顾Struts2的使用过程,网上搜的教程多多少少都会有点问题,重新记录下创建过程,方便查阅. 1.下载Struts2的jar包 下载地址:http://archive.apache.org/dist ...

  3. Struts2框架概述、Struts简介、Struts环境搭建、Struts执行流程、Struts文档、Struts配置文件的加载顺序-day01

    目录 第一节 框架概述 1.1 什么是框架 1.2 三大框架 1.3 三层架构 1.4 MVC.Servlet.Filter MVC Servlet Filter 第二节 Struts简介 2.1 S ...

  4. Struts2笔记——初次框架配置

    1.Struts2简介   Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与S ...

  5. Java Struts2 (一)

    一.Struts2简介 1.Struts2概述 Struts2是Apache发行的MVC开源框架.注意:它只是表现层(MVC)框架. 2.Struts2的来历 Struts1:也是apache开发的一 ...

  6. struts2总体介绍

    这篇博客开始将总结一下有关框架的知识,在开发中合适的利用框架会使我们的开发效率大大提高.当今比较流行的开源框架: 关注数据流程的MVC框架 (Struts1/2, WebWork, Spring MV ...

  7. 整合Struts2、Spring、Hibernate构建J2EE应用

    [论文摘要] J2EE即是以Java 2平台为基础的体系结构,又是一组旨在简化企业解决方案的开发.部署.运行.维护等相关复杂问题的技术规范与指南.Struts2.Spring.Hibernate是当今 ...

  8. Struts2(一)之认识struts2

    大家可能都听说过框架,听起来是一个和牛逼的事情,笔者也是这样的.还没有学习的时候,很期待框架到底是什么东西.听说功能非常的强大. 其实框架的作用和定义就是: 把一些繁琐的重复性代码封装起来,使程序员在 ...

  9. Struts1、Struts2及SpringMVC对比

    Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 简 ...

最新文章

  1. 如何用CSS快速布局(一)—— 布局元素详细
  2. postgresql数据库修改表
  3. performance metrics
  4. 多个流,简短的读和写
  5. GMM高斯混合模型学习笔记(EM算法求解)
  6. spring aop 注入源码解析 1
  7. Flex 按钮添加图标
  8. c语言 消除最后一个空格,新人提问:如何将输出时每行最后一个空格删除
  9. Linux之nc命令
  10. 创建一棵二叉树(C++)以及遍历
  11. 贾君鹏你妈妈喊你回家吃饭-利用WCF的Duplex推送消息
  12. 日常计算机使用的需求和解决方案(一)
  13. 7.7_adadelta
  14. Codeforces 868C - Qualification Rounds 思维
  15. PostOffice
  16. 【烧录问题】flymcu下载出现从08000000开始运行失败
  17. 沉睡者IT:零基础学习短视频与+玩转抖音快手
  18. yum命令下载安装包及依赖包
  19. Python 文件
  20. 找不到凭据分配oracle修正,远程连接身份验证错误,又找不到加密Oracle修正

热门文章

  1. Redis哨兵机制原理详解
  2. 如何通过开源项目搭建私有云平台--第一步:安装Minio
  3. Meego Linux 联想Z370(蓝)官方报4999
  4. DiskGenius打开错误
  5. linux开发 | nfs挂载根文件系统失败、处理过程
  6. Windows和Linux 行尾符(EndOfLine)的区别
  7. Git回退到指定版本
  8. 关于汽车定位追踪的一点设计思路
  9. [4G5G专题-28]:架构-什么是多天线技术与5G大规模天线阵列、波束赋形、高阶空分复用?
  10. java后端实习生面试题