Struts2 概述
1. struts2应用在javaee三层结构中web层框架
2. struts2框架在struts1和webwork基础之上的发展全新的框架
3.struts2 解决的问题:
用户管理的crud操作 ---添加功能--创建添加servlet
--update功能--创建updateservlet
-
-
初步解决 -解决的方法创建:BaseServlet解决
- 写到底层反射代码实现
Struts2可以解决.目前是优的方案
Struts2封装了过滤器 拦截请求 到执行类action中不同的方法
用户管理的crud操作-->过滤器 ---------------> 执行类里面的add方法
不同的操作, 执行类里面的update方法
在类里面写不同的方法

二.Strutr2的入门案例
1. 导入jar包
到apps中,找到示例程序,复制lib下的jar
2. 创建action
之前访问servlet的时候 都会执行servlet的service()方法
--创建一个类继承httpservlet 重写里面的方法
--在web.xml中 配置servlet的访问路径
访问action.每次访问action的时候,默认会执行execute方法
--配置action的访问路径
Public class HelloAction{
Public string execute(){
Return “OK”;
}
}
3. 配置action类的访问路径
3.1创建struts2核心配置文件
核心配置文件的名称和位置是固定的
位置:必须在src下面,名称 struts.xml
3.2引入dtd约束
<struts>
<package name=”hellodemo” extends = “struts-default” namespace = “/”>
Action--name-->访问的名称
<action name=”hello” class=”HelloAction de lujing”>
配置方法返回值到页面
<result name=”ok”>hello.jsp</result>
</action>
<package>
</struts>
访问路径: 都可以
http://127.0.0.1/StrutsTwo/hello
http://127.0.0.1/StrutsTwo01/hello.action
在web.xml中配置struts2过滤器
StrutsPrepareAndExecuteFilter
/*
请求的流程:
请求--->web.xml--中的过滤器 --
过滤器创建:在服务启动的时候创建. 执行init方法
在init方法主要加载配置文件 -包含自己创建的和struts自带的配置文件
Struts.xml peizhi action
Web.xml peizhi guolvqi
-
第一步-
获取请求路径
得到路径中hello值
第二步
到src下找到strus.xml文件,对文件进行使用dom4j解析
得到xml文件中的内容
拿着hello值到 xml文件中找action标签,匹配name属性值是否一样
第三步
匹配name值,相同-----找到name属性所在的action标签中另一个属性class值
得到action的全路径---使用反射实现功能
使用反射是action中的方法来执行
方法的返回值 在action 标签--result---去匹配---在配置的页面中显示结果
反射的代码:
- 得到class Class clazz =Class.forName(“action的全路径”);
- 得到名称是execute的方法 Method m = clazz.getMethod(“execute”);
- 让这个方法执行 Object obj = m.invoke();
第四步
得到action的返回值
在struts.xml文件中,找到action标签里面的result标签,匹配result 标签的name属性值是否一样
如果一样,跳转到配置页面.
Struts2 概述的更多相关文章
- Struts2概述
-------------------siwuxie095 Struts2 概述 1.Struts2 是应用在 Java EE 三层架构中的 Web 层的框架 2.Struts2 是在 Struts1 ...
- Struts2概述及与Struts1的对照
Struts2 概述 1,仍然是一个基于请求响应的MVC框架 2,Struts2不是Struts1的升级 3,Struts2与Struts1的体系结构差距非常大 4,Struts2採用了还有一个MVC ...
- Struts2框架学习第一章——Struts2概述
本章要点 — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — We ...
- 第1章-Struts2 概述 --- Struts2和MVC
(一)Struts2和MVC的关系图: (1)控制器---FilterDispatcher 用户请求首先达到前段控制器(FilterDispatcher).FilterDispatcher负责根据用户 ...
- Struts2笔记02——Struts2 概述(转)
原始内容:https://www.tutorialspoint.com/struts_2/basic_mvc_architecture.htm Struts2是基于MVC设计模式的一种流行.成熟的We ...
- Struts2学习第二课 Struts2概述
Struts2是一个用来开发MVC应用程序的框架,它提供了Web应用程序开发过程中的一些常见问题飞解决方案: -对来自用户的输入数据进行合法性验证 -统一的布局 -可扩展性 -国际化和本地化 -支持A ...
- 1:1 Struts2概述
jar包下载
- 一、Struts2的概述
一.Struts2概述 是什么? Struts2是一个M(模型---域--范围模型)V(View视图)C(控制器)框架(模型2).框架都是一个半成品.提高开发效率. Struts1是一个MVC框架,非 ...
- Struts2入门1 Struts2基础知识
Struts2入门1 Struts2基础知识 20131130 代码下载: 链接: http://pan.baidu.com/s/11mYG1 密码: aua5 前言: 之前学习了Spring和Hib ...
随机推荐
- Spark之数据倾斜 --采样分而治之解决方案
1 采样算法解决数据倾斜的思想 2 采样算法在spark数据倾斜中的具体操作
- 如何创建线程第一种继承Thread类
步骤 1:定义一个类 继承Thread类.2:重写Thread类的run方法.3:直接创建Thread的子类对象创建线程.4:调用start方法开启线程并调用线程的任务run方法执行.-------- ...
- (转)Thread中yield方法
先上一段代码 public class YieldExcemple { public static void main(String[] args) { Thread threada = new Th ...
- Python第三弹--------文件和异常
文件读取: pi_digits.txt 3.1415926535 8979323846 2643383279 file_reader.py with open('pi_digits.txt') ...
- 服务请求比较慢SYN flooding
服务请求比较慢 dmesg 查看日志,发现SYN flooding 问题,某一端口居多 内核输出“TCP: Possible SYN flooding on port”信息,在内核syncookie机 ...
- js 检查文件格式和文件大小
之前有个工作需要用到js检查文件大小和文件格式,网上查了下有个兄弟写的不错,拿过来就能直接用,感谢他顺便记录下.原始文章地址http://www.jb51.net/article/43498.htm ...
- iOS 开发笔记-获取某个APP素材
2019.02.01 更新 以下这种方式只适合越狱的手机,目前12.1以后,iTools已经不适合了,请看最下面第二种方式. 有时候,我们看到别人的APP做得挺漂亮的,那么我们想查看该APP的图片素材 ...
- iOS UI基础-13.0 数据存储
应用沙盒 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒 应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Lay ...
- InstallShield2015制作安装包----------安装后实现电脑开机自启动
开机自启动有两个方法: 一 .把程序的快捷方式放在”开始---启动“目录下. 二.把程序的安装目录放在注册表”“. 实现方法一: 1.编写bat脚本.执行bat启动exe. a)核心:cmd命令 : ...
- Unity shader学习之屏幕后期处理效果之Bloom效果
Bloom特效是游戏中常见的一种屏幕效果.这种特效可以模拟真实摄像机的一种图像效果,它让画面中较亮的区域“扩散”到周围的区域中,造成一种朦胧的效果. Bloom的实现原理很简单,首先根据一个阈值提取出 ...