Это веб-сервис REST? - PullRequest
       10

Это веб-сервис REST?

0 голосов
/ 20 июля 2011

Я работаю над устаревшим приложением, которое имеет .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? Я погуглил и нашел несколько руководств по REST , в которых говорится, что у служб REST есть файл services.xml, но я не смог найти его в своем приложении. Я хочу интегрировать свой servlet в войну выше, так что будет правильным способом сделать это?

PS: Пожалуйста, дайте мне знать, если я что-то упустил.

1 Ответ

1 голос
/ 20 июля 2011

Как я понимаю, подход RESTFUL WS заключается в том, что он имеет традиционный http-запрос и ответ с операциями get, post, put или delete, непосредственно переданными веб-службе, и поэтому ответ не имеет какого-либо специального формата (JSON-RPC, Мыло). Например, если мы напишем простой код some-service.jsp и разместим этот код на нашем сервере остальное говорит нам, чтобы вызвать службу, используя любой http-клиент, передавая ему необходимые параметры и тогда мы получим ответ службы. Теперь, если ваше приложение соответствует этому, оно будет RESTful.

Примечание: для REST нет особых методов реализации, это просто подход WS

надеюсь, это поможет вам

...