使用IDEA开发JavaWeb中的需要注意的地方

IDEA是很成熟的集成开发工具,十分智能,但是用过程中也有需要注意的地方。

我们知道Web项目最终是需要打包成war包进行发布的,而且Tomcat会将war包的名称加入到访问的URL中,这就给开发过程中不怎么仔细的人造成了困扰。

在Tomcat的配置中有一个Application context,这是使用IDEA运行项目后的访问路径,默认为空,就是我们只需要输入localhost:8080就可以直接访问项目的默认首页了,像下图这样配置了的需要输入localhost:8080/meetinglicense才能访问项目首页。

在JSP中我们配置访问URL是需要加上${pageContext.request.contextPath},包括引用JS、CSS、Font、Image都需要在src中加上这段代码,这本来没什么事的,哪怕项目发布了也没什么问题。

但是,IDEA可以这么做:

是的,因为IDEA很智能,用起来很爽,你不加${pageContext.request.contextPath},IDEA都可以识别,并且在IDEA中运行是不会有任何问题的。如何你的Application context配置为空,那么在JSP中配置URL的时候你不会加上额外的字段,而且IDEA会提示你使用下面那一种配置方式,哎呀,你一看IDEA有提示,想都没想就选了,才懒得写${pageContext.request.contextPath}这一大长串的内容。然后项目打包发布,问题来了,它会报错。

因为项目部署到Tomcat后在访问项目需要加上war包的包名,那么URL请求路径就变成了localhost:8080/meetinglicense/webController/loginAdmin,但是因为你在开发过程中未配置Application context,且没有加上${pageContext.request.contextPath},那么你的请求路径就会变成localhost:8080/webController/loginAdmin,你的静态资源也因为此问题而出现找不到资源的问题。

所以你要么在Application context中就配置以后的war包包名,这样你的请求url就变为/meetinglicense/webController/loginAdmin;要么你就直接加上${pageContext.request.contextPath}。静态资源还是加上${pageContext.request.contextPath}吧。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章