Struts2(一)
Struts2 第一讲:
1. 回顾MVC设计模式
M model 模型层 -数据层(持久化层)
V view 视图层 显示界面
C controller 控制层
C 控制层:struts2框架
2. struts2的发展历?
在 2001出现框架,struts1 非常流行(不完善 存在各种问题),同时期 出现WEB Work框架;
在后期 发现struts1 不能解决项目的扩容问题,
经过 一段时间后 使用struts框架的包装,webwork内核, 更名为struts2框架;
性能上的优势?
设计 完善 考虑周全,扩展性强,内部封装的很多接口;使用简单 性能好 兼容好....
3. 项目的 完整架构:SSH?
Struts2:前端页面框架控制器(参数传递+请求调用+页面跳转+后台内容验证),是标准的MVC控制结构;
Spring:对前端框架、后端框架(代码) 进行完美整合。[spring 提供对大部分的框架整合];
Hibernate:完成对后台Model 的所有操作。【Model=javaBean=entity+dao】
4. struts2 的执行流程:
5. 配置struts2 框架项目? (手动)
1. 导入 struts2框架需要的包(7个);
2. web.xml中启动struts2框架;(配置一个 filter过滤器)
3. 在src目录下创建一个struts.xml配置文件,配置 框架参数(控制层文件的引入)
4. 页面 根据struts.xml中配置的 访问路径,开始访问控制层;
${ } jsp页面 EL
web.xml struts.xml ongl表达式
案例:struts2 参数传递 界面跳转
<package name="pk" extends="struts-default,json-default" namespace="/"> <action name="login" class="com.yc123.action.LoginAction"> <!-- 跳转页面 --> <result name="success">/success.jsp</result> <!-- <result name="ok">/main.jsp</result> --> </action> <!-- 使用统配符 拼接访问方法 --> <action name="login_*" class="com.yc123.action.LoginAction" method="{1}"> <!-- type="dispatcher" 默认界面跳转方式,可以 传递请求参数,地址栏不会改变 redirect 外部跳转 地址栏 发送改变,不能携带请求参数 redirectAction 外部跳转到action中,不能携带参数; chain:内部跳转到action中,将多个action链接起来,使用同一个http请求, 共享同一个ActionContext 可以传递参数; --> <result name="exist" type="dispatcher">/index.jsp</result> <result name="ok" type="redirectAction">user_userList.action</result> <result name="updateUser" type="redirect">user_editUser.action?userId=${upUserId}</result> <!-- <result name="" type="redirectAction"> <param name="actionName">user_editUser.action</param> <param name="userId">${upUserId}</param> </result> --> <result name="logForUser" type="chain">user_addUser</result> </action> <!-- 用户action --> <action name="user_*" class="com.yc123.action.UserAction" method="{1}" > <result name="userList">/userlist.jsp</result> <result name="editUser">/editUser.jsp</result> <result name="addUser">/editUser.jsp</result> </action> </package> |