使用SessionAware可以用通过的Map对象来注入session,这样在单元测试的时候只需要创建一个Map就可以了。这是一种比较推荐的做法
package cn.jbit.pb.bqyf.user.web;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import cn.jbit.pb.bqyf.entity.User;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport implements SessionAware{
private User users;
private String msg;
private Map<String,Object>session;
public String getMsg() {
return msg;
}
public Map<String, Object> getSession() {
return session;
}
public void setSession(Map<String, Object> session) {
this.session = session;
}
public void setMsg(String msg) {
this.msg = msg;
}
public User getUsers() {
return users;
}
public void setUsers(User users) {
this.users = users;
}
public String login(){
String forward="";
if(users.getUsername().equals("bh")&&users.getPassword().equals("1234")){
User u =new User();
u.setUsername("student");
u.setPassword("1234");
u.setUserroles("01");
session.put("pbdevj", u);
forward="main";
}else{
msg="用户名或密码错误";
forward="index";
}
return forward;
}
public String top(){
return "top";
}
public String left(){
return "left";
}
public String right(){
return "right";
}
}
分享到:
相关推荐
在Struts2中,可以使用`SessionAware`接口或者通过`ActionContext`来获取session对象。 1. **使用SessionAware接口:** - 通过实现`SessionAware`接口,可以自动注入session对象。 ```java import org.apache....
本文将详细介绍在 JSP 和 Struts2 中如何在 Action 类中使用 Session,包括两种主要的方法:通过 `ActionContext` 获取 Session 和实现 `SessionAware` 接口。 #### 一、通过 `ActionContext` 获取 Session 在 ...
在 Struts2 中,Session 的使用主要通过实现 SessionAware 接口来实现,本文将详细介绍 Struts2 中的 Session 用法。 一、Session 概念 在 Web 应用程序中,Session 是指服务器端用于存储用户数据的存储空间。...
在Struts2中,使用注解(Annotation)可以简化配置,提高开发效率。本篇文章将深入探讨如何在Struts2中通过注解实现返回JSON数据的功能。 首先,让我们理解JSON(JavaScript Object Notation)是一种轻量级的数据...
如果不希望实现`SessionAware`接口,也可以直接使用`ActionContext`来获取和设置Session数据。 ```java ActionContext.getContext().getSession().put("USER_SESSION_KEY", user); ``` 4. **从Session中获取...
- 如果项目中有多个Action需要使用session,可以创建一个基类`BaseAction`,让它实现`SessionAware`接口,这样所有继承自`BaseAction`的Action类就无需再重复实现该接口。 - 基类示例: ```java package s2.ex....
开发者不再需要直接处理HttpServletRequest、HttpServletResponse或HttpSession,而是可以实现如RequestAware、SessionAware等接口来获取所需信息,使代码更简洁、更面向对象。 Struts2的标签库是一个显著优势,它...
在“struts2零配置入门代码”中,我们可能要探讨如何在不使用XML配置文件的情况下启动一个基本的Struts2应用。这通常涉及使用Struts2的注解来配置动作类和结果页面。 首先,让我们了解Struts2的基本概念。Struts2的...
此外,Struts2强调与HTTP操作解耦,避免直接处理HttpServletRequest、HttpServletResponse和HttpSession等Servlet接口,而是引入了自己的RequestAware、SessionAware等接口,使得代码更加简洁和模块化。 在表现层,...
Struts2零配置是Struts2框架的一种简化配置方式,旨在减少XML配置文件的使用,提高开发效率。在传统的Struts2应用中,开发者需要在多个XML文件中配置Action、结果页面、拦截器等,而“零配置”则是对这种繁琐配置的...
8. **访问Web元素**:通过实现`SessionAware`接口,Struts2能够注入HttpSession到Action中的Map类型变量,从而方便访问Session数据。 9. **Value Stack**:Value Stack中的值存储在request作用域中,Action中的变量...
- **实现SessionAware接口**:如果希望在Action类中访问`session`对象,可以通过实现`SessionAware`接口来实现。在实现了这个接口后,STRUTS2同样会在执行Action之前自动调用`setSession`方法,将包含`session`数据...
拦截器通过在`struts.xml`中定义并在Action配置中引用来使用。此外,Structs2的Result类型不仅仅限于JSP页面,还可以是其他类型的结果,如流、重定向等。 总之,Structs2的配置涉及到Action、结果和拦截器的定义,...
安全方面,Struts2提供了安全相关的拦截器,如Params拦截器用于参数校验,SessionAware拦截器防止会话劫持。同时,我们还需要关注SQL注入和XSS攻击,通过合理的参数绑定和输入过滤来加强系统的安全性。 总的来说,...
同样,我们还可以通过实现`ServletRequestAware`、`SessionAware`和`CookiesAware`等接口来获取HttpServletRequest、HttpSession和Cookie对象。 **方法 2:使用RequestAware拦截器** 另一种方法是让Action类实现`...
本文将介绍如何使用Java来导出Excel 2003版本(.xls)文件,并结合具体的框架实现这一功能。该方法具有一定的局限性,但可以作为参考案例来了解如何处理此类问题。 #### 二、技术栈 1. **Java**: 后端开发语言。 2. ...
2. **创建Action类**: 创建一个新的Java类,继承自`org.struts2.interceptor.SessionAware`接口,以便可以使用session来存储验证码。这个类将包含生成验证码的方法,以及处理用户提交验证的逻辑。 3. **生成中文...
这包括了对`RequestMap`、`SessionMap`、`ApplicationMap`和`AttributeMap`的使用。这些类帮助开发者更方便地获取不同作用域内的数据,并提供了多种方式来访问`request`、`session`和`response`对象。 #### 二、...