`
cakin24
  • 浏览: 1368098 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

struts的DispatchAction的应用

阅读更多
一 为什么需要分派action


 
 
二 快速入门
1、创建一个web工程
2、引入struts并配置struts-config.xml


 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd";>
<struts-config>
  <form-beans >
    <form-bean name="userForm" type="com.yourcompany.struts.form.UserForm" />
  </form-beans>
  <global-exceptions />
  <global-forwards />
  <!-- parameter用于区分用户的不同的请求 -->
  <action-mappings >
    <action
      attribute="userForm"
      input="/WEB-INF/login.jsp"
      name="userForm"
      parameter="flag"
      path="/loginandLogout"
      scope="request"
      type="com.yourcompany.struts.action.LoginandLogoutAction"
      cancellable="true" >
      <forward name="loginok" path="/WEB-INF/ok.jsp" />
      <forward name="gologin" path="/WEB-INF/login.jsp" />
    </action>
  </action-mappings>
 
  <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>
3、JSP页面
3.1 login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'login.jsp' starting page</title>
   
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">   
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
 
  </head>
 
  <body>
    <form action="/dispatch/loginandLogout.do?flag=userlogin" method="post">
        u:<input type="text" name="username"><br/>
        p:<input type="password" name="password"><br/>
        <input type="submit" value="login">
    </form>
  </body>
</html>
3.2 ok.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'login.jsp' starting page</title>
   
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">   
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
 
  </head>
 
  <body>
        <h1>登录成功</h1>
        <a href="/dispatch/loginandLogout.do?flag=userloginout">退出系统</a>
  </body>
</html>
LoginandLogoutAction
LoginandLogoutAction
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.yourcompany.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import com.yourcompany.struts.form.UserForm;
/**
* MyEclipse Struts
* Creation date: 10-21-2017
*
* XDoclet definition:
* @struts.action validate="true"
*/
public class LoginandLogoutAction extends DispatchAction {
    /*
     * Generated Methods
     */
    /**
     * Method execute
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return ActionForward
     */
    //使用分派action往往需要自己重新命名函数,这个函数用于响应登录请求
    public ActionForward userlogin(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {
        // TODO Auto-generated method stub
        UserForm userForm=(UserForm) form;
        if("123".equals(userForm.getPassword())){
            return mapping.findForward("loginok");
        }
        else
        {
            return mapping.findForward("gologin");
        }
        
    }
    //这个函数用于响应注销请求
    public ActionForward userloginout(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {
        // TODO Auto-generated method stub
        //把用户的session清空
        request.getSession().invalidate();
        return mapping.findForward("gologin");
    }
}
 
UserForm
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.yourcompany.struts.form;
import org.apache.struts.action.ActionForm;
/**
* MyEclipse Struts
* Creation date: 10-21-2017
*
* XDoclet definition:
* @struts.form name="userForm"
*/
public class UserForm extends ActionForm {
    private String username;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    private String password;

 

}
  • 大小: 105.2 KB
  • 大小: 14.4 KB
1
0
分享到:
评论

相关推荐

    struts DispatchAction

    Struts DispatchAction是一个在Struts框架中非常重要的概念,它是一种控制器组件,用于处理来自用户的请求并调度到相应的业务逻辑方法。在Struts框架中,DispatcherAction是Action类的一个子类,它的主要作用是实现...

    Struts(DispatchAction) + 存储过程 => 实现分页效果

    Struts框架是Java Web开发中常用的一个MVC(Model-View-Controller)框架,它极大地简化了企业级应用的开发工作。DispatchAction是Struts框架中的一个动作类,用于处理用户的请求并转发到相应的业务逻辑。在这个场景...

    Struts 之 DispatchAction

    Struts 是一个经典的Java Web开发框架,用于构建企业级的MVC(模型-视图-控制器)应用程序。在Struts框架中,`DispatchAction`是一个关键组件,它扮演着控制器的角色,负责处理用户请求并调用相应的业务逻辑。在本篇...

    Struts中等同于DispatchAction类方法

    Struts框架是Java Web开发中一个非常重要的MVC(Model-View-Controller)框架,它为开发者提供了一种结构化的方式来组织和管理应用程序。在早期的Struts版本中,`DispatchAction`类是一个核心组件,它允许我们通过...

    struts+oracle实现DispatchAction类

    Struts是Java Web开发中的一款经典MVC框架,它的出现极大地简化了企业级应用的构建。在本项目中,我们关注的是"Struts+Oracle实现DispatchAction类",这是一个将Struts框架与Oracle数据库结合使用,以实现业务逻辑...

    利用struts标签,dispatchAction,实现增删改查

    Struts是一个开源的JavaEE框架,它为构建基于MVC(Model-View-Controller)模式的Web应用程序提供了强大的支持。在本教程中,我们将深入探讨如何利用Struts的标签库和DispatchAction来实现数据的增删改查操作,这...

    DispatchAction

    在Struts框架中,`DispatchAction`和`MappingDispatchAction`是两种常见的控制器组件,用于处理用户请求。它们是Action接口的实现类,主要用于映射HTTP请求到特定的方法,从而实现业务逻辑的分发。 首先,让我们...

    DispatchAction、LookupDispatchAction、SwitchAction的应用

    ### DispatchAction、LookupDispatchAction、SwitchAction 的应用详解 #### 一、DispatchAction 的应用 **DispatchAction** 是 Struts 框架中一个非常有用的类,它位于 `org.apache.struts.actions` 包中。其核心...

    struts_dispacthaction_usermgr

    Struts DispatchAction是Apache Struts框架的一个经典组件,主要用于处理多方法的Action。...这些资源可能包含更深入的代码示例和配置细节,帮助你更好地理解和应用Struts DispatchAction进行用户管理。

    struts应用举例2

    Struts 是一个开源的 JavaEE Web 应用框架,它主要负责处理用户的请求,并通过控制器进行业务逻辑处理,再将结果展示在视图上。在"Struts应用举例2"中,我们将深入探讨Struts框架的核心概念、工作原理以及如何在实际...

    DispatchAction实例

    在实际的Web应用程序开发中,通常一个URL对应一个Action,而`DispatchAction`则允许一个Action处理多个不同的请求,每个请求映射到Action中的不同方法,提高了代码的可维护性和组织性。 `DispatchAction`的核心机制...

    struts1.2实现计算器示例

    Struts1.2是一个经典的Java Web框架,它在企业级应用开发中被广泛使用,尤其在Web MVC(Model-View-Controller)设计模式的应用上。本示例是基于Struts1.2实现的一个计算器程序,旨在帮助初学者理解Struts框架的工作...

    struts例子struts例子

    总的来说,Struts通过提供ActionForm、动态ActionForm、DispatchAction和Validator验证框架等工具,极大地增强了开发Web应用的效率和灵活性。理解并熟练掌握这些核心概念,对于构建健壮且易于维护的Struts应用至关...

    struts教程struts教程

    Struts是Apache软件基金会 Jakarta项目下的一个开源框架,主要用于构建基于Java的企业级Web应用程序。它遵循Model-View-Controller(MVC)设计模式,旨在提供更有效地管理和控制应用程序的业务逻辑、用户界面和数据...

    struts 简单框架搭建

    - 在`src/main/java`下创建一个包,例如`com.example.myapp.actions`,然后在此包内创建一个Action类,实现`com.opensymphony.xwork2.Action`接口或继承`org.apache.struts2.actions.DispatchAction`或`...

    Struts Struts1例子Struts注意事项

    Struts是Java Web开发中的一款经典MVC框架,主要用于构建基于J2EE的企业级应用程序。Struts1作为早期版本,虽然现在已经被Struts2所取代,但仍然在很多老项目中广泛使用,对于理解Web应用架构和MVC设计模式有着重要...

Global site tag (gtag.js) - Google Analytics