main方法已经可以打印输出,所以我认为它可以使用@GET来显示Web服务中的输出。
我使用Jersey,因为我在代码中调用了一个shellcript,脚本会计算我需要的东西,我只想要@GET那些输出。所以它不是一个简单的字符串输出,如" Hello,world"代码是,
public class ShellScript {
@Path("/")
@GET
public static void main(String[] args) throws Exception {
String[] command = { "hello.sh"};
Process process = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(
process.getInputStream()));
String s;
while ((s = reader.readLine()) != null) {
System.out.println("Script output: " + s);
}
}
}
当我输入正确的网址时,我无法获得任何结果。 我怎样才能得到String的结果?
答案 0 :(得分:0)
在我看来,你想把信息输出到webservice.But Get方法意味着从web服务获取资源,也许你应该使用HttpServletresponse来响应web服务的消息。
答案 1 :(得分:-2)
最接近你的事情可以用Spring Boot完成。
看起来像这样:
@Controller
@EnableAutoConfiguration
public class SampleController {
@RequestMapping("/")
@ResponseBody
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(SampleController.class, args);
}
}
但是更多的东西正在发生,而不仅仅是一个简单的主要方法,请阅读文档。