Dorado 7 : Dorado7中的SpringMVC(SEUG)

Dorado7的Web服务是依托Spring MVC构建起来的。在web.xml的配置中我们可以找一个com.bstek.dorado.web.servlet.DoradoServlet的配置,com.bstek.dorado.web.servlet.DoradoServlet即是继承自org.springframework.web.servlet.DispatcherServlet的,因此我们可以直接借用因此而引入的SpringMVC特性。当然,由于被Dorado7作了简单的包装,使用方法与标准的SpringMVC会略有区别。

配置url-mapping

在web.xml中可以看到,默认的配置方式里doradoServlet只拦截了*.d、*,dpkg、/dorado/*三种URL,这三种都是Dorado7系统需要使用的。为了在其中加入我们自己的Web服务,最好再增加一个自己的url-mapping。例如我们在其中追加一个*.do,配置变为如下形式:

<servlet>
	<servlet-name>doradoServlet</servlet-name>
	<servlet-class>com.bstek.dorado.web.servlet.DoradoServlet</servlet-class>
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>doradoServlet</servlet-name>
	<url-pattern>*.d</url-pattern>
</servlet-mapping>
<servlet-mapping>
	<servlet-name>doradoServlet</servlet-name>
	<url-pattern>*.dpkg</url-pattern>
</servlet-mapping>
<servlet-mapping>
	<servlet-name>doradoServlet</servlet-name>
	<url-pattern>/dorado/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
	<servlet-name>doradoServlet</servlet-name>
	<url-pattern>*.do</url-pattern>
</servlet-mapping>
配置servlet-context.xml

WEB-INF/dorado-home/servlet-context.xml是Dorado7提供的一种Spring配置文件,专门用于配置与DoradoServlet相关的内容。这里,我们配置servlet-context.xml的目的是为了给*.do的请求指派一个处理器。这里说的处理器通常应该是一个org.springframework.web.servlet.mvc.AbstractController的实现类。配置的方式如下:

<bean parent="dorado.resolverRegister">
	<property name="url" value="**/*.do" />
	<property name="resolver">
		<bean class="xxx.xxx.MyActionResolver"/>
	</property>
</bean>

您可以可以根据实际需要定义多个resolverResigter来处理各种请求,例如:

<bean parent="dorado.resolverRegister">
	<property name="url" value="/file-upload.do" />
	<property name="resolver">
		<bean class="xxx.xxx.FileUploadResolver"/>
	</property>
</bean>
<bean parent="dorado.resolverRegister">
	<property name="url" value="/file-download.do" />
	<property name="resolver">
		<bean class="xxx.xxx.FileDownloadResolver"/>
	</property>
</bean>