记录12/11写项目遇到的bug

前端index.jsp里的form表单,提交时必须要post。

get方法:
参数会显示在地址栏上。是通过URL提交数据。
post方法:
提交表单后地址栏不变。 form 的内容用数据块方式发送给服务器。

否则虽然后台会收到数据,但是return “scuccess”时,前端收不到,报404.
在这里插入图片描述
————————————————————

dispatcher Servlet导包导不进去以及导入路径一直不对,后来发现都是缓存问题。
解决方案:
debug断点,看每项的数值是否更新。
没有的话就点右边的maven,clean一下,再重新启动。
———————————————————————————
在controller层新加了一个类TestRestController
在这里插入图片描述
在网页输入地址时,却一直报404:
http://localhost:8080/rest/get/1
在输入前面加了断点,variable一栏却一直空白,表示没有任何variable。

在这里插入图片描述

后讲师告诉我:

在这里插入图片描述
但是我的配置和路径都没有问题,重新clean又重启了一下,就好了。


clean后重启tomcat,报如下错误:
Artifact is being deployed, please wait…
说我的artifact没有部署
我打开project structure,点击artifact
在这里插入图片描述
双击available elements一栏下的文件,点击apply就好了。
重启tomcat,可以正常运行。
——————————————————————
@PathVariable:
将请求URL(就是网页上的url,带参数向后台传值的,如http://localhost:8080/rest/get/1,这个1是id)中的模板变量映射到接口方法的参数上”。

对应的映射方法及其参数:
在这里插入图片描述
如果不加@PathVariable,请求url需要变成:

http://localhost:8080/rest/get?id=1

方法上的Integer id 参数才会和url请求地址里的配对上

——————————————————————————
视图解析器的前缀指的是文件放在什么位置。
/ 指文件放在根目录下。
其实放在webapp下的jsp静态资源,在打包成war包之后,webapp目录下的所有文件都会复制到项目的根目录下。

根目录指的是:
比如这个项目叫做demo,打包成war包之后,生成一个叫做demo的文件夹。打开demo文件夹里面就是jsp静态资源,中间没有隔着其他文件夹。这就叫做放在根目录下面。
————————————————————————————
重定向不走视图解析器,不会加配置的前缀或者后缀。需要我们写完整的路径。

从方法1转发(forward)到方法2,再从方法2重定向到test.jsp。报404.
后发现是因为加了前缀和后缀的关系。

从方法1转发到方法2:
return “/users/redirect/”+name;
因为前面没有写forward:/ or redirect:/,默认的是转发forward。
所以会加前缀和后缀。
所以它等于:
return “forward:/users/redirect/name.jsp”


redirect后面要加:
不写redirect, forward时默认是forward,会加上前缀或者后缀。
地址前面没加/


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值