1. 程式人生 > >web專案開發中初始化basePath

web專案開發中初始化basePath

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了。