是否有可能在没有 servlet 容器的情况下使用 spring 3.0 创建 REST 服务?因为我不想使用应用服务器。我尝试使用 SimpleHttpInvokerServiceExporter 和 Spring MVC 创建 REST 服务,但我得到了一个java.lang.NoClassDefFoundError: javax/servlet/ServletException
,因为我不使用 servlet 容器。我的代码如下所示:
<beans>
...
<bean name="serviceFacadeExporter"
class="org.springframework.remoting.httpinvoker.SimpleHttpInvokerServiceExporter">
<property name="service" ref="serviceFacade" />
<property name="serviceInterface" value="facade.ServiceFacade" />
</bean>
<bean id="httpServer"
class="org.springframework.remoting.support.SimpleHttpServerFactoryBean">
<property name="contexts">
<map>
<entry key="/api/" value-ref="serviceFacadeExporter" />
</map>
</property>
<property name="port" value="8082" />
</bean>
...
</beans>
服务看起来像这样
@Controller
public class ServiceFacadeImpl implements ServiceFacade {
@Override
@RequestMapping(value = "/protein/search/{searchString}")
public long searchProtein(@PathVariable String searchString) {
return 0;
}
}