它是一个REST Web服务吗?

时间:2011-07-20 12:27:17

标签: web-services rest axis2

我正在开发一个遗留应用程序,其.war具有以下结构(我想在此战争中添加servlet

     myApp.war
      - axis2-web (Downloaded from http://ws.apache.org/axis2/download/1_1/download.cgi)
      - META-INF
        -- MANIFEST.MF
      - WEB-INF
        -- classes (But it don't have any `.class` file , it have `log4j.properties` file)  
        -- conf (Contains `axis2.xml`)
        -- lib (contains many jars)
        -- modules 
        -- services (Some `.aar` files)   
        -- web.xml  

以下是web.xml文件

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
    <display-name>Apache-Axis2</display-name>
    <servlet>
        <servlet-name>AxisServlet</servlet-name>
        <display-name>Apache-Axis Servlet</display-name>
        <servlet-class>
            org.apache.axis2.transport.http.AxisServlet</servlet-class>
        <!--<init-param>-->
        <!--<param-name>axis2.xml.path</param-name>-->
        <!--<param-value>/WEB-INF/conf/axis2.xml</param-value>-->
        <!--<param-name>axis2.xml.url</param-name>-->
        <!--<param-value>http://localhot/myrepo/axis2.xml</param-value>-->
        <!--<param-name>axis2.repository.path</param-name>-->
        <!--<param-value>/WEB-INF</param-value>-->
        <!--<param-name>axis2.repository.url</param-name>-->
        <!--<param-value>http://localhot/myrepo</param-value>-->
        <!--</init-param>-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>AxisRESTServlet</servlet-name>
        <display-name>Apache-Axis Servlet (REST)</display-name>
        <servlet-class>
            org.apache.axis2.transport.http.AxisRESTServlet</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>AxisAdminServlet</servlet-name>
        <display-name>Apache-Axis AxisAdmin Servlet (REST)</display-name>
        <servlet-class>
            org.apache.axis2.transport.http.AxisAdminServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>AxisRESTServlet</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>


    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/servlet/AxisServlet</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>*.jws</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>AxisAdminServlet</servlet-name>
        <url-pattern>/axis2-admin/*</url-pattern>
    </servlet-mapping>

   <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
      <welcome-file>index.html</welcome-file>
      <welcome-file>/axis2-web/index.jsp</welcome-file>
    </welcome-file-list>

    <error-page>
      <error-code>404</error-code>
      <location>/axis2-web/Error/error404.jsp</location>
    </error-page>

    <error-page>
        <error-code>500</error-code>
        <location>/axis2-web/Error/error500.jsp</location>
    </error-page>


</web-app>

它是REST Web服务吗?我用Google搜索并在REST上找到了一些教程,其中说REST服务有services.xml个文件,但我在我的应用程序中找不到它。我想将我的servlet整合到上面的战争中,那么这样做的正确方法是什么?

PS:如果我遗失任何内容,请告诉我。

1 个答案:

答案 0 :(得分:1)

据我了解RESTFUL WS方法,它有一个传统的http请求和响应,get,post,put或delete操作直接传递给Web服务,因此响应没有任何特殊格式(JSON-RPC,肥皂) 。 例如,如果我们编写简单的代码some-service.jsp并将此代码放在我们的服务器上 restful告诉我们使用任何http客户端调用该服务传递所需的参数 然后我们将获得服务响应。 现在,如果您的应用程序满足此要求,那将是RESTful。

注意:REST没有任何特定的实现技术,它只是一种WS方法

希望这会对你有所帮助