Web Server和Application Server有啥区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web Server和Application Server有啥区别?相关的知识,希望对你有一定的参考价值。

参考技术A 当Web Server接收到一个HTTP request的时候,它会以HTTP response的形式相应这个请求,也就是返回一个html页面, Web Server可以响应一个静态的HTTP页面,也可以转发或者代理请求到其他的服务端脚本引擎(CGI, JSP或者ASP等等),然后返回一个动态的相应。不管以什么样的服务端技术, Web Server大多说情况都只是以HTML德形式返回一个HTTP响应。根据Application Server的定义, Application Server是为客户端应用提供业务逻辑,它与客户端应用的交互可以通过多种协议,其中也包括HTTP协议, 一个Web Server主要是处理HTTP请求,发送HTML到浏览器,而Application Server为客户端应用提供了访问业务逻辑的接口。客户段应用可以像调用一个对象的方法一样调用这些业务逻辑。本回答被提问者和网友采纳

如何使 WebSphere Application Server 上长时间运行的 Web 请求超时? [复制]

【中文标题】如何使 WebSphere Application Server 上长时间运行的 Web 请求超时? [复制]【英文标题】:How to time out long-running web requests on WebSphere Application Server? [duplicate] 【发布时间】:2015-08-20 12:35:56 【问题描述】:

我正在尝试在 IBM WebSphere Application Server v. 8.5.5.4 上使 JavaEE 应用程序生产就绪。

如果网络请求导致计算时间过长(出于任何原因,从意外的大量数据到导致无限循环的编程错误),我想在一段时间后中止它们。

我在 Web Sphere 文档中找不到任何东西(我必须说,像往常一样)。到目前为止,我在 *** 和其他地方找到的所有内容都不适合我的情况:

客户端超时:不是我想要的,因为我想通过终止(几乎)无限循环的线程来节省服务器资源。 Container Managed Transactions:我没有使用它们,所以在这里设置超时会导致无处可去。 连接超时(JDBC 数据源):我不担心数据库请求花费太长时间,而是担心我的业务逻辑会永远循环。 WAS Stuck Thread Detection:据我了解,这只能用于打印警告。

我会选择任何服务器端解决方案;它可能是一些 WAS 设置或一些我不知道的普通 JavaEE/Servlet 配置。

这里有 WebSphere 专家吗?感谢您的帮助!

编辑

实际上是How do you kill a thread in Java? 和How to timeout a thread 的副本。问这个问题我假设这在 Java 中是可能的,因此在 WebSphere 中必须有一些特性。

【问题讨论】:

【参考方案1】:

没有办法(安全地)强制停止或“超时”任何 JVM 中正在运行的线程,无论 JVM 是否是像 WebSphere 这样的应用程序服务器。对于卡在纯“计算”中的线程尤其如此(如果线程最终遇到中断点,那么 Thread.interrupt 可能是可用的;例如,挂起的线程通知侦听器可能能够做到,但没有WebSphere 中对此的内置支持)。您最好的选择是编写“合作”中断/取消;也就是说,您需要显式编写代码,定期检查它是否运行时间过长并自行取消。至于无意的无限循环,您唯一的防御措施是健壮/经过良好测试的代码。

【讨论】:

太棒了!感谢您的回答,我发现我正在寻找一个不存在的 WebSphere 功能。所以毕竟,这并不总是 WebSphere 的错;)

以上是关于Web Server和Application Server有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

markdown WP-CLI-Launch-PHP-built-in-web-server-and-Start-MySQL-server.md

如何使 WebSphere Application Server 上长时间运行的 Web 请求超时? [复制]

[Network]Application Layer

在 Websphere Application Server 8.5 上运行的 Web 应用程序中的字符编码

eclipse SE增加Web开发插件

web application——B/S网络结构