java - 如何在 spring webservice 上下文中返回网页?

标签 java spring web-services tomcat

假设我们使用 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>

最佳答案

关于java - 如何在 spring webservice 上下文中返回网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25658317/

相关文章:

java - 如何获取 Spring Restful Web 服务中请求正文中发送的字符串?

java - 找不到路径时如何返回状态码 400

java - 使用 java 时检测到代理

Java SWT - 将按钮添加到 shell

java - Spring JPA OneToOne FK 作为 PK Cascade.Remove

java - 当 java 中无法发现 wsdl 时,建议使用 SOAP Web 服务的方式是什么

java - IE 正在将 Controller 的响应作为文件

Java spring忽略请求中的字段

java - Spring Boot WAR 部署

web-services - 从谷歌分析数据导出 API 中提取数据是否需要客户端登录