Struts2框架学习(一)
Struts2是Apache发行的开源框架,是一个表现层web(MVC)框架。
Struts1:
Struts1也是apache开发的一套MVC框架,在2005年之前非常流行,其核心控制器是一个servlet,随着使用者的增多,弊端开始出现。
Struts2:
在以前有一个设计超前的框架XWork,后来推出XWork1和WebWork2,Sruts2就是apache和OpenSymphony组织合并开发出来。Struts2包含WebWork2的核心以及Struts1一些特性和功能,除此之外,与Struts1没有任何关系。
开发环境搭建
下载Struts2地址:http://struts.apache.org
下载解压后目录结构如下
apps 官方提供的案例Demo
docs 官方提供的文档
lib 官方提供的jar包
src 源码
dtd xml约束文件
对于首个Struts2项目jar包导入,可以进入apps目录下,找到struts2-blank.war项目,这是一个官方提供的Struts2空白项目,解压后(可以将项目放到tomcat webapps目录下,启动tomcat,tomcat就会将此项目解压),在WEB-INF下的lib目录下就是Struts2项目所需最基本的jar包,对于首个项目创建只需导入这些即可
jar包介绍
将struts2-blank目录下的classes目录下的struts.xml添加进自己创建web项目src目录中然后删除stuts标签所有内容,所需内容后续配置
在web.xml文件中需要配置struts核心过滤器
配置过滤器目的是用于拦截请求,由Struts的规则去处理请求,而不是以前servlet处理
Struts配置Action
在struts中配置package和action
写一个HelloAction类,需要写个hello方法
在WebContent目录下新建一个demo1目录并在目录下新建success.jsp文件
运行项目得到结果
首个项目搭建成功
为了在struts配置文件中能提示标签信息,需要将struts约束文件导入到eclipse中
首先复制http://struts.apache.org/dtds/struts-2.3.dtd,然后在eclipse中点击window,再选择preferences,然后找到XML CATALOG,点击Add进行添加,配置如下
配置完成保存后,在struts配置文件中写struts标签时会有提示
Struts2架构图
- 浏览器发送请求,经过一些列的过滤器后,到达核心过滤器StrutsPrepareAndExecuteFilter
- StrutsPrepareAndExecuteFilter通过ActionMapper判断当前的请求是否需要某个Action处理,如果不需要,则走原来流程,如果需要则把请求交给ActionProxy来处理
- ActionProxy通过ConfigurationManager询问框架配置文件(struts.xml),找到对应Action类
- 创建ActionInvocation实例,来调用Action的对应方法获取结果集name,在调用之前会执行相关拦截器
- 通过结果集的name找到对应的结果集来对浏览器进行响应
struts2有很多配置文件,当应用被tomcat加载的时候,struts2的配置文件就已经被加载过了
文件加载顺序
修改struts访问后缀
第一种方式添加如下一行就会修改访问路径后缀,因为struts加载配置文件是按顺序的,后加载的配置文件会覆盖前面文件相同的配置信息
第二种方式在src目录下创建一个struts.properties
在这个文件添加如下一行
struts.action.extension=htm
同样会覆盖struts.xml文件的配置
第三种配置方式,在web.xml文件中为struts2核心控制配置初始化参数
在struts.xml配置开发者模式为true
开发者模式好处是有更详细的错误信息
Struts2框架学习(一)相关推荐
- Struts2框架学习(二) Action
Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...
- Struts2框架学习笔记_Struts2入门
文章为学习struts的笔记,可供读者参考,有不足之处还望之指出. 参考: POJO与JavaBean的区别 Velocity Velocity官网 FreeMarker XSLT struts2 学 ...
- 框架学习系列 之Struts2框架学习总结
1 介绍 学习和使用Struts2框架有了一段时间,这里将学习心得总结在博客的文章里面.期间也参考学习了其他优秀的文章,如有错误之处欢迎指正,转载请申明原文地址,希望大家支持,谢谢. 2 What:什 ...
- Struts2框架学习总结(从入门到精通)
文章目录 一.Struts2入门 struts2概述 struts2入门案例 struts2底层执行过程 struts2相关配置 struts2的核心配置文件struts.xml struts2常量配 ...
- Struts2框架学习Action命名空间创建方式
Struts2框架中Action类时一个单独的javabean对象,相比struts1来说,不需要去继承任何类型或实现任何借口,表单数据包含在Action中,而Struts1则必须继承org ...
- Struts2框架--学习笔记(下):OGNL表达式、值栈操作、拦截器、struts2标签、文件上传
一.OGNL概述:OGNL是一种表达式 (1)在struts2中操作值栈数据. (2)一般把ognl在struts2中操作,和struts2标签一起使用操作值栈. (3)ognl不是strut2的一部 ...
- Struts2框架--学习笔记(上):搭建struts2工程、struts2基本概念、struts2对页面数据的操作
概述: Struts2框架应用于javaee三层框架中的web层.是在Struts1和webwork基础上发张的一个全新的框架. 一.搭建一个最基本的struts2工程步骤: 1.导入基本的jar包依 ...
- Struts2框架学习之一:Hello World程序
前言 Struts2框架Apache基金组织下的一个开源框架,基于MVC模式设计的Web应用开发框架.Struts 2是一个用于开发Java EE网络应用程序的开源Web应用框架,它利用并扩展了Jav ...
- Java之struts2框架学习
About Struts2 Struts也是一款MVC框架 , Struts2是Struts的下一代产品,是在Struts1和WebWork的技术基础上进行了合并的全新的Struts2框架 其全新的S ...
- Struts2框架学习---ONE
通过阅读本你将掌握: struts2框架的配置 入门程序的实现: 配置文件的加载顺序: ...
最新文章
- php链接数据库实行增删查改_利用PHP连接数据库——实现用户数据的增删改查的整体操作实例...
- texture android,Android OpenGL结合了SurfaceTexture(外部图像)和普...
- java calendar.add方法_Java Calendar add()方法与示例
- linux要不要home分区,有必要建/home/boot分区吗
- java浅度克隆_java对象 深度克隆(不实现Cloneable接口)和浅度克隆
- 绿地深蓝机器人_人工智能企业深兰科技获绿地控股3亿元战略投资
- Linux学习之chage命令
- C++ 返回当前类名
- 各种经典java小游戏_Java是这个世界上最好的语言!
- CentOS7虚拟机克隆,且成功互ping
- Unity3D学习笔记
- 万能声卡驱动win10_ASIO驱动(多通道版)-无驱外置USB声卡电音驱动
- HDMI level shifter、接口保护、USB TYPC转HDMI芯片
- ROS基础学习笔记(五):自定义消息练习以及订阅者发布者节点代码简介
- 基于腾讯地图实现精准定位,实现微信小程序考勤打卡功能
- python制作微信个人二维码_无聊的脚本,python生成随机二维码,手机微信自动扫脚本。...
- Web应用程序测试工具Top20
- 【202203-4】通信管理系统
- C语言十六进制转八进制
- 【JokerのZYNQ7020】SDK程序从QSPI启动。