序
1)为什么需要Struts框架
企业需求,利用Struts框架可以简化开发
2)如何学习Struts
先学习如何使用,有余力再了解一些实现原理.
1.MVC设计思想在JavaWeb开发当中的使用
1)什么是MVC?
是一种设计思想,非常优秀的设计思想.根据职责不同将应用程序的组件分成三部分.
Model模型:负责业务数据和业务处理.
View视图:负责显示和接收用户输入.
Controller控制器:协调模型和视图
2)MVC在JavaWeb中的体现
Model:DAO,Entity,Util
View:JSP
Controller:Servlet
示例程序:ShoppingCart,控制器过于复杂,包含大量的if...else,
不适合大型复杂程序的开发.
采用XML+Servlet+Action结构改造控制实现
*3)MVC工作的基本流程
a.客户端发请求,请求交给前端控制器处理
b.前端控制器维护一个XML配置文件
(XML定义了请求和Action之间的对应关系)
c.前端控制根据请求调用相应的Action组件,执行请求处理
d.Action处理完毕,可以将处理结果存放到Request
e.控制器调用相应的视图JSP,进行响应处理
4)Struts框架封装了上述主要流程和结构
2.Struts2入门示例 HelloWorld
1)Struts2发展史
Struts1.2 WebWork-->xwork(命令模式实现) Struts2
2)入门示例
a.引入框架开发包(5个核心包) 2.1.8版本
struts2-core-2.1.8.jar
xwork-core-2.1.6.jar
commons-fileupload-1.2.1.jar
freemarker-2.3.15.jar(模板视图技术,等价于JSP功能)
ognl-2.7.3.jar(与EL相似,但是功能强大)
b.在web.xml中添加控制器配置
StrutsPrepareAndExecuteFilter
c.创建Action
创建WelcomeAction类,添加默认execute方法
d.添加XML配置,在src下添加struts.xml文件
执行流程如下:
welcome.action-->web.xml(filter控制器)-->struts.xml(Action配置)
-->WelcomeAction-->execute-->"success"-->struts.xml(result配置)
3)action配置
a.
*name属性:包名称.
*extends属性:继承哪个package,一般情况下继承自struts-default.
namespace属性:用于限定action请求名,默认值是"/"
当namespace="/"时,当前package中的所有action对应的请求格式:
http://localhost:8080/struts2/action请求名.action
如果namespace="/day01"时,action对应的请求格式:
http://localhost:8080/struts2/day01/action请求名.action
b.
*name属性:action组件对应的请求名
*class属性:指定action组件的实现类,包名.类名格式
method属性:指定要调用action类中哪个方法.默认值是execute
c.
*name属性:响应视图标识符,该标识符与action组件方法返回值对应.
type属性:指定响应视图类型,默认值是dispatcher,请求转发
ASP编码教程:如何实现/使用缓存
[ASP]2015年4月15日ASP编码教程:asp缓存的分类
[ASP]2015年4月15日ASP编码教程:何谓ASP缓存/为什么要缓存
[ASP]2015年4月15日ASP编码教程:asp实现的sha1加密解密代码
[ASP]2015年4月15日ASP编码教程:asp执行带参数的sql语句实例
[ASP]2015年4月14日