Spring MVC的@SessionAttributes注解

一 控制器

package org.fkit.controller;

import org.fkit.domain.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.SessionAttributes;


@Controller
// 将Model中的属性名为user的转存HttpSession对象当中
@SessionAttributes("user")
public class SessionAttributesController{
    
    // 该方法映射的请求为http://localhost:8080/SessionAttributesTest/login
    @RequestMapping(value="/login")
     public String login(
             @RequestParam("loginname") String loginname,
             @RequestParam("password") String password,
             Model model ) {
         // 创建User对象,装载用户信息
         User user = new User();
         user.setLoginname(loginname);
         user.setPassword(password);
         user.setUsername("admin");
         // 将user对象添加到Model当中
         model.addAttribute("user",user);
         return "welcome";
     }
}

二 领域模型

package org.fkit.domain;
import java.io.Serializable;

// 域对象,实现序列化接口
public class User implements Serializable{
     
     private static final long serialVersionUID = 1L;
     // 私有字段
     private String loginname;
     private String password;
     private String username;
     
     // 公共构造器
     public User() {
           super();
     }
     // set/get方法
     public String getLoginname() {
           return loginname;
     }
     public void setLoginname(String loginname) {
           this.loginname = loginname;
     }
     public String getPassword() {
           return password;
     }
     public void setPassword(String password) {
           this.password = password;
     }
     public String getUsername() {
           return username;
     }
     public void setUsername(String username) {
           this.username = username;
     }
     
}

三 配置文件



        
    
    
     
    
     
    
    
    
     
    

四 视图

1 index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




测试@SessionAttributes注解


测试@SessionAttributes注解

2 welcome.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




测试@SessionAttributes注解


访问request作用范围域中的user对象:${requestScope.user.username  }
访问session作用范围域中的user对象:${sessionScope.user.username  }


五 测试

Spring MVC的@SessionAttributes注解_第1张图片

Spring MVC的@SessionAttributes注解_第2张图片

你可能感兴趣的:(Spring,MVC)