一 action特性
action是单态的,包括ActionServlet。
单态是指:在整个程序运行过程中,始终是一个对象。
二 action单态特性证明
1 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");
}
}
}
2 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>
三 测试结果
相关推荐
### Java中单态设计模式详解 #### 一、引言 设计模式是在长期软件开发过程中提炼出来的最佳实践,它们提供了一种标准化的方式用于解决特定类型的问题。对于Java开发者而言,熟悉并掌握各种设计模式是非常重要的,...
单态模式,是一种常用的软件设计模式,其核心思想是确保一个类在整个应用程序中只有一个实例,并提供全局访问点。这种模式的出现主要是为了解决对象创建的控制问题,特别是在某些需要频繁创建和销毁的对象中,单态...
在IT行业中,单态登录(Singleton Login)是一种常见的设计模式,尤其在Web应用程序开发中,用于确保用户在系统内只需登录一次,即可访问多个相互关联的子系统或应用,无需重复登录。本篇将深入探讨Java如何实现单态...
在Java开发中,实现单态登录通常涉及以下几个核心知识点: 1. **会话管理**:单态登录的基础是有效地管理用户的会话。在Web开发中,Java使用`HttpSession`对象来存储用户会话信息,例如用户ID、登录状态等。当用户...
单态模式(Singleton Pattern)是软件设计模式中的一种,它保证一个类只有一个实例,并提供一个全局访问点。在.NET环境中,无论是C#还是ASP.NET项目,单态模式都是经常被用到的设计模式之一,尤其在处理全局配置、...
Struts的Action是单态的,因此不是线程安全的。若要确保线程安全,应避免在Action中使用类变量,而是使用局部变量或session、request范围内的属性。另外,可以通过实现`ActionSupport`的`validate()`方法进行请求...
单态模式(Singleton Pattern)是软件设计模式中的一种,它保证了类只有一个实例,并提供一个全局访问点。这种模式在很多场景下非常有用,比如配置管理、线程池、缓存管理和日志记录等,因为它可以确保在整个系统中...
是个使用java实现的单态例子,开始接触java单态的或是不了解单态是怎么实现的同僚,是个不错的参考
- **Struts中不同的Action和ActionForm组合** - 探讨了如何根据不同的业务需求选择合适的Action和ActionForm组合。 - **第9章 Struts内置机制** - **9.1 Struts内置类DispatchAction** - 介绍了Struts提供的内置...
单态(Singleton)模式是软件设计模式中的一种,它的核心思想是确保一个类只有一个实例,并提供一个全局访问点。在Java编程中,单态模式被广泛应用于那些需要频繁实例化然后销毁的对象,或者创建对象需要消耗大量...
这个一个简单的java例子,可以为新手加深对java单态模式的理解.....
单态登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在Web开发领域,尤其是使用JSP和JavaWeb技术栈时,单态登录对于构建大型、多模块的...
- **单态特性**:每个 Action 实例都是单例的,这意味着在整个应用程序的生命周期中,每个 Action 只会被实例化一次。 - **配置文件路径**:虽然 `struts-config.xml` 文件通常被放置在 `/WEB-INF` 目录下,但实际上...
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在项目的很多地方都会用到它,比如说数据库的链接。 使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于...
在Java编程语言中,本文将深入探讨几个关键概念,包括继承中的`this()`构造器调用、多态性、单态设计模式、静态初始化、对象引用的`==`比较以及参数传递机制。这些知识点是Java程序员必备的基础知识,对理解和编写...
单态模式(Singleton Pattern)是设计模式中的一种,它的核心思想是限制类的实例化,确保一个类只有一个实例,并提供全局访问点。在.NET开发中,单态模式被广泛应用于那些需要频繁实例化然后销毁的对象,或者需要...
- **Struts中不同的Action和ActionForm组合**:探讨了不同类型的Action和ActionForm如何配合使用以满足不同的业务需求。 #### Struts内置机制 - **Struts内置类DispatchAction**:DispatchAction是Struts中的一个...
单态模式(Singleton Pattern)是设计模式中的一种,它的核心思想是确保一个类只有一个实例,并提供一个全局访问点。在MFC(Microsoft Foundation Classes)框架中,单态模式的应用同样重要,尤其对于需要全局共享的...
单态模式是在面向对象设计中实现类似单例行为的一种替代方法,确保Java应用程序中的共享状态。它强制实现一种独特的行为,即类的所有实例共享相同的状态。与单例模式不同,单例模式将类限制为单个实例,单态模式允许...
单态模式(Singleton Pattern)是一种常用的软件设计模式,它的核心目标是确保一个类在整个应用程序中只有一个实例,并提供全局唯一的访问点。这种模式在资源管理、配置管理、对象协调等方面有广泛应用,例如创建...