没有合适的资源?快使用搜索试试~ 我知道了~
王者归来之达内内部绝密Struts课件.doc
4星 · 超过85%的资源 需积分: 3 14 下载量 79 浏览量
2008-10-18
12:35:49
上传
评论
收藏 265KB DOC 举报
温馨提示
试读
16页
王者归来之达内Struts课件.doc 经典教学课件,让教授,研究生,培训学员,高级程序员和JavaEE5高手等必备参考的经典!!!!!!!!!
资源详情
资源评论
资源推荐
一、总体介绍:
Struts 是由 Apache 开源联盟(www.apache.org)提供的一套用于构建 Java Web 应用程
序的框架。它的目标是希望分离 Web 程序的表示层、控制层和模型层,即 MVC 模式,使
程序员将更多的精力投入后台的业务逻辑设计,而不是底层的 Web 基础框架。
Struts 的所有功能都是建立在已有的 Java Web 组件上,如 Servlet、JSP 或是 JavaBean,
它只是利用一种方式将这些元素组织起来,使他们协同工作。
总之,Struts 只是一个 MVC 框架(Framework),用于快 速 开 发 Java Web 应用。
Struts 实 现 的 重 点 在 C(Controller) , 包 括 ActionServlet / RequestProcessor 和 我 们 定 制 的
Action, 也 为 V(View) 提 供 了 一 系 列 定 制 标 签 ( Custom Tag ) 。 Struts 几 乎 没 有 涉 及
M(Model),所以 Struts 可以采用 Java 实现的任何形式的商业逻辑。
Struts 基本模型: Action Service Dao DB
sturts 调用及核心流程:
JspServlet――(doget/dopost)――>ActionServlet-(解析)->ActionMapping
- (execute/pefrom) - >Action - (path) - >ActionForward - ( 是 否 重 定 向 ) -
>Requestionspatcher
org.apache.struts.ActionServlet
说明:该类继承了标准的 javax.servlet.http.HttpServlet 类,在处理请求时控
制器将完成如下任务:
1、 为到来的请求找到 URL
2、 把 URL 映射到适当的 ActionMapping
3、 创建或找到封装相关的 ActionMapping 实例
4、 如 果 找 到 了 ActionForm 的 声 明 , 就 根 据 声 明 创 建 或 找 到
ActionForm bean 的实例,并且用 request 参数去产生一个 ActionForm
bean 的属性。
5、 对于在 ActionMapping 中声明的 Action 类实例,调用适当的 execute
方法,并为之传递 ActionMapping 对象,ActionForm 对象,request
对象,response 对象 4 个参数。
6、 接受 execute 方法返回的 ActionForward,转发响应到源(该源由
ActionForward 指定)
注:以上任务都被定义在 struts-config.xml 中,ActionServlet 会读取 struts-
config.xml 的相关信息然后完成任务。ActionServlet 的声明是在 web.xml 中完成
1
客
户
端
浏
览
器
Struts-config.xml
ActionServlet
JSP
DB
模型
组件
Action
Action
的,配置 ActionServlet 和配置其他 Servlet 没有区别。
org.apache.struts.action.ActionMapping:
说明:该对象封装了<action>元素中定义的所有信息。
1. Public ActionForward findForward(String name)
该方法查找所有与该对象操作相关的本地转发。
2. Public ActionForward[] findForward()
查找出映射中的所有的 ActionForward;
3. Public void addForward(ActionForward forward)
给映射动态增加 ActionForward
org.apache.struts.ActionForm
ActionForm 在 struts 框架中被用来保存客户端请求 request 中的参数,从本
质上说就是一个 ActionForm bean
控制器根据 struts-config.xml 文件创建 Action Form bean 的实例,并根据配
置,把实例传递给 Action 类,ActionForm bean 的实例也被称为表单。
<form-beans>
<form-bean name=”helloWorldActionForm”
type=”struts.form.HelloWorldActionForm”/>
</form-beans>
<form-bean>元素的属性 name 用于把 ActionForm bean 和 ActionMapping 关
联起来,ActionServlet 会在调用 Action 类之前先得到 form 表单实例。
org.apacht.struts.action.ActionForward
说 明 : 该 类 使 用 来 导 航 的 组 件 , 当 execute ( ) 方 法 运 行 完 毕 后 ,
ActionForward 根据 ActionMapping 将信息转发到适当的地方。
Return mapping.findForward(“success”);
ActionForward 是配置对象,允许按照他所提供的标志(如上句中的
“success”)来检索其被转发的真实路径,success 标识可随意定义,并将其配置
在 struts-config.xml 的 forward 元素中。
1、 配置在 global-forwards 元素下的 forward 元素。
<global-forwards>
<forward name=”foreward1” path=”/sampleaction1”/>
</global-forwards>
这时 ActionForward 是全局的,对配置在 struts-config.xml 中的所有
Action 有效。
2、 配置有 action 元素下的 forward 元素
<action path=”/TestAction” type=”struts.action.Test” parameter=”methode”
scope=”request” validate=”false”>
<forward name=”success” path=”/success.jsp”/>
</action>
这 时 这 个 ActionForward 是 局 部 的 , 仅 仅 对 这 个 Action 对 象 有 效 ,
“success”是个标识符,对应到“success.jsp”响应页面。
2
二、Struts 的基本元素(编写步骤):
1、Action (C 层)
2、ActionForm (M 层,为 M 层做贡献) 表单数据的封装对象,具备表单数据验证功能
3
package tarena.struts.basic;
import org.apache.struts.action.*;
import javax.servlet.http.*;
public class LoginAction extends Action
{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
ActionForward forward = mapping.findForward("fail");
LoginForm loginForm = (LoginForm)form;
if(loginForm.getUserName().equals("admin") && loginForm.getPassword().equals("123"))
{
forward = mapping.findForward("success");
}
return forward;
}
}
①继承 org.apache.struts.action.Action 类,并覆
盖 excute 方法,注意其四个参数各自含义:
package tarena.struts.basic; ②
import org.apache.struts.action.*;
public class LoginForm extends ActionForm
{
private String userName;
private String password;
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserName() {
return userName;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
}
继 承 org.apache.struts.acton.ActionForm
类,按照 JavaBean 规范写出属性以及它
们的 get/set 方法。
代表 与 此 Action 相 关的配
置
一 个 FromBean 可 以 服 务 多 个
Action,或多个表单
剩余15页未读,继续阅读
Andlu
- 粉丝: 12
- 资源: 213
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1