java学习笔记
Springmvc使用遇到的一些问题
路径
在看课程的时候想实现一个比较好玩的功能,就是能在几个页面之间来回跳转
这需要在jsp表单提交后在代码里返回对应的视图
涉及到一些路径的问题
如果请求的时候@Controller注解下还加了@RequestMapping注解的话,在jsp里还想返回到对应的路径时,form action里的路径在开头一定不能加/
这个在视频里他说是没有影响的,其实是不对的,我试过加了和不加的情况,发现加了/的话,在经过第一次请求回来之后再点击提交就访问不到路径了
在网址上显示的路径也发现了他只显示了从/开始的路径,前面的项目的路径被吃掉了
所以不能加/,不加的话在请求的时候他就会默认你这是相对路径,在你的路径前自己帮你加上了项目的路径再去访问
所以总结就是不加/访问的时候就是访问相对路径,这个可以避免项目路径被吃掉导致在跳转页面的时候访问失败出现404
不过感觉得看项目需求,估计也没有几个页面来回跳的需求吧…
在提一嘴,有关在后台重定向的问题
这个和上面讲的一样,如果你在类的一开始就用了@RequestMapping注解的话,意味着实际上你发送过来的请求前面还有一个父级,所以如果是这个时候你直接redirect:webapp里的jsp网页的话也是无法访问成功的,去看他实际的路径你就知道他变成了相对路径,也就是在你的这个路径签名他自己加了一个你一开始写的类上的那个父级,所以如果你在类上已经加了@RequestMapping的话,在重定向的时候就要先返回到上一级才能到webapp,也即是你的return值应该是redirect:…/xxx.jsp
…/的意思就是返回上一级
如果在路径的一开始就加上/的话,可以理解成初始化了当前的路径,也即是写了/的话意味着在请求的时候默认是在项目名目录后再加上你写的路径
一时间可能难以理解,多试几次就知道了哈哈哈
挫折从学习