使用java和mysql开发web服务
我不熟悉websrvices和mysql ..i遵循http://www.vogella.com/articles/REST/article.html教程,并使用JAX-RS参考实现Jersey开发了一个Java的RESTful Web服务。
我想使用eclipse创建一个websrevice,它从mysql数据库中选择数据并以xml格式显示结果。
我有很多使用PHP和mysql开发webservices的示例,但我想用java开发。
请建议我一些关于这个或想法的好教程/链接可能对我有帮助。 我想在我的Android应用程序中使用该webservice。
在上面的例子中,我没有得到连接字符串在哪里建立MySQL数据库和java文件之间的连接。
这是TodoResource.java:
package de.vogella.jersey.jaxb; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import de.vogella.jersey.jaxb.model.Todo; @Path("/todo") public class TodoResource { // This method is called if XMLis request @GET @Produces( { MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) //@Produces( { MediaType.TEXT_XML }) public Todo getXML() { Todo todo = new Todo(); todo.setSummary("This is my first todo"); todo.setDescription("This is my first todo"); todo.setMy_id(1); return todo; } // This can be used to test the integration with the browser @GET @Produces( { MediaType.TEXT_XML }) public Todo getHTML() { Todo todo = new Todo(); todo.setSummary("This is my first todo"); todo.setDescription("This is my first todo"); return todo; } }
我将从这里开始: http : //wiki.restlet.org/docs_2.1/13-restlet/21-restlet.html
您可以创建一个封装Business逻辑的java类/方法,例如连接到mysql数据库并检索记录然后将其转换为所需格式的getData(DataFormat xml / html,whatData)之类的方法,在getXML中调用此方法()和getHTML()
Spring MVC使基于REST的开发变得非常容易。 请参阅此博客
您链接到的示例实际上并未使用数据库,而是使用内存中的Todo来提供数据。 在第8节中,作者说
创建以下数据模型和Singleton,它用作模型的数据提供者。 我们使用基于枚举的实现。
数据模型是Todo类。
数据提供者是TodoDao枚举。 TodoDao的目的,主要是将Todo存储在记忆中。 换句话说,它执行原本由数据库完成的function。
因此需要做的是:
- 用数据库替换TodoDao 。
- 将Todo映射到数据库中的表。
- 要将Java对象连接到数据库,可以使用对象关系映射器(ORM),这可以通过使用Java Persistence API(JPA)来实现。
- 因此,要将Todo映射到数据库表,需要使用JPA注释进行注释,从而创建JPA实体。
看看REST / JSON Web服务Java EE Framework的公认答案,它应该对需要做什么有所了解。 第1部分介绍如何创建数据库,第2部分介绍如何创建和注释JPA实体(第3部分 – 用于xml或json的JAXB绑定,第4部分 – RESTFul服务,第5部分 – 客户端)。
如果仍然遇到困难,请查看我发布的需要用Java编写RESTful JSON服务的答案,这应该适合那些想要更多细节的人,作为起点,连接到单个表中使用以下内容创建数据库并使用JSON / XML表示创建RESTful Web服务。
- IDE:Jave EE Developers(Kepler)的Eclipse IDE,内置Maven
- 数据库:MySQL(也使用MySQL Workbench)
- 应用程序服务器:GlassFish 4.0
- Java EE 7(JAX-RS,JPA,JAXB等)
- 任何用于测试的REST客户端:(例如Postman)