您的位置:首页 > 编程语言 > Java开发

Struts2与servlet的工作原理

2016-10-11 21:49 232 查看
Struts2的工作流程:

1.客户端在浏览器中输入一个url地址

2.这个url请求通过http协议发送给tomcat

     3.tomcat根据url找到对应项目里面的web.xml文件

     4.在web.xml里面会发现有struts2的配置

     5.然后会找到struts2对应的struts.xml配置文件

     6.根据url解析struts.xml配置文件就会找到对应的class以及方法

     7.调用完class返回一个字String,根据struts.xml返回到对应的jsp

Servlet的工作原理:
A、Servlet生命周期详解

Servlet的生命周期可以分为四个阶段,即装载类及创建实例阶段、初始化阶段、服务阶段和实例销毁,下面针对每个阶段的编程任务及注意事项进行详细的说明

B、Servlet创建过程

在默认情况下Servlet实例是在第一个请求到来的时候创建,以后复用。一旦Servlet实例被创建,Web服器会自动调用init(ServletConfig config)方法来初始化该Servlet。
其中方法参数config中包含了Servlet的配置信息,比如初始化参数,该对象由服务器创建。
init方法在Servlet生命周期中只执行一次,而且该方法执行在单线程的环境下,因此开发者不用考虑线程安全的问题

C、服务
一旦Servlet实例成功创建及初始化,该Servlet实例就可以被服务器用来服务于客户端的请求并生成响应。在服务阶段Web服务器会调用该实例的service(ServletRequest request,ServletResponse response)方法,
request对象和response对象有服务器创建并传给Servlet实例。
request对象封装了客户端发往服务器端的信息,response对象封装了服务器发往客户端的信息

doGet:处理GET请求
doPost:处理POST请求
当发出客户端请求的时候,调用service 方法并传递一个请求和响应对象。Servlet首先判断该请求是GET 操作还是POST 操作。然后它调用下面的一个方法:doGet 或 doPost。如果请求是GET就调用doGet方法,
如果请求是POST就调用doPost方法

C、销毁

关闭或重启服务器的时候,可以调用destory()方法进行销毁
其中,Struts2封装了Servlet.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: