JSP动态获取部署的应用名

导读:本篇文章讲解 JSP动态获取部署的应用名,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

最近在苦学Java web后台技术,学习过程中难免会遇到一些问题。在此记录一下所走过的坑。 目前在写一个博客的后台管理,使用SpringMVC+Hibernate+JSP,很简单毕竟是作为学习之用。遇到一个问题是在本地测试好好的,一部署到服务器就会出现问题。 经过观察发现,在本地项目使用的是web根路径,就是说在浏览器上直接输入:http://127.0.0.1:8080就可以进入首页了。 而在服务器上因为有多个web应用,所以需要输入http://192.168.1.2:8080/spring 在地址的后面还需要输入项目名才行。。 刚一开始还以为问题是出在SpringMVC的RequestMapping路径上面,后来才发现,点击跳转的路径在jsp中也有写。

比如说一个跳转链接:

<a href="/admin/blogs/show/${blog.id}" type="button" class="btn btn-sm btn-success">详情</a>

这样写在本地测试没有问题,因为测试时是把项目作为root路径了。 但是在服务器上跑就不会这样了,除非自己去进行配置了,否则路径都要基于项目名后面的。 以上链接只会跳转:

http://192.168.1.2:8088/admin/blogs/show/${blog.id}

而不是

http://192.168.1.2:8088/spring/admin/blogs/show/${blog.id}

所以会每次都导致404错误。 因此我们需要修改一下JSP页面中的路径,使其基于项目名来访问:

<a href="${pageContext.request.contextPath}/admin/blogs/show/${blog.id}" type="button" class="btn btn-sm btn-success">详情</a>

这里只需在路径前面添加${pageContext.request.contextPath}即可,它会自动获取所部署运行的应用名,问题解决。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/2074.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!