标準WEB項目配置
Maven項目可(kě)以通過配置依賴來加載Jar包,非Maven項目則需要直接将Jar包複制到/WEB-INF/lib目錄下。據此,我們可(kě)以首先點擊此處下載urule-console-pro模塊與urule-core-pro模塊所需要的第三方Jar包,将它們放到我們項目中(zhōng)的/WEB-INF/lib目錄下,然後再到 https://search.maven.org/ 上查詢最新(xīn)的urule-core-pro與urule-console-pro版本,下載下來放到/WEB-INF/lib目錄中(zhōng)即可(kě)。這樣,一個傳統的的Web項目中(zhōng)添加URule Pro相關Jar包的工(gōng)作(zuò)也就完成了。
如果是将URule Pro添加到一個已存在的标準Web項目,那麽在添加第三方Jar包時要注意這些Jar包在當前項目中(zhōng)是否已存在,如果已經存在,這時通常的做法是保留高版本,切不可(kě)放多(duō)個版本不同的相同Jar包,否則運行可(kě)能(néng)會出現錯誤。
接下來我們開始進行web應用(yòng)層面配置,對于Web層面的配置,無論是Maven項目還是标準項目都是一樣的。
因為(wèi)urule-console-pro模塊架構在Spring之上的,所以需要加載urule-console-pro模塊中(zhōng)提供的Spring配置文(wén)件,這個配置文(wén)件位于urule-console-pro對應的jar的classpath根下,名(míng)為(wèi)urule-console-context.xml,所以如果我們的項目也是基于Spring的,那麽可(kě)以打開一個項目中(zhōng)的Spring配置文(wén)件,在其中(zhōng)通過下面的代碼導入urule-console-context.xml文(wén)件:
<import resource="classpath:urule-console-context.xml"/>
如果你的項目不是基于spring,那麽就不能(néng)采用(yòng)上面的import方式加載urule-console-pro中(zhōng)所需要的spring配置文(wén)件,這時我們需要打開web.xml,在其中(zhōng)添加下面的代碼以加載urule-console-pro的spring配置文(wén)件:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:urule-console-context.xml</param-value>
</context-param>
前面說過,因為(wèi)urule-console-pro模塊依賴于urule-core-pro模塊,所以也需要加載urule-core-pro模塊中(zhōng)的spring配置文(wén)件,這個文(wén)件也位于urule-core-pro對應jar包的classpath根下,名(míng)為(wèi)urule-core-context.xml,但我們這裏在配置時卻不需加載它,原因是這個名(míng)為(wèi)urule-core-context.xml的spring配置文(wén)件在urule-console-context.xml中(zhōng)已經導入了,所以在有(yǒu)urule-console-pro的項目當中(zhōng),就不需要再加載urule-core-context.xml,隻需要加載urule-console-pro中(zhōng)的urule-console-context.xml文(wén)件即可(kě)。
通常情況下,我們建議在/WEB-INF目錄下創建一個名(míng)為(wèi)context.xml的标準的spring配置文(wén)件,在這個context.xml中(zhōng)導入urule-console-pro模塊中(zhōng)的spring配置文(wén)件,這個context.xml的内容如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
">
<import resource="classpath:urule-console-context.xml"/>
</beans>
這樣就需要将上面在web.xml中(zhōng)添加到listener做些修改,contextConfigLocation的值改成/WEB-INF/context.xml,如下面代碼所示:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/context.xml</param-value>
</context-param>
最後我們還需要在項目的web.xml當中(zhōng)添加URule Pro中(zhōng)的一個Servlet,這個Servlet負責控制台中(zhōng)所有(yǒu)頁(yè)面與服務(wù)端的交互,配置信息如下:
<servlet>
<servlet-name>uruleServlet</servlet-name>
<servlet-class>com.bstek.urule.console.URuleServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>uruleServlet</servlet-name>
<url-pattern>/urule/*</url-pattern>
</servlet-mapping>
在上面的servlet配置當中(zhōng),需要注意的是servlet-mapping中(zhōng)的url-pattern的值必須是/urule/*。 到這裏,在項目中(zhōng)添加URule Pro的操作(zuò)就完成了。