下列哪些web服务器可以作为jsp服务器
Tomcat 算一个。下列严格说,服服务Tomcat 本身是器为 Servlet 容器,不是可作完整意义上的 web 服务器,但把它当 JSP 服务器用完全没问题。下列装好 JDK,服服务解压 Tomcat,器为把写好的可作 .jsp 文件丢进 webapps 目录,启动 bin/startup.sh,下列浏览器敲 localhost:8080/你的服服务项目/页面.jsp,立刻就能看到结果。器为我最早学 JSP 那会儿,可作用的下列就是 Tomcat 5.5,一个下午跑通第一个页面,服服务那种即时反馈比看十页书都管用。器为Tomcat 对 JSP 的支持是原生的,Jasper 编译器负责把 JSP 翻译成 Servlet,再编译执行,整个链路短、依赖少,适合开发和中小规模部署。 Jetty 也能干这活。它比 Tomcat 更轻,启动快,嵌入式场景里特别常见。以前做 Maven 插件调试,mvn jetty:run 一敲,JSP 改动几乎秒级生效,不用重启。Jetty 同样实现了 JSP 规范,需要额外加 apache-jsp 模块,配置略麻烦一点,但跑起来很稳。有人觉得 Jetty 只适合做 API 网关,其实它处理 JSP 一点不虚,只是社区资料比 Tomcat 少,遇到怪问题得自己翻源码。 GlassFish 和 WildFly 这类 Java EE 全栈服务器,当然也支持 JSP。GlassFish 自带 Jasper,部署 war 包时 JSP 自动编译,管理控制台里还能看编译日志。WildFly 以前叫 JBoss,JSP 支持一直没断过,但配置比 Tomcat 重得多。我试过在 WildFly 上跑一个纯 JSP 小项目,光启动就花了十几秒,内存吃掉几百兆,小机器根本扛不住。所以除非你已经在用 EJB、JMS 这些全家桶,否则没必要为了 JSP 上 WildFly。 Resin 这个名字现在提的人少了,但当年它跑 JSP 的速度比 Tomcat 快不少。Caucho 公司做的,商业版和开源版都有,JSP 编译优化做得很激进。我印象里 Resin 3 的时代,很多老牌企业网站用它,后来慢慢被 Tomcat 挤掉份额。现在 Resin 4 还在维护,但社区活跃度低,新手不建议碰。 Undertow 是 WildFly 的 web 服务器内核,也能单独拿出来用。它支持 Servlet,但 JSP 不是默认自带,得手动加 jboss-as-jsp 之类的依赖。我拿 Undertow 嵌过一个小工具,纯 Servlet 很爽,加 JSP 就折腾了半天,最后放弃改用 Jetty。所以 Undertow 算半个 JSP 服务器,能用但不顺手。 Apache HTTP Server 本身不能跑 JSP。它是个纯静态 web 服务器,处理 .jsp 文件只会当文本下载。但你可以用 mod_jk 或 mod_proxy 把 JSP 请求转发给 Tomcat,Apache 只负责静态资源和负载均衡。这种组合以前很流行,现在 Nginx 加 Tomcat 更常见。Nginx 也一样,自己跑不了 JSP,得靠后端容器。 IIS 呢?Windows 上想跑 JSP,得装 Tomcat 插件或者用 BonCode 连接器,把 IIS 当反向代理。原生 IIS 不支持 JSP,别指望它。 总结一下实际选择:开发调试用 Tomcat 或 Jetty,生产环境小项目 Tomcat 足够,大项目用 Tomcat 集群加 Nginx 前端。GlassFish 和 WildFly 留给 Java EE 老项目。Resin 和 Undertow 属于特定场景的备选。别被“web 服务器”这个词绕进去,能编译执行 JSP 的,本质上都是 Servlet 容器。你打开 conf/server.xml 看看有没有 Jasper 相关配置,有就能跑 JSP,没有就得自己加。
-
上一篇
-
下一篇
- 随机阅读
- 搜索
-
- 友情链接
-