Struts2学习笔记第一天

Struts2学习笔记共有三天:
第一天学习重点:
MVC编程思想
Struts2实现的基本原理
Struts2中的跳转问题:

一、MVC编程思想【重点 面试】
核心:人为的将程序划分为3个层次。分别为M、V、C。
M(Model 模型层)模拟现实生活中存在的事物。
V(View 视图层) 可视化的图形界面 用来给用户展示数据
C(Controller 控制层 控制器) 控制整体程序的流程
现有程序中使用MVC
V: HTML +JSP
C: Servlet
M: Service+DAO+Entity
好处:
1、解耦合 降低代码之间的耦合度
2、便于维护
二、框架
概念:软件开发过程中的半成品。
解决了软件开发的通用问题,提供开发效率。
框架 + 业务逻辑 = 程序
三、Struts2框架
概念:MVC开发过程中C层框架,解决控制层存在的问题。
现有控制层Servlet存在的问题:
在这里插入图片描述
第一个Struts2框架程序的开发
1、需要框架 半成品 开源框架 开发源代码 免费 www.apache.org
2、框架目录结构
在这里插入图片描述
3、搭建开发环境
1、jar包 (核心jar、第三方依赖jar)
在这里插入图片描述
2、配置文件 struts.xml
放置位置: src下
webapps
项目
WEB-INF
classes
struts.xml
lib
web.xml
3、初始化配置 让框架生效 web.xml 核心过滤器
在这里插入图片描述
4、编程步骤
1、写类 implements Action
覆盖服务方法 String execute()
在这里插入图片描述
2、struts.xml配置 配置访问路径
在这里插入图片描述
小知识点:
1、Struts2和Servlet对比
Servlet:类型的对象 是单例的 线程不安全 不要创建成员变量
Struts2:类型的对象 每次访问都会创建新的对象 不是单例的
2、Struts2访问形式
http://ip:port/web_name/action的name属性值
http://ip:port/web_name/action的name属性值.action
3、DTD文件配置(在MyEclipse中自动提示)
windowProferences
在这里插入图片描述

Struts2中的跳转:【重点】
	1、Action到jsp之间的跳转
		forward:默认形式
			<result name=””  type=”dispatcher”/></result>
		redirect:
			<result name=””  type=”redirect”/></result>
	2、	Action到Action之间的跳转
		forward:
			<result name=””  type=”chain”/>目标action</result>
		redirect:
			<result name=””  type=”redirectAction”/>目标action</result>
数据的传递:
	工具类:ServletActionContext  
	获取request和response对象
	ServletActionContext.getRequest()

ServletActionContext.getResponse()
package: struts.xml配置文件中标签 代表 包
作用:管理action标签
属性:
name: 包名 随意 名字唯一
extends: 值 固定为 ”struts-default”
namespace: 从访问路径上规划action
后续的访问action形式:
http://ip:port/web_name/namespace/action的name属性值
跨包跳转(Action到Action之间)【重点】
在这里插入图片描述
注意:Action到Jsp之间没有跨包跳转 包是Action的一个概念
全局跳转
作用:解决result标签的冗余
原则:要抽取成全局跳转的action ,Action的返回值要相同,
同时,跳转的目标位置也要一致
语法:
在这里插入图片描述
注意:
全局跳转 本包有效
一般情况 重构项目使用
全局跳转和action中result同时存在 就近 action内部优先
成员变量接收参数
注意:提供和传递数据时key同名的成员变量
为成员变量提供get set方法
接收零散数据(八种基本类型+String+Date)
在这里插入图片描述
接收对象类型数据
Action:
提供一个对象类型的成员变量
页面 为成员变量的属性赋值
传递数据key 成员变量名字.属性
在这里插入图片描述
接收数组或者集合类型(同零散变量的接收)
提供同名的成员变量,提供setget方法即可
注意 成员变量的类型 是数组或者集合

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Struts ,处理异常有两种方式:编程式异常处理和声明式异常处理。本篇笔记将讲解声明式异常处理。 声明式异常处理是指在 struts.xml 文件通过配置来处理异常。这种方式可以让开发人员将重心放在业务逻辑的处理上,而不必关心异常的处理。 首先,我们需要在 struts.xml 文件配置全局的异常处理器: ```xml <global-exception-mappings> <exception-mapping exception="java.lang.Exception" result="errorPage"/> </global-exception-mappings> ``` 这里我们配置了一个全局的异常处理器,它会处理所有的 java.lang.Exception 异常,并将结果返回到名为 errorPage 的 result 。 接下来,我们需要在 action 声明需要处理的异常: ```xml <action name="test" class="com.example.TestAction"> <exception-mapping exception="java.lang.IllegalArgumentException" result="illegalArgument"/> <result name="success">/test.jsp</result> </action> ``` 在这个例子,我们声明了 TestAction处理 java.lang.IllegalArgumentException 异常,并将结果返回到名为 illegalArgument 的 result 。 最后,我们需要在 struts.xml 文件定义这些 result: ```xml <result name="errorPage">/error.jsp</result> <result name="illegalArgument">/illegalArgument.jsp</result> ``` 这样,当 TestAction抛出 java.lang.IllegalArgumentException 异常时,就会返回到名为 illegalArgument 的 result 。 总之,声明式异常处理可以让我们更加专注于业务逻辑的处理,通过配置来处理异常,从而提高代码的可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值