项目打包和重定向的地址栏

本文详细介绍了SpringBoot项目与传统Web项目在部署和运行方式上的差异,强调了SpringBoot内置Tomcat的优势。同时,解释了HTTP中重定向(Redirect)和转发(Forward)的概念,以及在实际应用中的不同表现。文章通过实例展示了如何在SpringBoot中进行重定向,并提醒开发者在传递参数时应注意的细节,避免因路径拼接错误导致的问题。
摘要由CSDN通过智能技术生成

pr:war项目是打成web项目,并放到Tomcat下运行。jar是单纯java项目。pom是供其他人依赖的项目。

pr:springboot打成jar包也可以独立运行,而且还不用运行在Tomcat上。因为spring已经内置了Tomcat。如果在springboot项目想要打成war包,还需要修改spring的依赖配置等。
pr:redirect是重定向,地址栏不会变,数据会变,因为是两次请求。forward是转发,地址栏和数据都会变,变成了一个桥接。
pr:response.redirect(url)方法要传入的内容是一个url地址,相对路径。不能直接转到theymeleaf模板页面。

pr:重定向是在当前地址栏下的,把最后一个访问路径变成重定向后的路径。如果是拼接了地址栏,然后重定向,那结果就变成只把最后的id换成重定向的地址。
例如把deleteUser重定向成findAllTable:

 @RequestMapping("/deleteUser/{userName}/{userId}")
    public String deleteUser(@PathVariable("userName") String userName,@PathVariable("userId") String userId){
        iUserService.deleteUser(userName,userId);
        return "redirect:findAllTable";
    }
## 会变成
window.location.href="deleteUser/" + name +"/" + id;
http://localhost:8080/springboot/deleteUser/王鹤/findAllTable;
##而不是
http://localhost:8080/springboot/findAllTable;

所以传参数时不应该直接用“/”去拼地址,而要用“?”去带参数。后台可以直接在对应方法上接参数,?后面的变量名对应进到参数名。

##“?”后带参数
window.location.href="deleteUser?userName=" + name +"&userId=" + id;

##java去接
 @RequestMapping("/deleteUser")
    public String deleteUser(String userName,String userId){
        iUserService.deleteUser(userName,userId);
        return "redirect:findAllTable";
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值