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

struts中的action是单态的

阅读更多
一 action特性
action是单态的,包括ActionServlet。
单态是指:在整个程序运行过程中,始终是一个对象。
 
二 action单态特性证明
LoginAction
package com.cakin.actions;
//这是一个action(表示小队长,需要继承Action)
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.cakin.forms.UserForm;
public class LoginAction extends Action {
    private int num=0;
    //我们需要重新编写一个方法:execute会被自动调用,有点类似servlet的service方法。
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
            //把form转成对应的UserForm对象
        UserForm userForm=(UserForm)form;
        num++;
        //简单验证
        if("123".equals(userForm.getPassword())){
            //把名字存放到request对象域
            //request.setAttribute("username", userForm.getUsername());
            request.setAttribute("num",num+"");
            return mapping.findForward("ok");
        }
        else{
            return mapping.findForward("err");
        }
    }
}
 
wel.jsp
<%@ page language="java" import="java.util.*" import="com.cakin.forms.*" 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 'wel.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>
    welcome <%=((UserForm)session.getAttribute("userForm")).getUsername() %> <br>
    <a href="/strutslogin/">返回重新登录</a>
    num=<%=request.getAttribute("num") %>
  </body>
</html>
 
三 测试结果

 



 
  • 大小: 21 KB
1
1
分享到:
评论

相关推荐

    Java中单态设计模式

    ### Java中单态设计模式详解 #### 一、引言 设计模式是在长期软件开发过程中提炼出来的最佳实践,它们提供了一种标准化的方式用于解决特定类型的问题。对于Java开发者而言,熟悉并掌握各种设计模式是非常重要的,...

    单态模式(PPT)

    单态模式,是一种常用的软件设计模式,其核心思想是确保一个类在整个应用程序中只有一个实例,并提供全局访问点。这种模式的出现主要是为了解决对象创建的控制问题,特别是在某些需要频繁创建和销毁的对象中,单态...

    Java实现的单态登陆

    在IT行业中,单态登录(Singleton Login)是一种常见的设计模式,尤其在Web应用程序开发中,用于确保用户在系统内只需登录一次,即可访问多个相互关联的子系统或应用,无需重复登录。本篇将深入探讨Java如何实现单态...

    单态登录——只能在一个机器上登录(完整实例)

    在Java开发中,实现单态登录通常涉及以下几个核心知识点: 1. **会话管理**:单态登录的基础是有效地管理用户的会话。在Web开发中,Java使用`HttpSession`对象来存储用户会话信息,例如用户ID、登录状态等。当用户...

    Net单态模式的案例

    单态模式(Singleton Pattern)是软件设计模式中的一种,它保证一个类只有一个实例,并提供一个全局访问点。在.NET环境中,无论是C#还是ASP.NET项目,单态模式都是经常被用到的设计模式之一,尤其在处理全局配置、...

    Struts+Hibernate+Spring常见面试题

    Struts的Action是单态的,因此不是线程安全的。若要确保线程安全,应避免在Action中使用类变量,而是使用局部变量或session、request范围内的属性。另外,可以通过实现`ActionSupport`的`validate()`方法进行请求...

    单态模式(代码)

    单态模式(Singleton Pattern)是软件设计模式中的一种,它保证了类只有一个实例,并提供一个全局访问点。这种模式在很多场景下非常有用,比如配置管理、线程池、缓存管理和日志记录等,因为它可以确保在整个系统中...

    java单态例子

    是个使用java实现的单态例子,开始接触java单态的或是不了解单态是怎么实现的同僚,是个不错的参考

    struts从入门到精通.doc

    - **Struts中不同的Action和ActionForm组合** - 探讨了如何根据不同的业务需求选择合适的Action和ActionForm组合。 - **第9章 Struts内置机制** - **9.1 Struts内置类DispatchAction** - 介绍了Struts提供的内置...

    MyEclipse\单态.rar

    单态(Singleton)模式是软件设计模式中的一种,它的核心思想是确保一个类只有一个实例,并提供一个全局访问点。在Java编程中,单态模式被广泛应用于那些需要频繁实例化然后销毁的对象,或者创建对象需要消耗大量...

    简单的Java单态例子

    这个一个简单的java例子,可以为新手加深对java单态模式的理解.....

    单态登录的源代码

    单态登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在Web开发领域,尤其是使用JSP和JavaWeb技术栈时,单态登录对于构建大型、多模块的...

    struts快速入门

    - **单态特性**:每个 Action 实例都是单例的,这意味着在整个应用程序的生命周期中,每个 Action 只会被实例化一次。 - **配置文件路径**:虽然 `struts-config.xml` 文件通常被放置在 `/WEB-INF` 目录下,但实际上...

    JAVA设计模式(单态模式和简单工厂模式)

    Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在项目的很多地方都会用到它,比如说数据库的链接。 使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于...

    java代码笔记2010-05-31:继承this()的使用多态;单态;静态初始化;==比较的是地址;参数传递的是个值的拷贝还是引用的传递;循环菱形

    在Java编程语言中,本文将深入探讨几个关键概念,包括继承中的`this()`构造器调用、多态性、单态设计模式、静态初始化、对象引用的`==`比较以及参数传递机制。这些知识点是Java程序员必备的基础知识,对理解和编写...

    .Net单态模式的案例

    单态模式(Singleton Pattern)是设计模式中的一种,它的核心思想是限制类的实例化,确保一个类只有一个实例,并提供全局访问点。在.NET开发中,单态模式被广泛应用于那些需要频繁实例化然后销毁的对象,或者需要...

    structs程序设计从入门到精通word文档

    - **Struts中不同的Action和ActionForm组合**:探讨了不同类型的Action和ActionForm如何配合使用以满足不同的业务需求。 #### Struts内置机制 - **Struts内置类DispatchAction**:DispatchAction是Struts中的一个...

    mfc单态模式的例子

    单态模式(Singleton Pattern)是设计模式中的一种,它的核心思想是确保一个类只有一个实例,并提供一个全局访问点。在MFC(Microsoft Foundation Classes)框架中,单态模式的应用同样重要,尤其对于需要全局共享的...

    【Java设计模式】单态模式

    单态模式是在面向对象设计中实现类似单例行为的一种替代方法,确保Java应用程序中的共享状态。它强制实现一种独特的行为,即类的所有实例共享相同的状态。与单例模式不同,单例模式将类限制为单个实例,单态模式允许...

    单态模式的设计和应用

    单态模式(Singleton Pattern)是一种常用的软件设计模式,它的核心目标是确保一个类在整个应用程序中只有一个实例,并提供全局唯一的访问点。这种模式在资源管理、配置管理、对象协调等方面有广泛应用,例如创建...

Global site tag (gtag.js) - Google Analytics