首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java web开发

Java web开发
EN

Software Engineering用户
提问于 2018-08-02 14:22:27
回答 1查看 536关注 0票数 3

不久之前,我就开始开发web应用程序,因此在这个领域有很多未知的东西。我的问题是使用Java语言进行web开发。假设我们需要开发一个客户机服务器应用程序,其中客户机是一个浏览器。据我所知,至少有两种沟通方式。

  1. HTTP服务器在服务器端工作,为Java应用程序(后端)提供容器。HTTP服务器将请求重定向到与Java应用程序绑定的另一个端口。例如,Java应用程序将动态内容从数据库发送到客户端页面,作为对具体客户端请求的响应。应用程序为此使用了一个模板引擎。例如,Timeleaf (速度)。
  2. HTTP服务器只发送静态文件(HTML页面、CSS和Javascript文件),而且客户机开始使用Javascript代码向服务器发送异步请求。请求以JSON格式(或XML)通过HTTP/HTTPS发送。这种方法使用REST原则。用Java编写的服务器应用程序从某个端口接收这些请求,处理它们并以相同的方式发送响应。页面在客户端动态刷新,无需重新加载。

虽然我写过关于Java的文章,但这些方法被用于其他编程语言,例如Python。

我被告知,在Java社区中,第一个学徒被认为是不好的。但我还没听到具体的论据。我想了解他们。

非常感谢你的时间和答案。

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2018-08-02 15:06:07

您在问题中描述的实现细节(即Java的使用)不像您试图描述的体系结构那么重要,所以让我简化一下您的描述。

以下是两种方法,简单地说:

  1. web服务器将完全填充数据的网页发送给客户端。这种方法称为服务器端呈现.
  2. web服务器向客户端发送空网页,web浏览器从服务器请求数据并将其填充到网页中。这种方法称为客户端呈现。

这两种方法都不是“好的”或“坏的”。不同之处在于用户和他的设备之间的交互程度,这是每种方法所能实现的。您选择的方法(以及最终使用的技术)将取决于您的软件项目的特定需求。

通过服务器端呈现,用户交互性仅限于页面发布。用户每次向网页输入数据时,都必须将页面提交给服务器,以便应用程序继续下一步。

随着客户端呈现,交互性被扩展到包含在同一页面上的实时交互.用户可以进行部分数据提交,并且该页面可以请求数据更新而不要求一个全新的页面。这种方法使网页更像桌面应用程序,并支持多种客户端类型(如本机移动)的开发。

但并不是所有的网页都需要这种程度的互动性。例如,如果您正在为路由器或其他嵌入式设备设计配置页面,则不太可能使用客户端呈现。您的应用程序也不一定需要企业级基础结构的全部严格性。

在过去,构建web应用程序的所有复杂性都集中在服务器上。但多年来,web应用程序一直在向客户端渲染发展。在这类应用程序中,过度的复杂性一直是一个真正的问题,但有一些证据表明,开发技术正变得更加“标准”,并且web应用程序的开发变得更加简单和强大。过去非常复杂的事情(如数据绑定和页面样式)变得更加简单,因为现在有了非常好的Javascript库,它们可以执行很大的任务。

简而言之,你的选择将基于合适性,而不是某人对他们认为“好”或“坏”的模糊概念。

票数 10
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/376304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档