在做jsp项目时遇到了路径问题,搜索出来的结果不详细不全面,于是自己做了实验并结合搜索结果得出了一些总结,以下结论亲测没问题,但有概率存在因疏漏而产生的错误
一、四种请求:在sevlet与jsp页面的交互中无非存在四种请求
1、jsp 请求 servlet
2、servlet 重定向到jsp
3、servlet 重定向到 servlet
4、jsp 请求 jsp
二、说明:
1、jsp项目的根目录是 WebContent 这个文件夹
2、servlet绝对路径:填写请求路径时最前面加了"/" 就是绝对路径,他的含义就是从根目录WebContent下开始查找
3、servlet相对路径:填写请求路径时最前面不加"/" 就是相对路径,他的含义就是从该文件所在路径开始查找
4、servlet中的注解:@WebServlet()中填写的内容为 路径+名称 的形式,就可以看作是把这个servlet起名为名称然后把它映射到路径这个位置上(注解中的路径一般为绝对路径)
5、jsp文件中填写的路径同html中的路径一样,在jsp文件中都使用相对路径,“./”表示当前目录,“/”表示下层目录,“../”表示上层目录
三、jsp请求servlet
1、如图。@WebServlet()中填写的内容,就意味着把该servlet起名为admin_douserselec并把它映射到根目录WebContent下的backstage/这个文件夹下
2、如图。admin_user.jsp这个页面是放在backstage/这个文件夹下的,而上图中admin_douserselect这个servlet也是映射到backstage/文件夹下的。二者在相同位置,jsp中的action可以直接填写servlet名称找到(jsp文件中的路径)
四、servlet重定向到jsp
如图。还是douserselect这个servlet,他映射的位置还是在backstage/文件夹下,admin_user.jsp的位置也是在backstage/下,servlet找到jsp的方法和上述同理(servlet中的路径)
1)相对路径:在相同位置直接写名称即可找到
2)绝对路径:填写"/backstage/admin_user.jsp"找到
五、
1、servlet 重定向到 servlet:根据二者映射的位置相同,可直接填写名称(相对路径)或 用"/"绝对路径方式,与上述同理(servlet中的路径)
2、jsp 请求 jsp(jsp中的路径):根据二者所在路径查找即可,与上同理(过于简单不再演示)
若发现上述结论存在问题可或有疑问可联系扣扣1421826010