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