假设我们使用tomcat作为容器,并且我们使用spring web-service框架实现了一个Web服务服务器。
现在我们想要为用户提供一个网页,以便在浏览器而不是客户端软件中访问我们产品的其他一些功能。
逻辑处理网页请求类似于处理网络服务网页请求。因此,我们希望在与Web服务相同的应用程序上下文中编写生成Web页面的代码。
这可能是一种奇怪的需求,但这是一种需要。
我尝试编写一个servlet并引用Spring加载的服务,但它感觉很脏,有时不起作用:
class ExampleServlet{
private FooService service = FooService.ins;
public doGet(HttpServletRequest request, HttpServletResponse response){
service.doSomething();
// ...
return someResponse;
}
}
@Service
class FooService{
public static FooService ins = null;
public FooService(){
ins = this;
}
@Transactional(rollbackFor = Exception.class)
public void doSomething(){
// ...
}
}
web.xml中的:
<servlet>
<servlet-name>spring-ws</servlet-name>
<servlet-class>
org.springframework.ws.transport.http.MessageDispatcherServlet
</servlet-class>
<init-param>
<param-name>transformWsdlLocations</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<display-name>ExampleServlet</display-name>
<servlet-name>ExampleServlet</servlet-name>
<servlet-class>com.somepackage.ExampleServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ExampleServlet</servlet-name>
<url-pattern>/do_something</url-pattern>
</servlet-mapping>
答案 0 :(得分:0)