我的博客地址: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. 关于连接内部服务器以及redis缓存基本操作

    1.linux命令行远程连接内部服务器 ssh -p 6637 mndevops@172.18.11.183 //建立连接命令 端口号和用户名+ip 输入密码 ./redis-cli 进入redis数 ...

  2. 当Spring Cloud Alibaba Sentinel碰上Spring Cloud Sleuth会擦出怎样的火花

    前言 今年主要会做一个比较完整的微服务项目开源出来.目前已经开始了,刚兴趣的先Star一个吧. 项目:https://github.com/yinjihuan/kitty-cloud 基础框架:htt ...

  3. Ant概念

    Ant是基于Java的.可以跨平台的项目编译和生成工具.

  4. 计算机视觉中的对象检测,Python用几段代码就能实现

    目前计算机视觉(CV)与自然语言处理(NLP)及语音识别并列为人工智能三大热点方向,而计算机视觉中的对象检测(objectdetection)应用非常广泛,比如自动驾驶.视频监控.工业质检.医疗诊断等 ...

  5. Problem D. Ice Cream Tower

    题解:二分加贪心,,,二分答案,然后进行判断,判断的时候,首先给每一组配一个最大的球,然后在向每一组里面填球,注意填球的时候要按组进行,每一组先填一个,然后更新每一组内的最小值,方便下一次寻找. #i ...

  6. JMeter分布式压测-常见问题之( Cannot start. localhost.localdomain is a loopback address)

    问题描述: JMeter分布式测试时,以Linux系统作为被测服务器,在其中启动 jmeter-server 服务时出现异常,系统提示如下: [root@localhost bin]# ./jmete ...

  7. Element里el-badge在el-tab里视图不被渲染问题

    我们发现:el-badge绑定的变量是有数据的,但是界面上就是不渲染. 这个时候执行getTodo发现数据已经打印出来,当是视图未发送变化.于是查阅资料:vm.$forceUpdate()示例:迫使 ...

  8. python3-邮件发送-不同格式

    0x00 邮件格式 要发邮件,总要先了解邮件格式吧,这里指的是邮件的各个部分与python中SMTP所对应的一些必须的格式 0x01 简单发送邮件格式如下: import smtplib from e ...

  9. SpringCloud-Gateway 网关路由、断言、过滤

    Gateway 简介 是什么? Spring Cloud 全家桶中有个很重要的组件:网关.在 1.x 版本中使用的是 Zuul 网关,但是到了 2.x,由于Zuul的升级不断跳票,Spring Clo ...

  10. pytorch seq2seq模型训练测试

    num_sequence.py """ 数字序列化方法 """ class NumSequence: """ ...