开源框架之struts2笔记归纳Word文档格式.doc

上传人:b****1 文档编号:13167971 上传时间:2022-10-07 格式:DOC 页数:17 大小:176.50KB
下载 相关 举报
开源框架之struts2笔记归纳Word文档格式.doc_第1页
第1页 / 共17页
开源框架之struts2笔记归纳Word文档格式.doc_第2页
第2页 / 共17页
开源框架之struts2笔记归纳Word文档格式.doc_第3页
第3页 / 共17页
开源框架之struts2笔记归纳Word文档格式.doc_第4页
第4页 / 共17页
开源框架之struts2笔记归纳Word文档格式.doc_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

开源框架之struts2笔记归纳Word文档格式.doc

《开源框架之struts2笔记归纳Word文档格式.doc》由会员分享,可在线阅读,更多相关《开源框架之struts2笔记归纳Word文档格式.doc(17页珍藏版)》请在冰豆网上搜索。

开源框架之struts2笔记归纳Word文档格式.doc

b.使用EL表达式 6

1.Struts2框架Action组件的核心应用 7

1)Action组件基本原理 7

*3)Action属性注入 8

*4)如何利用一个Action处理多个请求 8

1.前期课程回顾 9

1.Result组件原理 9

1)Result组件的作用 9

2)Result组件实现规则 9

*2.常用的几种Result组件 10

2)Action响应 11

1.Struts2标签 12

1)通用标签 12

2)表单标签 12

2.拦截器组件 12

*2)掌握自定义拦截器的使用 13

======================Day01=========================

1)为什么要学习Struts框架

Struts框架是MVC设计模式的实现,基于Struts开发可以简化开发难度,提高开发效率。

MVC是一个非常优秀的设计思想,基于该思想架构程序,可以提高程序的结构灵活性,便于日后维护、扩展和升级。

3)MVC在JavaWeb中的实现

Servlet,JSP,Filter,JDBC

a.原ShoppingCart程序就是一个MVC结构实现

View实现部分:

采用JSP组件实现

Model实现部分:

采用DAO、Entity等组件实现

Controller实现部分:

采用ActionServlet组件实现

b.ShoppingCart程序虽然基于MVC,但结构还有一些问题:

当请求数量比较多时,需要在Servlet中编写大量的if...else分支语句,而且Servlet代码量非常多。

改造方案:

为Servlet提供一个XML配置文件,用于定义请求和Action组件的对应关系。

然后将if...else分支中的代码提取到对应的Action组件中。

*4)Struts2的主要工作流程

a.首先客户端浏览器发送一个请求,请求到达控制器。

b.控制器根据xml配置信息调用相应的Action组件(XML配置了请求和Action对应关系)

c.执行Action组件业务处理,该组件可以调用DAO,Cart,Entity等组件。

d.控制器调用JSP视图组件生成一个响应界面给浏览器

5)Struts的内部原理:

编程原理:

用户发送http请求---》Web服务器(tomcat)--》加载

web.xml(web部署描述文件)文件-执行struts核心控制器(

StrutsPrepareAndExecuteFilter或者filterDispatcher)-->

加载struts.xml文件,通过请求action名字找到匹配的action

-->

在action中调用(execute)(业务层|数据层)

-->

执行result=“"

-->

通过result找到struts.xml与result名字匹配结果--》转发到

页面返回给调用者

程序调用:

struts内部原理图:

(1)用户发送http请求--》启动web服务器---》加载web.xml(web部署描述文件)配置文件---》执行web.xml中相应过滤器

ActionContextCleanUp:

清除页面中的属性

otherfilter(SiteMesh:

装饰过滤器)

SiteMesh作用:

页面布局、装饰

FilterDispatcher:

struts2核心控制器

注意:

(a)使用SiteMesh(装饰过滤器),struts2容器不在管理页面中属性,需要调用ActionContextCleanUp完成销毁

(b)过滤器执行是有顺序

ActionContextCleanUp-->

SiteMesh-->

FilterDispatcher

(2)中央控制器FilterDistpacher询问ActionMapper是否需要请求action

(3)如果需要请求action,FilterDispatcher就会调用它的代理(ActionProxy)加载配置文件

(4)ActionProxy会调用ConfigurationManager读取strus.xml配置文件

注意:

只加载一次

(5)根据请求名字,ActionProxy(action代理)调用所有拦截器(Inertceptor),ActionProxy(action代理)创建ActionInvocation,去执行所对应action类,根据Action类中名字找到匹配result页面

(jsp、freeMarker、Velocity)等技术,在此执行拦截器

注意:

struts2拦截器和servlet过滤器功能相同,并比filter强大

拦截器执行顺序:

先进后出

(6)相应给用户(HttpServletResponse)

3.Struts2框架的历史

Struts2框架和Struts1没有必然联系,它是将原来的WebWork框架核心部分Xwork提取,进行封装后发布为Struts2。

*4.Struts2框架基本使用

*1)Struts2使用步骤

*a.下载发布包,将核心包导入web工程

struts2-core-2.1.8.jar:

Struts2核心包

xwork-core-2.1.6.jar:

Xwork核心包

ognl-2.7.3.jar:

OGNL技术工具包,与EL相似,但比EL强大。

freemarker-2.3.15.jar:

界面模板技术,与JSP相似。

commons-fileupload-1.2.1.jar:

文件上传包。

*b.配置Struts2控制器,在src下添加struts.xml、Struts2控制器采用的是StrutsPrepareAndExecuteFilter组件实现。

在web.xml文件中配置该Filter组件。

c.根据请求编写Action,DAO,Entity等组件

*2)HelloWord示例

welcome.action-->

struts2控制器-->

WelcomeAction-->

welcome.jsp

----------------------Struts2详细工作流程---------------------------

a.浏览器发出welcome.action请求

b.请求到达Struts的Filter控制器(由于web.xml配置)

c.Struts控制器判断请求类型,如果是/welcome.action或/welcome格式请求,将调用struts.xml配置,寻找对应的Action组件

d.调用Action组件的execute方法处理请求,最后返回一个String视图标识

e.Struts控制器根据视图标识寻找相应的JSP(struts.xml中result配置)

f.调用JSP视图生成响应界面给浏览器显示。

======================Day02=========================

1.Struts2使用基本规则

1)web.xml配置

涉及了Struts2的Filter控制器配置

a.<

filter-class>

指定正确包名.类名

b.<

url-pattern>

指定/*,控制器可以识别Action组件请求

2)Action编写规则

a.执行方法的定义publicStringXXX(){}默认方法名是execute

b.属性变量的定义

publicclassUser{

privateStringusername;

//成员变量是username

//属性是user

publicvoidsetUser(Stringuser){

this.username=user;

}

publicStringgetUser(){

returnusername;

}

如果action需要接收请求数据或向JSP传递数据,需要与属性名保持一致。

3)struts.xml中的Action配置

1)元素嵌套顺序<

struts>

<

package>

action>

result>

2)<

元素的extends属性必须继承自struts-default

3)<

元素name请求名不要加.action,class指定的Action类要正确。

4)<

元素的name属性与Action方法返回值保持一致。

2.实现一个列表显示功能

/list.action-->

ProjectListAction-->

projectlist.jsp

1)开发步骤

a.引入struts2和数据库的驱动包

b.添加struts.xml配置文件,web.xml添加了Struts控制器配置

c.添加DBUtil工具类

d.添加Entity类

e.添加DAO编写方法

f.添加Action

g.添加Action配置(struts.xml)

h.添加JSP,显示列表

引入jstl标签库的jar包。

在JSP页面添加标签库引入指令

使用<

c:

forEach>

标签

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1