1.Struts2简介
1)是MVC框架,与SpringMVC,Struts1功能相同,
Struts2与Struts1没有必然联系,它是从WebWork框架发展而来,由Apache维护和推广
2)Struts2的体系结构
*StruesPrepareAndExecuteFilter(主控制器)
等价于SpringMVC的DispatcherServlet
*Action(业务控制器)
等价于SpringMVC的Controller
*Result(视图响应组件)
等价于SpringMVC的ViewResolver和jackson包
3)Strues2的基本应用
*请求-->Filter控制器-->Action业务控制器
-->Result响应组件-->hello.jsp-->响应输出
*Struts默认请求类型为/hello.action或.hello
/hello.action
*-->Filter主控制器(识别.action或没有扩展名的请求)
*-->HelloAction.execute(struts.xml)
*-->Result响应组件(dispatcher转发)(struts.xml)
*/WEB-INF/hello.jsp-->响应输出
4)Action组件的使用
*Action属性
a.接收请求参数
单个参数接收:属性名与请求参数key保持一致
对象方式接收:请求参数key应该为属性名.子属性
b.向响应JSP传值
在JSP接收,使用${属性名}
*Action方法
请求处理方法publis String xxx(){...}
建议:方法名使用execute,可以简化action配置
5)如何使用request,session,application对象
*利用ActionContext
获取Map结构对象,适合在各个组件中进行存取操作
*利用ServletActionContext
获取Servlet类型对象,适合在各个组件中使用Servlet对象API方法
*利用Aware接口
既可以获取Map,也可以获取Servlet类型,仅适用于Action组件应用
RequestAware获取map结构request对象
ServletRequestAware获取Servlet类型的Request对象
SessionAware获取map结构session对象
ApplicationAware获取map结构application对象
ServletContextAware获取Servlet类型application对象
SerResponseAware获取Servlet类型response对象
1)是MVC框架,与SpringMVC,Struts1功能相同,
Struts2与Struts1没有必然联系,它是从WebWork框架发展而来,由Apache维护和推广
2)Struts2的体系结构
*StruesPrepareAndExecuteFilter(主控制器)
等价于SpringMVC的DispatcherServlet
*Action(业务控制器)
等价于SpringMVC的Controller
*Result(视图响应组件)
等价于SpringMVC的ViewResolver和jackson包
3)Strues2的基本应用
*请求-->Filter控制器-->Action业务控制器
-->Result响应组件-->hello.jsp-->响应输出
*Struts默认请求类型为/hello.action或.hello
/hello.action
*-->Filter主控制器(识别.action或没有扩展名的请求)
*-->HelloAction.execute(struts.xml)
*-->Result响应组件(dispatcher转发)(struts.xml)
*/WEB-INF/hello.jsp-->响应输出
4)Action组件的使用
*Action属性
a.接收请求参数
单个参数接收:属性名与请求参数key保持一致
对象方式接收:请求参数key应该为属性名.子属性
b.向响应JSP传值
在JSP接收,使用${属性名}
*Action方法
请求处理方法publis String xxx(){...}
建议:方法名使用execute,可以简化action配置
5)如何使用request,session,application对象
*利用ActionContext
获取Map结构对象,适合在各个组件中进行存取操作
*利用ServletActionContext
获取Servlet类型对象,适合在各个组件中使用Servlet对象API方法
*利用Aware接口
既可以获取Map,也可以获取Servlet类型,仅适用于Action组件应用
RequestAware获取map结构request对象
ServletRequestAware获取Servlet类型的Request对象
SessionAware获取map结构session对象
ApplicationAware获取map结构application对象
ServletContextAware获取Servlet类型application对象
SerResponseAware获取Servlet类型response对象