struts2框架的学习心得

  经过一段时间的学习,逐渐学会了java的一些框架,想在这里做个总结,可能有一些不足之处,日后补充。


一、struts2框架的历史

struts2框架是由apache基金会研发的一种开源框架,但是并不是单纯的由struts1版本升级而来,而是apache根据一个名为webwork的项目发展来的,所以两者的关系并不大。

二、为什么要用struts2框架?

       在没有用struts2框架之前,我们编写控制器使用的servlet,在servlet中,如果要获取表单中的数据,需要编写大量的代码(request.getParameter(“name”)),一旦有很多的对象,太麻烦,其次,如果进行表单数据验证,需要编写很多硬编码代码,一旦修改,需要重新编译。

三、怎么用struts2框架?

      一个web应用程序,要使用struts2框架,首先要把jar包导入到web-inf下的lib文件夹中。然后把jsp页面编写完成,用来向控制器传递数据。假设一个简单的登录jsp页面如下图:

jsp页面编写完成以后,在控制器包中新建一个类作为控制器类,编写控制器的步骤如下:

(一):继承ActionSupport(public class loginAction extends ActionSupport)

(二):提供表单中的字段,并提供对应的get/set方法,这样就不用像servlet中使用request.getParameter(“name”)获取字段值了,节省了很多代码有木有?

(三):获取了字段值以后,重写validate()和execute()方法,前者主要是进行数据校验,后者是进行页面跳转。在validate()返回时,struts会检查错误信息,如果有错误信息,返回INPUT,没有错误信息,执行execute()。代码片段如下图:

四、配置struts2

       struts2的核心是strutsPrepareAndExecuteFilter,旧的版本核心(DispatcherFilter)首先要在web.xml中配置核心过滤器,作用是调度每个请求到控制器。代码如下图:

配置完核心过滤器,再配置Action,传统的配置action的方法如下:

在配置Action的时候,可以指定url对应的方法,虽然和Spring MVC类似,但是struts是共享方法之间的参数,并不是很符合程序设计思想。也可以不指定方法。执行完Action之后,可以返回到jsp页面,也可以返回到Action,上一个Action的对象会保存到调转的Action。

五、总结

Struts2框架是一款用来快速构建灵活、稳定的wed应用程序的框架,相比于servlet,大大减少了程序的代码,而且struts框架还提供了资源文件和标签,用来解决硬编码和提示错误信息。

     


struts2框架的总结相关推荐

  1. 基于Struts2框架的名片管理系统

    目录 1.系统设计 2.数据库设计 3.系统管理 4.用户管理 5.名片管理 本篇博文将分享一款基于Struts2框架的名片管理系统,JSP引擎为Tomcat9.0,数据库采用的是MySQL5.5,集 ...

  2. 使用struts2框架来实现CRUD(create、read、update、delete)

    1相关的类和包 2.源码: struts.xml <?xml version="1.0" encoding="UTF-8" ?><!DOCTY ...

  3. java struts2 框架 入门简介

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

  4. Struts2框架学习Action命名空间创建方式

         Struts2框架中Action类时一个单独的javabean对象,相比struts1来说,不需要去继承任何类型或实现任何借口,表单数据包含在Action中,而Struts1则必须继承org ...

  5. Maven构建Struts2框架的注意事项

    [本人出错点:404,就是在web.xml配置文件中少配置了struts.xml的路径] 1.创建Maven,搭建Struts框架,实现最基本的Hello World 在pom.xml中加入strut ...

  6. Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。...

    1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...

  7. Struts2框架执行流程

    Struts2源码导入 对于struts2框架它的源代码我们主要使用三部分 struts2核心部分源代码 org.apache.struts2xx src\core\src\main\java str ...

  8. Struts2框架完成登录操作案例

    一个简单的登录案例思路分析 在这个案例中,我们要使用struts2框架怎样解决 重点: struts2框架如何完成原来由servlet完成的工作. Struts2框架如何完成请求参数的封装处理 Str ...

  9. Struts2框架概述及运行流程

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

  10. Struts2框架--学习笔记(下):OGNL表达式、值栈操作、拦截器、struts2标签、文件上传

    一.OGNL概述:OGNL是一种表达式 (1)在struts2中操作值栈数据. (2)一般把ognl在struts2中操作,和struts2标签一起使用操作值栈. (3)ognl不是strut2的一部 ...

最新文章

  1. linux下后台执行shell脚本
  2. iOS开发几年了,你清楚OC中的这些东西么!!!?
  3. android 视频沉浸式,Android项目实战(四十一):游戏和视频类型应用 状态栏沉浸式效果...
  4. UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throw
  5. 深度学习之卷积神经网络(2)卷积神经网络结构
  6. JPA:确定关系的归属方
  7. java多线程教程_java 基础教程之多线程详解及简单实例
  8. 微信小程序按钮Button使用详解
  9. 通过样式调整input 中password text默认长度
  10. SpringBoot学习笔记001--创建第一个spring boot应用
  11. 如何使用Tuxera NTFS for Mac将FAT 32U盘转换为NTFS格式
  12. LINUX安装文件DEB的postrm运行报错,无法卸载怎么办
  13. django(三):配置文件settings.py、初始化数据库
  14. echarts如何画地图
  15. H3C数通 H3CNE H3CSE 资料下载 肖哥视频下载
  16. php会员代码大全,PHP在线获取VIP会员账号API接口代码
  17. 录入姓名完成座位表,学习前端的小伙伴可以关注一波,用js+html+css构成
  18. 教你批量采集晨光文具的商品图片到电脑中
  19. VPS新手向折腾笔记
  20. python问卷星 自动答题_问卷星自动答题神器

热门文章

  1. 如何查看EFI文件中的OC引导版本号?
  2. uni-app中使用unicloud短信验证码(开通、模板报备、使用)
  3. 傅老师课堂:Oracle高级应用之合并MERGE
  4. 解决brew下载慢的问题
  5. NFT行业名词、用语篇
  6. 【框架学习】XML四种解析方案
  7. 指一批掌握计算机知识技能,文献检索考试题库
  8. Kanzi: kanzi基础 : 使用预设件
  9. 【截取整个网页】Chrome浏览器快速截屏,高清截图
  10. arduino麦轮转弯程序_Arduino 自动避障智能小车制作教程