我使用的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呢?
请各位解答一下.或者有其他的方式来验证用户是否登陆成功的方式,谢谢!!!
分享到:
相关推荐
5. **结果处理**:如果验证成功,Action通常会设置一个成功的结果代码,并可能保存用户的登录信息在Session中以便后续请求使用。如果验证失败,Action可能会返回一个错误的结果,显示错误消息给用户。 6. **视图...
WebWork教程提供了关于如何使用WebWork框架开发Web应用程序的详细指导。它包括了WebWork基础、安装指南、HelloWorld示例、Action动作的介绍以及如何进行Action的单元测试等。此外,还涵盖了ResultType(结果类型)的...
ActionContext是WebWork中传递请求参数、session状态和其他上下文信息的关键对象。它封装了请求和响应对象,为Action提供了一种访问当前请求环境的统一方式。 **ServletActionContext** ServletActionContext是...
- WebWork提供了内置的验证框架来简化表单验证过程。 - 可以为Action添加验证规则,自动验证用户的输入数据。 - **XWork配置文件**: - xwork.xml是WebWork的核心配置文件,用于定义Action、拦截器、结果类型等...
同时,WebWork集成了强大的验证框架,支持运行时的表单属性验证,通过配置文件或注解的方式,开发者可以方便地为Action中的字段添加验证规则,确保输入数据的有效性和安全性。 #### XWork配置详解 Xwork的配置主要...
这个实例是关于如何在WebWork框架下实现用户登录功能的。 首先,我们需要了解WebWork的核心概念。WebWork的核心思想是将业务逻辑、数据模型和用户界面进行解耦,通过Action(控制器)、Model(模型)和JSP(视图)...
- **WebWork**相较于**Struts1.x**提供了更为灵活的配置方式,支持更丰富的数据类型转换及验证机制,并且采用了拦截器(Interceptor)而非过滤器(Filter)的设计模式。 - **Struts2**在WebWork的基础上进行了扩展...
ActionContext是Action执行的上下文,包含了一系列关键的对象,如Request、Session、Application等,用于存储和检索数据。ServletActionContext则专门用于Servlet环境下的ActionContext操作。 #### Interceptor框架...
7. **参数传递**:WebWork支持通过请求参数、Session和Application范围的变量来传递数据。ActionContext是WebWork中的上下文对象,包含了当前请求的所有环境信息。 8. **异常处理**:WebWork提供了强大的异常处理...
10. **ActionContext**:ActionContext是WebWork中的一个重要组件,它保存了请求上下文中的所有信息,包括session、request和application范围的对象,以及OGNL表达式上下文。 11. **Ajax Support**:WebWork 2.1.7...
ActionContext是WebWork中的一个重要概念,它保存了当前请求相关的上下文信息,如Action的属性、Session数据、Request参数等。ActionContext允许动作访问和操作这些数据,同时,ServletActionContext是ActionContext...
这个"webwork登陆代码"示例显然展示了如何在WebWork框架下实现一个基本的用户登录功能。下面将详细介绍WebWork的核心概念、登录功能的实现原理以及可能涉及的关键技术点。 1. WebWork框架基础: - **Action**: 在...
ActionContext是WebWork中的一个关键组件,它提供了访问当前请求的上下文信息,如请求参数、session和application范围的对象。ActionContext使得Action可以获取和设置这些信息,进行数据传递。 7. **...
ActionContext是WebWork中的一个关键组件,它为Action提供了一个上下文,其中包含了请求、响应、session和application等Web环境中的数据。ActionContext允许你在Action间共享数据,并且可以访问到拦截器和控制器层的...
5. **Request/Session/ApplicationContext**:WebWork2提供了对请求、会话和应用上下文的封装,方便在Action之间共享数据。 6. **视图渲染**:视图通常是JSP页面,通过OGNL表达式从值栈中获取数据并显示。WebWork2...
- **介绍**: WebWork提供了内置的验证机制, 可以方便地对表单数据进行验证。 - **应用**: - 在用户注册Action中加入验证规则, 如检查用户名是否唯一、密码强度等。 - 配置验证消息, 支持国际化处理。 #### 结果...
在WebWork中,Action是业务逻辑的载体,而Interceptor则可以插入到Action执行流程中,用于执行预处理或后处理任务,比如登录检查、权限验证等。此外,OGNL作为强大的表达式语言,可以方便地在Action和视图之间绑定和...
最后,编写 HelloWorld 程序,以验证 WebWork 框架的安装是否成功。 Action Action 是 WebWork 框架的核心组件之一,负责处理用户请求和响应。Action 可以分为两类:Field-Driven Action 和 Model-Driven Action。...
2. **输入验证**:WebWork提供了丰富的验证规则和自定义验证逻辑的支持,使得输入验证变得更加简单明了。 3. **数据输出**:通过使用多种视图技术(如JSP、Velocity、FreeMarker等),WebWork能够灵活地展示数据,...