初识Servlets
来源:互联网 发布:影响黄金价格的数据 编辑:程序博客网 时间:2024/06/07 10:01
Tomcat和Servlets
2. Tomcat主线程对转发来用户的请求做出响应创建两个对象:HttpServletRequest和HttpServletResponse;
3. 从请求中的URL中找到正确Servlet,Tomcat为其创建或者分配一个线程,同时把2创建的两个对象传递给该线程;
4. Tomcat调用Servlet的servic()方法,根据请求参数的不同调用doGet()或者doPost()方法。假设是HTTP GET请求,doGet()方法生成静态页面,并组合到响应对象里;
5. Servlet线程结束,Tomcat将响应对象转换为HTTP响应发回给客户,同时删除请求和响应对象。
1、客户端发出request请求和请求URL。例:http://127.0.0.1:8080/test_servlet/loginServlet
2、服务器Tomcat根据URL截取相关内容。如:项目名称test_servlet,访问名称loginServlet
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/loginServlet</url-pattern>
</servlet-mapping>
3、Tomcat根据获取的访问名称,根据相关的配置文件获取servlet-name。如上所示的配置文件中的servlet-name为MyServlet
4、根据相关的servlet-name找到相关的servlet-class。如上所示的配置文件中的servlet-class为LoginServlet
5、Tomcat根据找到的class的完整路径,利用反射对class完成实例化
6、Tomcat调用Servlet类的service()方法
7、被调用Servlet类由于继承了父类的service方法,该方法会根据传递的Request请求的类型POST/GET选择执行doGet/doPost方法
8、doGet/doPost方法会根据传递的相关参数调用或执行相关的操作。例如:调用UserManager类执行login方法,通过响应对象Response输出HTML字符串传递给Tomcat
9、Tomcat将Response转换为HTTP响应发回给客户端,同时删除请求和响应对象。
Tomcat是一个web容器,它实现了J2EE中的JSP和servlet开发标准。编译好的servlet类运行在tomcat容器中,客户端不可以通过浏览器直接访问Servlet,需要在web.xml中进行相关配置之后才可以。
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。
Servlet的生命周期是由Tomcat容器管理的,过程如下:
1. 客户发出请求—>Web 服务器转发到Web容器Tomcat;2. Tomcat主线程对转发来用户的请求做出响应创建两个对象:HttpServletRequest和HttpServletResponse;
3. 从请求中的URL中找到正确Servlet,Tomcat为其创建或者分配一个线程,同时把2创建的两个对象传递给该线程;
4. Tomcat调用Servlet的servic()方法,根据请求参数的不同调用doGet()或者doPost()方法。假设是HTTP GET请求,doGet()方法生成静态页面,并组合到响应对象里;
5. Servlet线程结束,Tomcat将响应对象转换为HTTP响应发回给客户,同时删除请求和响应对象。
从该过程中,我们可以理解Servlet的生命周期:Servlet类加载(对应3步);Servlet实例化(对应3步);调用init方法(对应3步);调用service()方法(对应4、5步);调用destroy()方法(对应6步)。
Servlet的运行过程如下:
1、客户端发出request请求和请求URL。例:http://127.0.0.1:8080/test_servlet/loginServlet
2、服务器Tomcat根据URL截取相关内容。如:项目名称test_servlet,访问名称loginServlet
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/loginServlet</url-pattern>
</servlet-mapping>
3、Tomcat根据获取的访问名称,根据相关的配置文件获取servlet-name。如上所示的配置文件中的servlet-name为MyServlet
4、根据相关的servlet-name找到相关的servlet-class。如上所示的配置文件中的servlet-class为LoginServlet
5、Tomcat根据找到的class的完整路径,利用反射对class完成实例化
6、Tomcat调用Servlet类的service()方法
7、被调用Servlet类由于继承了父类的service方法,该方法会根据传递的Request请求的类型POST/GET选择执行doGet/doPost方法
8、doGet/doPost方法会根据传递的相关参数调用或执行相关的操作。例如:调用UserManager类执行login方法,通过响应对象Response输出HTML字符串传递给Tomcat
9、Tomcat将Response转换为HTTP响应发回给客户端,同时删除请求和响应对象。
10、浏览器将HTTP响应传递的HTML字符串进行渲染页面
0 0
- 初识Servlets
- 初识Servlets
- Servlets
- servlets基础
- Java Servlets
- Asynchronous Servlets
- Servlets Tutorial
- Servlets - Overview
- Servlets - Examples
- Servlets入门
- Servlets & JSP
- Servlets进阶(1)----Servlets简介
- Servlets进阶(2)----Servlets的方法
- 专题:Java Servlets
- Servlets 2.4的过滤器
- What are Java Servlets?
- JAVA Servlets简介
- jsp与servlets区别
- 移动端实时监控文本框的字数
- qt 之解析XML元素(QXmlStreamReader)
- 错误Name node is in safe mode的解决方法
- Haar、pico、npd、dlib等多种人脸检测特征及算法结果比较
- 【Java学习之旅】——PrepareStatement和Statement区别以及实现批量删除
- 初识Servlets
- python2, 3 中zip list 函数
- mybatis的详解
- 内存区域分配(五个段)
- Hadoop+OpenCV的集群化图像处理开发环境建设与测试研究
- 巨磁阻效应分析与应用
- Meta标签中的apple-mobile-web-app-capable属性及含义
- idea修改tomcat启动的初始页面
- 让div在页面中间显示