首先我们需要写一个监听器类,并实现servlectContextListener接口。并在监听的 contextInitialized方法中获取项目路径,并将项目路径放入servlietContext容器中。
代码如下。
package jee.listener;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
@WebListener
public class SimpleContextListener implements ServletContextListener{
@Override
public void contextDestroyed(ServletContextEvent sce) {
// TODO Auto-generated method stub
}
@Override
public void contextInitialized(ServletContextEvent sce) {
// TODO Auto-generated method stub
ServletContext sc=sce.getServletContext();
//获取项目路径
String contextPath= sc.getContextPath();
sc.setAttribute("cp", contextPath);
}
}
这样我们就可以在整个项目中动态的获取项目的路径了当我们需要项目路径的时候,就可以用el表达式从servletContext容器中获取项目根路径。如上面代码我们可以使用${cp}来获取项目路径。
如下面代码:
<script type="text/javascript" src="${cp}/js/jquery-3.4.1.min.js"></script>