前端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,会加上前缀或者后缀。
地址前面没加/