我有一个使用Java SE开发的瘦客户端。我的瘦客户端需要连接到Web服务器:
瘦客户端永远不会直接连接到数据库。 读完后&在网上讨论我得到了以下突出技术:
我需要什么:
二手技术:
答案 0 :(得分:1)
我一直在做类似的工作。以下是我们正在处理的问题。
我们有一个Web客户端,与您的瘦客户端类似,需要来自后端数据库的信息。它通过访问RESTful Web服务来完成此操作,该服务将进行数据库调用并将信息返回到JSON包中的客户端。
使用的工具:
所有这些工具都可以很好地协同开发Web服务。 Roo允许快速开发和简单的方法将项目的所有元素结合在一起。它不仅适用于SqlServer,hibernate和Tomcat,而且不需要IDE(例如Spring Tool Suite有内置的GUI shell),但它依赖于Maven。我非常喜欢它。它使用AspectJ的大部分魔力,但是一旦你超越了AspectJ的神秘感,它就变得非常直观。
这是Roo的一个很好的教程:http://docs.spring.io/spring-roo/reference/html/beginning.html
希望这有帮助!
编辑: 这是一个具有hibernate的Roo将创建的存储库
域名实体:
@RooJavaBean
@RooToString
@RooJpaEntity(table = "Example")
@RooJson
public class Example {
private String name = "default";
public Example(String name){
this.name = name;
}
}
存储库:
package com.example.repositories;
import org.springframework.roo.addon.layers.repository.jpa.RooJpaRepository;
@RooJpaRepository(domainType = Example.class)
public interface ExampleRepository {
}
一旦有了这些,就可以创建一个能够执行HTTP请求的Controller类:
@RooWebJson(jsonObject = Example.class)
@Controller
@RequestMapping("/example/")
public class ExampleController {
@Resource
ExampleRepository exampleRepo;
@RequestMapping(method = RequestMethod.PUT, value ="/{name}")
public void putExample(@PathVariable("name") String name) {
exampleRepo.save(new Example(name));
}
}
通过向“http:// {host} / example / somename”发送Htpp PUT请求来调用方法putExample()
。 RequestMapping还有更多选项,例如请求中包含的特定标头。请求中的JSON / xml也可以传递给服务以供该方法使用。
添加新查询可以这样完成:
@Query("select * from Example e where e.name = ?1)
List<Example> getAllByName(String name);
将此方法添加到存储库类将为您提供新的Sql查询。注意:查询是用选择语言的JPA编写的。这是Hibernate的方法。
这里有一些与RESTful服务相关的约定。比如,Http PUT和POST应该只用于做Sql UPDATE或INSERT查询,Http GET应该用于Sql SELECT,Http DELETE用于Sql DELETE等,但是它最多可以用于web服务器设计器。
我应该澄清一下Roo是一个快速应用程序开发(RAD)工具包。它可以用于原型应用程序。你需要做一些编程,但它会更少。
请告诉我这是否有助于澄清事情!