springboot学习遇见的问题(持续更新)

问题1:springboot启动后访问controller404

原因:controller路径不对,springboot扫描controller默认扫启动类当前包及其子包。

例如:application类在包com.qk.demo下,controller在包com.qk.home下,这样默认是不会扫描com.qk.home下的controller.

解决1:将启动类放到代码包最外层
在这里插入图片描述

解决2:在启动上方添加@ComponentScan注解,此注解为指定扫描路径,例如:@ComponentScan(basePackages = {“com.qk.home.*”}) 多个不同的以逗号分割

问题2:配置前端页面自定义访问路径

原因:为了好区分,我们会将前端网页放到下面webapp下面,然而在controller层跳转页面不可能每次都输入绝对路径,这个时候我们就会配置一个默认路径了。

解决:在配置文件中配置

#路径,在webapp文件夹下新建文件夹WEB-INF,在往下建文件夹page
spring.mvc.view.prefix=/WEB-INF/page/

在这里插入图片描述
在这里插入图片描述

问题3:将一个对象赋值给另外一个对象,两个对象各不相关

原因:我们在写代码的时候偶尔会遇到将一个对象的所有数据赋值给另外一个相同的对象,

User u=new User();
u.setFId(1);
u.setCreateTime(new Date());
u.setAge(23)

我现在有一个新的对象,想要原来那个对象的值,但是我又不想去一个一个set添加,

错误写法一:
User u1=u;

错误写法二:
User u1=new User();
u1=u;

不管是第一种还是第二中写法,其实赋值的都是u这个对象的堆栈地址,而不是里面的参数,如果我在后面修改了u1,那么u也会随着改变

User u1=new User();
u1=u;
u1.SetAge(33);
System.out.println(u1.getAge());//打印:33
System.out.println(u.getAge());//打印:33

经过查找资料,正确的方法是使用BeanUtils工具类型

//将第一个实体赋值给第二个实体,两者关系是 newu extends oldu.
BeanUtils.copyProperties(oldu,newu);

注意事项1:在controller层中定义路由时,必须在前面加“/”

最近项目开发完成,放到服务器上进行全局测试,发现有些页面的jstl不生效,经过和其他jstl生效的页面做对比,发现是后台controller层设置路由时没有加“/”。
@RequestMapping(“/main”)
在这里插入图片描述
如果不加“/”,前端main.jsp是无法获取到user的数据的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值