2011-12-06 51 views
3

我在Web服務初學者使用Web服務

  1. 春3.0和彈簧webmvc的portlet 3.0
  2. javax.portlet 2.0

我控制器如下所示

@Controller(value = "myController") 

@RequestMapping(value = "**VIEW**") 

public class MyController { 

// Controller logic 

} 

現在,我想在Portlet環境中使用RESTful API創建Web Service。 請指導我如何編寫將返回JSON或XML數據的Web服務。


我仍在掙扎Web服務沒有得到WS調用。

我貼我的conf文件

  1. 的web.xml

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/itemCatalog-portlet.xml</param-value> 
</context-param> 

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

<servlet> 
    <servlet-name>view-servlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>view-servlet</servlet-name> 
    <url-pattern>/WEB-INF/servlet/view</url-pattern> 
</servlet-mapping> 

<servlet> 
    <servlet-name>webServiceTest</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>webServiceTest</servlet-name> 
    <url-pattern>/myWebService/*</url-pattern> 
</servlet-mapping> 

  1. 項目-portlet.xml中

    <aop:aspectj-autoproxy /> 
    
    <context:component-scan base-package="com.main.mypackage" /> 
    
    
    <bean 
        class="org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter"> 
        <property name="webBindingInitializer"> 
         <bean 
          class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer"> 
          <property name="propertyEditorRegistrars"> 
           <list> 
            <ref bean="myPropertyEditorRegistrar" /> 
           </list> 
          </property> 
    
         </bean> 
        </property> 
    </bean> 
    
    <bean id="messageSource" 
        class="org.springframework.context.support.ResourceBundleMessageSource"> 
        <property name="basenames"> 
         <list> 
          <value>content.Language-ext</value> 
         </list> 
        </property> 
    </bean> 
    
    <bean id="viewResolver" 
        class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
        <property name="viewClass" 
         value="org.springframework.web.servlet.view.JstlView" /> 
        <property name="prefix" value="/WEB-INF/jsp/" /> 
        <property name="suffix" value=".jsp" /> 
    </bean> 
    
    <bean name="jsonView" 
        class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"> 
        <property name="prefixJson" value="false" /> 
    </bean> 
    
    
    <tx:annotation-driven transaction-manager="txManager" /> 
    

  2. WebServiceTest的-servlet.xml中

    <bean id="viewResolver" 
        class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
        p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" /> 
    
    1. 的portlet.xml

    itemCatalog org.springframework.web.portlet.DispatcherPortlet text/html的 視圖 content.Language-EXT

  3. 控制器

    @Controller 公共類WebServiceTest的{

    @RequestMapping(值= 「/爲MyWebService /測試」,方法= RequestMethod.GET) 公共字符串TestMethod的(){ 回報的「hello world!SUCCESS「; }

    }

我試圖用

localhost來打:8080:/ myappname /爲MyWebService /測試

沒有得到結果

+0

我可以使用DispatcherServlet配置嗎?配置Web服務 – Ketan

回答

0

要。在Portlet環境中創建Web Service 1.我們需要使用org.springframework.web.servlet.DispatcherServlet這是前端控制爲所有可用的控制器提供。所有的HTTP請求都將使用Dispatcher servlet進行分派。

在web.xml

<servlet> 
     <servlet-name>springwebservice</servlet-name> 
     <servlet-class> 
org.springframework.web.servlet.DispatcherServlet 
</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>springwebservice</servlet-name> 
     <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 

請參考以下鏈接添加一個條目分發程序Servlet仔細

http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html

  1. 閱讀現在重要的每個DispatcherServlet必須有自己的WebApplicationContext。 WebApplicationContext不過是一個由控制器,視圖解析器,bean等組成的xml文件。

在WEB-INF中創建名爲springwebservice-servlet.xml的文件。 springwebservice-servlet.xml是一個WebApplicationContext。

在DispatcherServlet的初始化過程,Spring MVC的查找一個名爲[servlet的名稱] -servlet.xml後綴在你的web應用的WEB-INF目錄下的文件,並創建定義的bean,重寫在全局範圍內定義具有相同名稱的任何bean的定義。

確保爲DispatcherServlet創建了新的WebAppicationContext並根據需要進行配置。

請指導我,如果錯誤的地方。