[J2EE]struts+ejb笔记

DispatchAtion:

- org.apache.struts.actions.DispatchAction

这个类是个抽象类,但实现父类Action的execute方法,在项目中重写这个类可以专注于执行方法面不必自己实现execute方法

直接给一个例子:

1.继承DispatchAtion类,其包括一些方法,如checkUser()、logon()、logout()等,这些方法有一个共同的模板:

public ActionForward XXXmethod( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
{ ... ... }
package examples;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.actions.*;
public class AccountAction extends DispatchAction {
  public ActionForward login( ActionMapping mapping, ActionForm form,
                              HttpServletRequest request, HttpServletResponse response)       throws Exception {
      // 進行一些Login的邏輯
      return mapping.findForward("success");
  } 

  public ActionForward logout( ActionMapping mapping, ActionForm form,                   HttpServletRequest request, HttpServletResponse response)
      throws Exception {
      // 進行一些Logout的邏輯
      return mapping.findForward("success1");
  }
}

2.在struts-config.xml如下配置:

    <global-forwards>
        <forward name="logon" path="/logon.do"/>
        <forward name="error" path="/error.do" redirect="false" contextRelative="true"/>
        <forward name="main" path="/main.do" redirect="false"/>
        <forward name="checkOut" path="/checkOut.do" />
        <forward name="leftFrame" path="/leftFrame.do" redirect="false"/>
    </global-forwards>
    <action-mappings>
    <action path="/logon" forward="/logon.jsp"/>
    <action path="/logon-validate"
            input="/logon.jsp"
            name="LogonForm"
            parameter="todo"
            type="com.amerisia.ebills.studio.action.LogonAction"
            validate="false">    </action>
    <action path="/logout" type="com.amerisia.ebills.studio.action.LogoutAction"/>
    <action path="/online" type="com.amerisia.ebills.studio.action.OnlineAction"/>
    <action path="/UserOnlineAction"
       input="/showOnlineUser.jsp"
            name="UserOnlineForm"
            parameter="todo"
            type="com.amerisia.ebills.studio.action.UserOnlineAction">
        <forward name="showOnlineUser" path="/showOnlineUser.jsp"/>
    </action>

DynaActionForm

- org.apache.struts.action.DynaActionForm

写ActionForm时要写上它的setter/getter方法,简单的ActionForm可以用这个来代替,它其实是ActionForm的一个子类,用Map方式存储,配置方法如下:

struts-config.xml中:

<form-beans>
    <form-bean name="LogonForm" type="org.apache.struts.action.DynaActionForm">
        <form-property name="username" type="java.lang.String"/>
        <form-property name="password" type="java.lang.String"/>
    </form-bean>
    <form-bean name="UserOnlineForm" type="org.apache.struts.action.DynaActionForm">
        <form-property name="userId" type="java.lang.String"/>
        </form-bean>
    </form-beans>
<form-beans>

如此可以取得它:

DynaActionForm dynaActionForm = (DynaActionForm) form;
String username = (String) dynaActionForm.get("username");
String password = (String) dynaActionForm.get("password");

这个(DynaActionForm)form是方法传入来的参数,这个方法的参数列表是固定的,是DispatchAction的执行方法。

时间: 2024-10-10 06:30:47

[J2EE]struts+ejb笔记的相关文章

struts学习笔记(1)基本配置

Struts2  学习笔记 吃透最简单的Helloword实例之后 ,接着再一一去研究 请求参数的接收与发送,参数的封闭,校验,result,struts2标签库这些最为核心的东西(其实这些也正是最常用的东西),经过这样的学习,应该领会了一些Struts2的流程,接着再去阅读相关文档去了解Strust2的拦截器设计思想(这叫先使用再体会的学习方法),接着可以做一些针对于自定义拦截器的实现来深化对Struts2的认识.此时,你已经达到企业中使用的级别了,接下来就可以玩一些SSh整合 一.基本配置 

expert ont on one J2EE Development without EJB 笔记

expert ont on one J2EE Development without EJB作者:Rod Johnson推荐书籍:<Expert One on One J2EE Design and Development>    Martin Fowler<Patterns of Enterprise Application Architecture>    四人帮的<设计模式>    <Core J2EE Patterns>推荐网站:TheServerS

J2EE之EJB

 EJB是sun的JavaEE服务器端组件模型,最大的用处是部署分布式应用程序.EJB把使用java开发的服务器组件的部署和开发进行标准化.凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台. EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准.其特点包括网络服务支持和核心开发工具(SDK). 在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心

j2ee规范——EJB

1.EJB是什么 商务软件的核心部分是它的业务逻辑.业务逻辑抽象了整个商务过程的流程,并使用计算机语言将他们实现. -- J2EE 对于这个问题的处理方法是将业务逻辑从客户端软件中抽取出来,封装在一个组件中.这个组件运行在一个独立的服务器上,客户端软件通过网络调用组件提供的服务以实现业务逻辑,而客户端软件的功能单纯到只负责发送调用请求和显示处理结果.在J2EE 中,这个运行在一个独立的服务器上,并封装了业务逻辑的组件就是EJB(Enterprise JavaBean)组件. 2.通俗一点对于EJ

Struts学习笔记_Tags

1.通用标签: a)         property b)         set i.              默认为action scope,会将值放入request和ActionContext中 ii.              page.request.session.application c)         bean d)         include(对中文文件支持有问题,不建议使用,如需包含,改用jsp包含) e)         param f)          de

Struts学习笔记

关于Struts的传值问题: 个人总结,我认为共有三种方式: 一.直接通过在action中设置相应的get和set方法 列如:在action中: private String userName; private String userPwd; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public S

Struts学习笔记_拦截器

1.Struts架构图 2.Struts执行过程分析 3.Interceptor拦截器过程模拟 //main.java public class Main { public static void main(String[] args) { new ActionInvocation().invoke(); } } //ActionInvocation .java public class ActionInvocation { List<Interceptor> interceptors = n

Struts学习笔记_声明式异常处理

一,声明式异常处理: 第一步:首先在有可能抛出异常的方法里面throws exception public List<Category> list() throws SQLException { Connection conn = DB.createConn(); String sql = "select * from _category_"; //数据库里面没有这个table,产生异常 PreparedStatement ps = DB.prepare(conn, sql

Struts学习笔记_Result

一,Result type <package name="resultTypes" namespace="/r" extends="struts-default"> <action name="r1"> <result type="dispatcher">/r1.jsp</result> //服务器跳转,为默认项 </action> <act