Servlet 的生命周期
Servlet 的生命周期
Servlet 的生命周期如下:
- Servlet 被客户端请求;
- Servlet 类被加载到内存;
- 该 Servlet 被初始化;
- service(),该步骤可以根据不同的请求方法,选择调用 doGet()、doPost()、doHead()、doPut()、doTrace()、doDelete()、doOptions() 或者 destroy();-加载和实例化 Servlet。
Java Servlet
Java Servlet
每一个 Servlet 在 Java 编程语言中即是一个类,常被用于扩展服务器性能。Servlet 虽然能够响应任何类型的请求,但是通常只有在扩展 Web 服务器的应用程序时才会被用到。这些应用程序被 Java Servlet 技术,定义为了一个特定于 HTTP 的 Servlet 类。
Servlet 容器
Servlet 容器
Servlet 容器是指提供了 Servlet 功能的服务器,对于 Web 程序而言,Servlet 容器能够提供一些编程基础设施,作用类似于桌面程序里的操作系统。常见的 Servlet 容器包括:
- Tomcat;
- Jetty;
- resin;
- Oracle Application server;
- WebLogic Server;
- Glassfish;
- Websphere;
- JBoss。
Servlet 工作原理
Servlet 工作原理
Servlet 工作原理如下:
- Servlet 容器接收到浏览器向其发出的 HTTP 请求;
- 在第一次访问时,Servlet 容器产生 Servlet 对象;
- Servlet 容器创建一个请求对象 HttpRequest 对象,用以封装浏览器的请求信息;
- Servlet 容器创建响应对象 HttpResponse 对象;
- Servlet 容器调用 HttpRequest 对象,并向 HttpServlet 对象传递 HttpRequest 对象与 HttpResponse 对象;
- HttpServlet 调用 HttpRequest 对象,获取 HTTP 请求信息;
- HttpServlet 调用 HttpResponse 对象,生成响应数据;
- Servlet 容器把 HttpServlet 的响应结果传给浏览器。
Servlet 和 JSP 的区别
Servlet 和 JSP 的区别
JSP 和 Servlet 的区别包括:
- Servlet 需要经过 JSP 编译;
- 在逻辑控制上 Servlet 的使用率高,而在页面视图上则是 JSP 的使用率更高;
- 只有通过 HttpServletResponse 对象以及 HttpServlet 对象才能得到 JSP 中的内置对象,而 Servlet 中则没有内置对象;
- Servlet 是完整的 Java 类;
- Servlet 的应用逻辑在 Java 文件中,与表示层中的 HTML 完全分离;
- Java 和 HTML 可以组合成一个扩展名为 .jsp 的文件。
亚马逊云科技在 Servlet 应用中的优势
亚马逊云科技在 Servlet 应用中的优势
简单易行无限扩展
Amazon Elastic Beanstalk 是一项易于使用的服务,用于在熟悉的服务器(例如 Apache 、Nginx、Passenger 和 IIS )上部署和扩展使用 Java、.NET、PHP、Node.js、Python、Ruby、GO 和 Docker 开发的 Web 应用程序和服务。您只需上传代码,Elastic Beanstalk 即可自动处理从容量预置、负载均衡、自动扩展到应用程序运行状况监控的部署。同时,您能够完全控制为应用程序提供支持的亚马逊云科技资源,并可以随时访问底层资源。
发现、部署、发布和共享无服务器应用程序
Amazon Serverless Application Repository 是无服务器应用程序的托管存储库。它使团队、组织和个人开发人员能够存储和共享可重用的应用程序,并以强大的新方法轻松组装和部署无服务器架构。利用 Serverless Application Repository,您无需在部署之前将源代码克隆、构建、打包或发布到亚马逊云科技。相反,您可以在无服务器架构中使用 Serverless Application Repository 中的预构建应用程序,帮助您和您的团队减少重复工作、确保遵循组织最佳实践,并更快地进入市场。
云资源和应用程序的完全可见性
Amazon CloudWatch 是一项针对亚马逊云科技云资源和在亚马逊云科技上运行的应用程序的监控服务。您可以使用 Amazon CloudWatch 来收集和跟踪各项指标、收集和监控日志文件、设置警报以及自动应对亚马逊云科技 资源的更改。Amazon CloudWatch 可以监控各种亚马逊云科技资源,例如 Amazon EC2 实例、Amazon DynamoDB 表、Amazon RDS 数据库实例、应用程序和服务生成的自定义指标以及应用程序生成的所有日志文件。
简单易行无限扩展
Amazon Elastic Beanstalk 是一项易于使用的服务,用于在熟悉的服务器(例如 Apache 、Nginx、Passenger 和 IIS )上部署和扩展使用 Java、.NET、PHP、Node.js、Python、Ruby、GO 和 Docker 开发的 Web 应用程序和服务。您只需上传代码,Elastic Beanstalk 即可自动处理从容量预置、负载均衡、自动扩展到应用程序运行状况监控的部署。同时,您能够完全控制为应用程序提供支持的亚马逊云科技资源,并可以随时访问底层资源。
发现、部署、发布和共享无服务器应用程序
Amazon Serverless Application Repository 是无服务器应用程序的托管存储库。它使团队、组织和个人开发人员能够存储和共享可重用的应用程序,并以强大的新方法轻松组装和部署无服务器架构。利用 Serverless Application Repository,您无需在部署之前将源代码克隆、构建、打包或发布到亚马逊云科技。相反,您可以在无服务器架构中使用 Serverless Application Repository 中的预构建应用程序,帮助您和您的团队减少重复工作、确保遵循组织最佳实践,并更快地进入市场。
云资源和应用程序的完全可见性
Amazon CloudWatch 是一项针对亚马逊云科技云资源和在亚马逊云科技上运行的应用程序的监控服务。您可以使用 Amazon CloudWatch 来收集和跟踪各项指标、收集和监控日志文件、设置警报以及自动应对亚马逊云科技 资源的更改。Amazon CloudWatch 可以监控各种亚马逊云科技资源,例如 Amazon EC2 实例、Amazon DynamoDB 表、Amazon RDS 数据库实例、应用程序和服务生成的自定义指标以及应用程序生成的所有日志文件。
亚马逊云科技热门云产品
亚马逊云科技热门云产品
Amazon Serverless Application Repository
发现、部署、发布和共享无服务器应用程序