假设我们使用 tomcat 作为容器,我们已经使用 spring web-service 框架实现了一个 web 服务服务器。
现在我们想提供一个网页,让用户在浏览器而不是客户端软件中访问我们产品的一些其他功能。
处理网页请求的逻辑与处理Web服务请求的逻辑类似。因此,我们希望在与 Web 服务相同的应用程序上下文中编写网页生成代码。
这可能是一个奇怪的需求,但它确实是一个需求。
我试着写了一个servlet,引用了一个Spring加载的Service,但是感觉很脏,有时还不行:
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>
最佳答案
我应该在 spring mvc 中把它们包起来
引用:
关于java - 如何在 spring webservice 上下文中返回网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25658317/