Spring跨controller数据传输

在IndexController里面,从数据库中取出用户信息到UserVo中,然后把它放到model和session中

@Controller

public class IndexController {


protected Logger LOGGER = Logger.getLogger(getClass());

@Resource(name = "com.niukou.db.daoimpl.UserDao")
private IUserDao userDao;

@RequestMapping(value = "index.html")
public ModelAndView index(HttpSession session){
UserVo userVo = userDao.getUserById(1);
System.out.println(userVo.getUserName());
        Map model = new HashMap<String, Object>();
        session.putValue("userVo", userVo);
        model.put("userVo",userVo);


return new ModelAndView("index", model);
}

}

<form action="login.html" method="post">
   
    <input type="submit" value="submit">

</form>

在TestContoller中加上@SessionAttributes

在方法体中加入@ModelAttribute用于获取从IndexController传过来的UserVo

@Controller
@SessionAttributes({"userVo"})
public class TestController {

    @RequestMapping(value="login.html")
    public ModelAndView login(HttpServletRequest request, @ModelAttribute("userVo")UserVo userVo){

        System.out.println(userVo.getUserName());
        System.out.println(userVo.getUserId());
        Map model = new HashMap<String, Object>();
        userVo.setUserName("brady");
        model.put("userVo", userVo);
        return new ModelAndView("login", model);
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 是一个流行的 Java 框架,它简化了构建生产级 RESTful Web 应用和服务的流程。后端数据传输主要涉及将HTTP请求与数据库交互,以及在客户端和服务器之间交换数据。在 Spring Boot 中,数据传输通常通过以下几个关键组件来实现: 1. **Controller**:Spring Boot 的 Controller 是应用的入口点,负责处理HTTP请求。你可以使用 `@RestController` 或 `@GetMapping`, `@PostMapping` 等注解来定义 API 接口,这些接口通常会调用服务层(Service)的方法来处理业务逻辑。 2. **Service**:Service 层负责业务逻辑的处理,包括数据访问(通过Repository或JPA)和数据转换。它可以使用 `@Autowired` 注解注入DAO或者Repository来进行数据库操作。 3. **Repository/DataSource**:Repository 是对数据库操作的抽象,Spring Data JPA 或 MyBatis 等持久化框架提供对各种数据库的抽象,使得开发者可以使用CRUD方法与数据库交互而无需关心具体的SQL语句。 4. **Model/DTO**:Model(如Entity)代表数据库中的实体对象,而 DTO(Data Transfer Object)则是从数据库获取数据后用来在不同层次间传输的轻量级对象,它们可能包含更简洁或过滤后的属性。 5. **序列化/反序列化**:使用如Jackson、Gson或Spring MVC的内置支持,将Java对象转换为JSON或XML格式进行HTTP响应,反之亦然。 6. **RESTful原则**:遵循RESTful设计原则,如使用HTTP方法(GET、POST、PUT、DELETE)表示资源的操作,状态码(如200成功、404未找到)用于表示请求结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值