Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中无HTML代码的REST实现_Java_Rest - Fatal编程技术网

Java中无HTML代码的REST实现

Java中无HTML代码的REST实现,java,rest,Java,Rest,在我看到的许多教程或示例中。大多数人将html代码直接放在java文件中。我想知道是否有其他方法或更好的练习,而不是写这样的东西 @Path("/someExample") public class SomeExample{ @GET @Produces(MediaType.TEXT_HTML) public String sayHtmlHello() { return "<html> " + "<title>" + "Hello Worl

在我看到的许多教程或示例中。大多数人将html代码直接放在java文件中。我想知道是否有其他方法或更好的练习,而不是写这样的东西

@Path("/someExample")
public class SomeExample{
@GET
    @Produces(MediaType.TEXT_HTML)
    public String sayHtmlHello() {
        return "<html> " + "<title>" + "Hello World RESTful Jersey"
                + "</title>" + "<body><h1>" + "Hello World RESTful Jersey"
                + "</body></h1>" + "</html> ";
}

我是webservice的新手,我想知道我是否可以做一些类似于从html文件本身返回的事情

如果您希望返回动态HTML,那么最好使用MVC框架,比如,而不是REST框架。如果您想继续使用您正在使用的相同REST框架,如果您正在使用Jersey

MVC框架的工作原理是使用模板和控制器来填充模板中使用的模型。在伪代码中,您可能有

模板索引.html

控制器方法

这是您可能使用Jersey及其MVC支持的示例代码,但是使用SpringMVC,这个概念仍然适用,只是使用的类不同

基本概念是在控制器内填充模型,并告诉框架应该使用哪个模板。框架将获取模板,并在您请求的任何地方注入变量,然后将转换后的视图返回给客户端

您应该决定要使用哪个框架,并阅读上面链接的文档以了解更多详细信息。SpringMVC是作为一个MVC框架专门制作的,Jersey是一个REST框架,后来又添加了MVC支持。因此,您将通过SpringMVC获得更多功能。但对于基本的MVC功能,使用Jersey就可以了


顺便说一句,如果您已经是来自类似SpringMVC的MVC框架背景,那么您需要稍微改变一下想法。使用RESTAPI或您所称的web服务,通常不会发送HTML页面响应。通常,它将是一种轻量级的数据格式,如JSON。如果您正在创建一个与RESTAPI交互的web应用程序,您通常会使用AJAX Javascript来请求JSON,并使用JSON数据来更新DOM。这就是它通常的工作方式。

看看这个假设你可以通过返回一个FileInputStream来实现,顺便问一下,你正在使用或打算使用什么框架?REST与HTML没有任何关系。
<html>
   <body>
      <h1>Hello {{ name }}</h1>
   </body>
<html>
public Viewable index() {
    Map<String, String> model = new HashMap<>()
    model.put("name", "Peeskillet");
    return new Viewable("index", model);
}