Struts 2.x初阶
1.MVC原理
2.Struts框架的介绍
3.Struts2.x快速上手
4.Struts2.x框架的分析
*******************************************************************************
一、MVC原理
1. Model1---> Model2 ---> MVC Framework
2. Html/JavaScript --> dynamic web content
动态,可交互;
3. CGI --> Servlet --> JSP --> MVC (Model1 --> Model2) --> Framework
进程调用 线程调用,性能提高 静态内容与动态内容分离; 框架
本地语言 可移植 页面中嵌入java javabean --> 控制器
*******************************************************************************
二、Struts框架的起源和发展
设计理念:基于请求(http request) ---struts,WebWork....
基于事件驱动,组件编程 ---JSF,Tapestry,ZK,echo
1.Struts1.x
M:没有定义设计方法
C:ActionServlet + struts-config.xml(核心控制器)
Action:业务逻辑的控制器
V:JSP实现(EL) + Tags +Tiles .....
2.WebWork
open source (开源组织:opensymphony)
Rickard Oberg --- Jboss/XDoclet(annotation)
C:核心控制器(ServletDispatcher)
业务控制器(Action)
--- 使用拦截器链
V:支持JSP模板,FreeMarker, Velocity 等....
3.Struts2.x
Struts1.x + WebWork 的整合(血统来自于WebWork)
ServletDiapatcher --> FilterDispatcher
4.Struts1.x vs. Struts2.x
1)Struts1.x:
非常依赖Servlet API
execute(mapping,form,request,response){...}
2)WebWork
拦截器链设计,摆脱对Servlet API的依赖
Action
3)Struts2.x:
控制器更加彻底:业务控制器Action---支持POJO
不再支持内置的IoC容器(Spring)
*******************************************************************************
三、Struts2.x快速上手
itcompany系统的部分功能:
登录模块
公司信息查询
1.登录应用————struts2.x快速上手
1)创建web工程,设置环境
A.WEB-INF/lib/
+Struts2.x需要的基本.jar
B.web.xml:
org.apache.struts2.dispatcher.FilterDispatcher
org.apache.struts2.dispatcher.ActionContextCleanUp
C.在classpath下添加struts.xml
src/ + struts.xml (手工做时,则发布在WebRoot/WEB-INF/classes/)
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
...
2)login.jsp
使用基本的标签