Web services 使用Servlet定制Web服务

Web services 使用Servlet定制Web服务,web-services,servlets,Web Services,Servlets,我想实现一个表示web服务端点的servlet。该servlet应该截取发送给它的XML,并在接收到的其他信息中读取其内容。我知道这是可能的,因为SpringWS采用了类似的方法。你能建议我如何实现这样一个servlet吗?这里有一个简单的方法,它在我的头脑中实现你所需要的,希望它能让你开始 脚本 你有一个图书馆应用程序。假设您想要一个API端点,客户端可以使用它创建一本由xml文件描述的书。xml文件将被发送到Servlet。 示例端点API url为: 第一步 创建一个名为CreateBo

我想实现一个表示web服务端点的servlet。该servlet应该截取发送给它的XML,并在接收到的其他信息中读取其内容。我知道这是可能的,因为SpringWS采用了类似的方法。你能建议我如何实现这样一个servlet吗?

这里有一个简单的方法,它在我的头脑中实现你所需要的,希望它能让你开始

脚本 你有一个图书馆应用程序。假设您想要一个API端点,客户端可以使用它创建一本由xml文件描述的书。xml文件将被发送到Servlet。
示例端点API url为:

第一步 创建一个名为CreateBookServlet的Servlet

// servlet mapping
<servlet-mapping>
    <servlet-name>CreateBookServlet</servlet-name>
    <url-pattern>/api/books</url-pattern>
</servlet-mapping>
步骤3 向CreateBookServlet()发送一个post请求,其中包含一个名为“xmlbook”的参数,该参数的值是一个简单的字符串,其中包含要创建的新书的xml代码。当然,可以通过读取xml文件来创建xml字符串

总结
这里省略了很多重要的内容,如安全性、xml解析等,但我希望这种简单的方法可以满足您的要求。

我可以使用Web服务客户端访问此服务吗?@sandahung一般来说,任何可以发送HTTP请求的程序(在本例中使用POST方法)都可以使用此服务。e、 例如,如果您愿意,常规java应用程序(android、web应用程序等)、仅javascript+HTML的web应用程序甚至其他web服务都可以这样做。有时,XML文件有一个节点,其中包含Web服务将用于满足业务需求的另一个资源(例如,作者配置文件的url)。所以是的,简短的回答是你可以。
// ...
public class CreateBookServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String xmlStr = request.getParameter("xmlbook");

        // better use some xml library to parse xml to Book object
        Book book = xmlLibrary.parse(xmlStr);
        //save the Book object to database
        bookService.create(book);
    }

    // since it's a creation of an entity, we use POST instead of GET method
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}