web專案開發中初始化basePath
阿新 • • 發佈:2018-12-12
web專案中我們幾乎所有頁面都會有對靜態資源的引用,而所有引用都需要資源的地址,但是所有地址的前半部分都是相同的,所以我們可以把這部分叫做basePath,可以在專案啟動的時候獲取到專案的basePath,然後需要的時候直接寫basePath的引用就可以了,這給我們的開發帶來了很大的便利。
首先,我們需要寫一個初始化獲取basePath的類。
public class InitServlet extends HttpServlet { private static Logger logger = LoggerFactory.getLogger(InitServlet.class); /** * */ private static final long serialVersionUID = 1L; @Override public void init() throws ServletException { logger.info(" * * * init"); initBasePath(); } private void initBasePath(){ getServletContext().setAttribute("basePath", getServletContext().getContextPath()); } }
然後,由於我們在專案啟動的時候就需要去獲取到basePath,所以在web.xml檔案中加入這一段配置程式碼
<servlet>
<servlet-name>initServlet</servlet-name>
<servlet-class>com.panshi.btcnews.job.InitServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
最後,我們在頁面的引用,直接${basePaht}/自己所需要引用的資源,就ok了。