SpringMVC跳转和URL相关问题

 我来答
天罗网17
2022-07-14 · TA获得超过6194个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:73.5万
展开全部

搞明白了url相对路径,根路径的问题,跳转的时候url到底该怎么写就容易理解和记忆了。

比如我现在地址栏是 http://localhost:8080/SpringMVC/index.jsp

那么当前路径就是 http://localhost:8080/SpringMVC ,即去掉原始的最后一个路由后,剩下的路径。

如何使用它?有这么个约定:

直接写路径 或者用 ./ 会把当前路径和它拼起来,形成真正的路径。

比如: <a href="hello/testServletAPI">test</a>

或者: <a href="./hello/testServletAPI">test</a>

最后拼出来都是 http://localhost:8080/SpringMVC/hello/testServletAPI

而你上面写那两个超链接里的路径,叫做 相对路径 。 ./ 是当前目录, ../ 就是再向上一级。

在做不同请求时,根路径也不一样。

如何使用根路径?

/hello 即表示 根路径+hello ,比如

<a href="/hello/testServletAPI">test</a> ,访问的是 http://localhost:8080/hello/testServletAPI

直接返回string的;

返回ModelAndView的;

如果配置了视图解析器:

那么会对success加上前缀和后缀。并且跳转方式是转发。

首先明确两个事啊,转发是发生在服务端的,因此你转发可以转发到服务器的内部目录下,就是WEB-INF下,去访问它目录下的页面。但是重定向只能访问webapp下除WEB-INF的路径。

先把request和response拿进来。

服务器内部转发的根路径是 主机名/项目名 ,重定向的根路径是 主机名 。因此两者的url不太一样。

同样访问webapp下的 newPage.jsp ,重定向需要自己手动把项目名加上。

同样访问webapp下的newPage.jsp:

重定向一般用相对路径,因为省去自己写项目名。

此处 ../ 是因为当前路径是 主机/项目名/hello ,所以要再向上一级目录。形成 主机/项目名/newPage.jsp

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式