Struts——三大组件(三)Action

Action

Action是Struts中的基础组件。我们学过了Struts的执行流程,处理最终都会调到一个Action类;我们在Action中取得表单数据;进行业务逻辑处理;页面转发、传递等。

一、配置文件

<actionpath="/login"
type="struts.LoginAction"
name="loginForm"
scope="request"
>

二、Action代码

生成Action后,当被调用时,默认调用execute()方法。

public ActionForwardexecute(ActionMapping mapping, ActionForm form,
HttpServletRequestrequest, HttpServletResponse response)
throwsException {
//通过ActionForm取得表单数据
LoginFormlaf=(LoginForm)form;
Stringusername = laf.getUsername();
Stringpassword = laf.getPassword();
//调用业务逻辑
UserManageruserManager=new UserManager();
try{
userManager.Login(username,password);
//跳转
    returnmapping.findForward("success");
}catch(UserNotFinde){
e.printStackTrace();
request.setAttribute("msg","用户不能找到");
}catch(PasswordErrore){
e.printStackTrace();
request.setAttribute("msg","密码错误");
}
//跳转
returnmapping.findForward("error");
}

以上是Action的简单使用。Action作为父类,有以下几大子类:

1.ForwardAction(请求转发)

可以转发到其他web组件,仅仅提供一个转发功能,不作处理,真正完成跳转的是ActionForward类。

2.IncludeAction(包含页面)

包含其他web组件。

3.DispatchAction(同一界面一个表单多个提交)

通常一个Action只完成一个操作,用这个Action可以完成一组相关的操作。不能重写DispatchAction 的execute()方法

4.MappingDispatchAction(多个表单一个Action)

继承自DispatchAction,可将同一个Action的不同方法映射成多个Action URI 。不能重写MappingDispatchAction的execute()方法

5.LookupDispatchAction(继承自DispatchAction)

可以定义多个方法,但主要用于一个表单里有多个按钮,而这些按钮又有一个共同的名字的场合。不能重写LookupDispatchAction 的execute()方法。

6.SwitchAction

用于子模块之间的切换,多个配置文件之间的页面跳转。

ps:不做详细介绍,有兴趣的可以看一下

总结:

Action是真正的工作者,我们的业务逻辑处理,数据验证,页面跳转需要通过Action完成。Action给我们提供了很多子类,把我们常用到的方法都封装好了,我们直接调用即可,框架的使用,大大的简化了我们的开发。

Struts——三大组件(三)Action,布布扣,bubuko.com

时间: 2024-10-06 18:36:58

Struts——三大组件(三)Action的相关文章

Struts——三大组件(二)RequestProcessor

RequestProcessor ActionServlet是Struts框架里唯一一个Servlet,它负责处理所有请求.它无论何时收到一个请求,都会首先试着为现有请求找到一个子应用.一旦子应用被找到,它会为其生成一个RequestProcessor对象,并调用传入HttpServletRequest和HttpServletResponse为参数的process()方法. 一.RequestProcessor.process() java代码: public void process(Http

Struts——三大组件(一)ActionServlet

ActionServlet类是Struts框架的内置核心控制器组件,它继承了javax.servlet.http.HttpServlet类,Struts的启动一般从加载ActionServlet开始,因此它在MVC模型中扮演中央控制器的角色,负责接受用户请求,返回给用户合适的视图组件.控制器将模型层和视图层分开,这样分离,可以为同一个模型开发出不同的视图. 下面是Struts的三大主要组件: ActionServlet组件:充当Struts框架的中央控制器:Struts应用中只存在ActionS

javaweb三大组件之servlet(转载)

javaWeb有三大组件:Filter.Servlet.Listener jsp有九大内置对象:application.session.request.response.out.page.pagecontent.config.exception javaEE三大组件技术: Servlet,JSP,EJB Servlet(Server Applet),全称Java Servlet,未有中文译文.是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成动态Web内容.狭义的Serv

第一章 java nio三大组件与使用姿势

本案例来源于<netty权威指南> 一.三大组件 Selector:多路复用器.轮询注册在其上的Channel,当发现某个或者多个Channel处于"就绪状态"后(accept接收连接事件.connect连接完成事件.read读事件.write写事件),从阻塞状态返回就绪的Channel的SelectionKey集合,之后进行IO操作. Channel:封装了socket. ServerSocketChannel:封装了ServerSocket,用于accept客户端连接请

JavaWeb三大组件小结

学完JavaWeb阶段有一段时间了,在进入框架学习之前,把JavaWeb三大组件做个总结记录,为框架学习铺点基础. 一.什么是JavaWeb三大组件? Servlet,Listener,Filter.它们在JavaWeb开发中分别提供不同的功能. 二.三大组件介绍 1.Servlet 1.1 servlet介绍 广义上说,servlet是运行在web服务器或应用服务器的程序,用来处理客户端请求的动态资源.Servlet = Service + Applet,表示小服务程序.狭义上来说,狭义的Se

Filter过滤器-JavaWeb三大组件之一

Servlet.Filter.Listener是JavaWeb的三大组件,给Web开发提供了很大的便利. 什么是Filter? Filter,过滤器.类似与生活中的净水器.空气净化器. JavaWeb中Filter的作用:当浏览器请求访问服务器的资源时,过滤器可以将请求拦截下来,完成一下特殊的功能.例如:登录验证.统一编码处理.敏感字符过滤等. Filter的基本使用 (1)定义一个类,实现接口Filter. (2)实现Filter接口的方法 (3)配置拦截路径.可以用web.xml进行配置:S

javaweb三大组件

学完JavaWeb阶段有一段时间了,在进入框架学习之前,把JavaWeb三大组件做个总结记录,为框架学习铺点基础. 一.什么是JavaWeb三大组件? Servlet,Listener,Filter.它们在JavaWeb开发中分别提供不同的功能. 二.三大组件介绍 1.Servlet 1.1 servlet介绍 广义上说,servlet是运行在web服务器或应用服务器的程序,用来处理客户端请求的动态资源.Servlet = Service + Applet,表示小服务程序.狭义上来说,狭义的Se

java web学习:三大组件 Listener基础

1.概念 事件源:被监听的对象 .监听器主要监听三个域对象 ,分别是 request  session  servletContext 监听器:用来监听某个对象状态变化的组件 响应行为:监听器监听的对象相应的状态发生变化时出发的动作. 2.Listener分类 在java web中,监听器的种类比较多,可以按照事件源(监听的对象)进行分类,也可以按照监听的动作进行分类.这里按照监听的动作进行分类. (1)监听域对象自身创建和销毁的监听器: ①ServletContextListener接口 监听

学习笔记_过滤器概述(过滤器JavaWeb三大组件之一)

过滤器Filter Filter和Lister是Servlet规范里的两个高级特性.不同于Servlet,它们不用于处理客户端请求,只用于对request.response进行修改或者对context.session.request事件进行监听. Filter意为滤镜或者过滤器,用于Servlet之外对request或者response进行修改.Filter提出了滤镜链的概念,一个Filterchain包括多个F 1 什么是过滤器 过滤器JavaWeb三大组件之一,它与Servlet很相似!不它