`
frying
  • 浏览: 4754 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于webwork session登陆验证

阅读更多
我使用的webwork和spring.各个action在spring中使用scope="prototype"模式.

BaseAction如下:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.lang.*;
import com.opensymphony.webwork.ServletActionContext;
import com.opensymphony.xwork.ActionSupport;



public class BaseAction extends ActionSupport {
    protected transient final Log log = LogFactory.getLog(getClass());

    private String loginId="";    
 
       
    public String getLoginId() {
		return loginId;
	}


    
    protected boolean checkNoLogin(){
    	//getSession().setMaxInactiveInterval(1);
    	HttpSession session = getSession();
    loginId = (String)session.getAttribute("userSession");
    System.out.println("loginId:"+loginId);
    if(StringUtils.isBlank(loginId))
    {
    	return true;
    }
    return false;
    	
    }
    
	
	   /**
     * Convenience method to get the request
     * @return current request
     */
    protected HttpServletRequest getRequest() {
        return ServletActionContext.getRequest();  
    }
    
    /**
     * Convenience method to get the response
     * @return current response
     */
    protected HttpServletResponse getResponse() {
        return ServletActionContext.getResponse();
    }
    
    /**
     * Convenience method to get the session
     */
    protected HttpSession getSession() {
    	return getRequest().getSession();
    } 



loginAction.java如下:
	public String login() throws Exception {
		System.out.println("loginId:"+loginId);
		System.out.println("password:"+password);		
		if (loginDao.checkUserExists(loginId,password) == false) {
			addFieldError("loginIdNoExists", "用户名不存在!");
			return ERROR;
		} else if (loginDao.checkUserSuccess(loginId,password) == false) {
			addFieldError("passwordNoMatch", "用户密码错误!");
			return ERROR;
		} else {
			System.out.println("login success!");
			HttpSession session = getSession();
			session.setAttribute("userSession", loginId);
			
			System.out.println("成功登录!");
		}		
		return SUCCESS;
		}


但是登陆成功之后,在其他的模块Condition.java中


	public String condition() throws Exception {
		if(checkNoLogin())
			return "login";
		return SUCCESS;
    }

调用BaseAction的checkNoLogin方法,取得登陆成功之后保存在session中的userSession,为什么会是null呢?

请各位解答一下.或者有其他的方式来验证用户是否登陆成功的方式,谢谢!!!
分享到:
评论
1 楼 xugq035 2007-02-11  
用filter不行么?

相关推荐

    webwork 登录逻辑验证(简单)

    5. **结果处理**:如果验证成功,Action通常会设置一个成功的结果代码,并可能保存用户的登录信息在Session中以便后续请求使用。如果验证失败,Action可能会返回一个错误的结果,显示错误消息给用户。 6. **视图...

    WebWork教程

    WebWork教程提供了关于如何使用WebWork框架开发Web应用程序的详细指导。它包括了WebWork基础、安装指南、HelloWorld示例、Action动作的介绍以及如何进行Action的单元测试等。此外,还涵盖了ResultType(结果类型)的...

    WebWork教程开发资料

    ActionContext是WebWork中传递请求参数、session状态和其他上下文信息的关键对象。它封装了请求和响应对象,为Action提供了一种访问当前请求环境的统一方式。 **ServletActionContext** ServletActionContext是...

    webwork教程

    - WebWork提供了内置的验证框架来简化表单验证过程。 - 可以为Action添加验证规则,自动验证用户的输入数据。 - **XWork配置文件**: - xwork.xml是WebWork的核心配置文件,用于定义Action、拦截器、结果类型等...

    WebWork 教程

    同时,WebWork集成了强大的验证框架,支持运行时的表单属性验证,通过配置文件或注解的方式,开发者可以方便地为Action中的字段添加验证规则,确保输入数据的有效性和安全性。 #### XWork配置详解 Xwork的配置主要...

    webwork登录的实例

    这个实例是关于如何在WebWork框架下实现用户登录功能的。 首先,我们需要了解WebWork的核心概念。WebWork的核心思想是将业务逻辑、数据模型和用户界面进行解耦,通过Action(控制器)、Model(模型)和JSP(视图)...

    Webwork教程

    - **WebWork**相较于**Struts1.x**提供了更为灵活的配置方式,支持更丰富的数据类型转换及验证机制,并且采用了拦截器(Interceptor)而非过滤器(Filter)的设计模式。 - **Struts2**在WebWork的基础上进行了扩展...

    webwork中文 webwork中文参考 webwork中文资料 webwork学习资料

    ActionContext是Action执行的上下文,包含了一系列关键的对象,如Request、Session、Application等,用于存储和检索数据。ServletActionContext则专门用于Servlet环境下的ActionContext操作。 #### Interceptor框架...

    webwork例子

    7. **参数传递**:WebWork支持通过请求参数、Session和Application范围的变量来传递数据。ActionContext是WebWork中的上下文对象,包含了当前请求的所有环境信息。 8. **异常处理**:WebWork提供了强大的异常处理...

    webwork 2.1.7.jar

    10. **ActionContext**:ActionContext是WebWork中的一个重要组件,它保存了请求上下文中的所有信息,包括session、request和application范围的对象,以及OGNL表达式上下文。 11. **Ajax Support**:WebWork 2.1.7...

    webwork入门(添加注释)

    ActionContext是WebWork中的一个重要概念,它保存了当前请求相关的上下文信息,如Action的属性、Session数据、Request参数等。ActionContext允许动作访问和操作这些数据,同时,ServletActionContext是ActionContext...

    webwork登陆代码

    这个"webwork登陆代码"示例显然展示了如何在WebWork框架下实现一个基本的用户登录功能。下面将详细介绍WebWork的核心概念、登录功能的实现原理以及可能涉及的关键技术点。 1. WebWork框架基础: - **Action**: 在...

    webwork学习资料

    ActionContext是WebWork中的一个关键组件,它提供了访问当前请求的上下文信息,如请求参数、session和application范围的对象。ActionContext使得Action可以获取和设置这些信息,进行数据传递。 7. **...

    webwork2.0 webwork2.0 帮助文档

    ActionContext是WebWork中的一个关键组件,它为Action提供了一个上下文,其中包含了请求、响应、session和application等Web环境中的数据。ActionContext允许你在Action间共享数据,并且可以访问到拦截器和控制器层的...

    webworkDemo.rar_webwork_webwork2

    5. **Request/Session/ApplicationContext**:WebWork2提供了对请求、会话和应用上下文的封装,方便在Action之间共享数据。 6. **视图渲染**:视图通常是JSP页面,通过OGNL表达式从值栈中获取数据并显示。WebWork2...

    webwork2.0参考资料

    - **介绍**: WebWork提供了内置的验证机制, 可以方便地对表单数据进行验证。 - **应用**: - 在用户注册Action中加入验证规则, 如检查用户名是否唯一、密码强度等。 - 配置验证消息, 支持国际化处理。 #### 结果...

    WebWork深入浅出

    在WebWork中,Action是业务逻辑的载体,而Interceptor则可以插入到Action执行流程中,用于执行预处理或后处理任务,比如登录检查、权限验证等。此外,OGNL作为强大的表达式语言,可以方便地在Action和视图之间绑定和...

    WebWork完全教程.doc

    最后,编写 HelloWorld 程序,以验证 WebWork 框架的安装是否成功。 Action Action 是 WebWork 框架的核心组件之一,负责处理用户请求和响应。Action 可以分为两类:Field-Driven Action 和 Model-Driven Action。...

    webwork深入浅出

    2. **输入验证**:WebWork提供了丰富的验证规则和自定义验证逻辑的支持,使得输入验证变得更加简单明了。 3. **数据输出**:通过使用多种视图技术(如JSP、Velocity、FreeMarker等),WebWork能够灵活地展示数据,...

Global site tag (gtag.js) - Google Analytics