我的博客地址:https://blog.csdn.net/qq_41907991

首先介绍一下struts2使用的基本步骤:

1.导入相关的 jar 文件

2.需要在 web.xml 文件中配置一个 StrutsPrepareAndExecuteFilter(只有配置了它才可以使用 struts2 框架)

3.struts.xml 配置

4.创建 Action 来完成逻辑操作

如何导入jar文件?

web.xml 文件中配置一个 StrutsPrepareAndExecuteFilter

struts.xml 配置

C

Action的创建方式

1.一个普通类,不用实现任何接口 ,也不需要继承任何类

优点:无耦合
缺点:所有的功能都要自己完成

2.实现Action接口

在 Action 接口中定义了五个常量,一个 execute 方法(如果没有配置访问的方法,默认执行这个方法)。

五个常量:它们是默认的五个结果视图<result name=””>:

ERROR : 错误视图

INPUT: 它是 struts2 框架中 interceptor 中发现问题后会访问的一个视图

LOGIN:它是一个登录视图,可以在权限操作中使用

NONE:它代表的是 null,什么都不做(也不会做跳转操作)

SUCCESS:这是一个成功视图

优点:耦合度低

缺点:还是需要自己来完成功能

3.继承ActionSupport类(这个类也实现了Action接口)

优点:具有丰富的功能,例如 表单校验 错误信息设置 国际化
缺点:耦合度高

如何在struts中获取请求的数据?

主要有两种方式:

1.属性驱动

a.直接在 action 类中提供与请求参数匹配属性,提供 get/set 方法

b.在 action 类中创始一个 javaBean,对其提供 get/set ,在请求时页面上要进行修改,

例如 user.username user.password ,要使用 ognl 表达式

以上两种方式的优缺点:

第一种:比较简单,但是封装数据时比较麻烦

第二种:不需要在直接将值给javaBean过程,因为直接将数据封装到了javaBean

中。兼容性差,因为它要求在页面上必须使用 ognl 表达式,就存在页面不通用问题。

2.模型驱动

步骤:

1.让 Action 类要实现一个指定接口 ModelDriven

2.实例化模型对象(就是要 new 出来 javaBean)

3.重写 getModel 方法将实例化的模型返回。

补充:result标签中的type属性的可选值,这些值在struts-default.xml有配置

默认值是  dispatcher 它代表的是请求转发,针对于 jsp 页面
                redirect 它代表的是重定向 ,针对于 jsp 页面
                chain 它类似于请示转发,只不过它是针对于 action 跳转
                redirectAction 它类似于重定向 ,针对于 action

struts2入门教学的更多相关文章

  1. Struts2 入门

    一.Struts2入门案例 ①引入jar包 ②在src下创建struts.xml配置文件 <?xml version="1.0" encoding="UTF-8&q ...

  2. Struts2入门3 深入学习

    Struts2入门3 深入学习 处理结果和异常 前言: Struts学习的差不多了,还有最后的一点就收官了就是结果处理和异常处理.前面学习Struts主要围绕就是Action以及struts.xml配 ...

  3. Struts2入门2 Struts2深入

    Struts2入门2 Struts2深入 链接: http://pan.baidu.com/s/1rdCDh 密码: sm5h 前言: 前面学习那一节,搞得我是在是太痛苦了.因为在Web项目中确实不知 ...

  4. Struts2入门1 Struts2基础知识

    Struts2入门1 Struts2基础知识 20131130 代码下载: 链接: http://pan.baidu.com/s/11mYG1 密码: aua5 前言: 之前学习了Spring和Hib ...

  5. struts2入门程序

    struts2入门程序 1.示例 搭建编程环境就先不说了,这里假设已经搭建好了编程环境,并且下好了strut2的jar包,接下来程序. 1.1 新建web项目 点击File->New->D ...

  6. Windows Azure入门教学系列 (二):部署第一个Web Role程序

    本文是Windows Azure入门教学的第二篇文章. 在第一篇教学中,我们已经创建了第一个Web Role程序.在这篇教学中,我们将学习如何把该Web Role程序部署到云端. 注意:您需要购买Wi ...

  7. Windows Azure入门教学系列 (一): 创建第一个WebRole程序

    原文 Windows Azure入门教学系列 (一): 创建第一个WebRole程序 在第一篇教学中,我们将学习如何在Visual Studio 2008 SP1中创建一个WebRole程序(C#语言 ...

  8. Windows Azure入门教学系列 (九):Windows Azure 诊断功能

    本文是Windows Azure入门教学的第九篇文章. 本文将会介绍如何使用Windows Azure 诊断功能.跟部署在本地服务器上的程序不同,当我们的程序发布到云端之后,我们不能使用通常的调试方法 ...

  9. Windows Azure入门教学系列 (七):使用REST API访问Storage Service

    本文是Windows Azure入门教学的第七篇文章. 本文将会介绍如何使用REST API来直接访问Storage Service. 在前三篇教学中,我们已经学习了使用Windows Azure S ...

随机推荐

  1. 深度解密 Go 语言之 sync.Pool

    最近在工作中碰到了 GC 的问题:项目中大量重复地创建许多对象,造成 GC 的工作量巨大,CPU 频繁掉底.准备使用 sync.Pool 来缓存对象,减轻 GC 的消耗.为了用起来更顺畅,我特地研究了 ...

  2. 再看CVE-2018-12613 phpmyadmin后台文件包含&&RPO攻击

    写在前面 因为看了朋友的一篇分析又回头想了想自己去年遇到的这个纠结的问题. 去年写过一篇phpmyadmin后台文件包含的文章,写的非常的草草,并没有分析的过程,只是把自己的问题记了下来.当时纠结于最 ...

  3. python执行提示“ImportError: No module named OpenSSL.crypto”

    错误信息如下: Traceback (most recent call last): File "/usr/local/yunanbao/yxz-script/autoops/TaskSer ...

  4. 用Python打造电脑人脸屏幕解锁神器附带接头暗号!

    前言 最近突然有个奇妙的想法,就是当我对着电脑屏幕的时候,电脑会先识别屏幕上的人脸是否是本人,如果识别是本人的话需要回答电脑说的暗语,答对了才会解锁并且有三次机会.如果都没答对就会发送邮件给我,通知有 ...

  5. 分享一个404页面(猴子动态SVG图)

    说明 在CSDN看到的一个404界面,简洁大气非常棒我的个人网站已经用上了! 代码 防止原页面失效,代码 粘贴在下面 <!DOCTYPE html> <html lang=" ...

  6. amba H2平台用PWM控制LCD背光

    ambarella H2系列Soc的GPIO口能作PWM使用的个数有限(GPIO0-GPIO3),从PRM里GPIO: Function Selection章节可以得到如何配置GPIO为PWM功能. ...

  7. vim的常用指令

    vim的常用指令如下: 光标运动: h,j , k, l (上/下/左/右) 删除字符: x 删除行 : dd 模式退出 : Esc,Insert(或者i) 退出编辑器 : q 强制退出不保存: q! ...

  8. shell脚本:备份数据库、代码上线

    备份MySQL数据库场景:一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求:1)每天备份一次,需要备份所有的库2)把备份数据存放到/data/backup/下3 ...

  9. 1、flink介绍,反压原理

    一.flink介绍  Apache Flink是一个分布式大数据处理引擎,可对有界数据流和无界数据流进行有状态计算. 可部署在各种集群环境,对各种大小的数据规模进行快速计算. 1.1.有界数据流和无界 ...

  10. python学习笔记(六)---文件操作与异常处理机制

    文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...