Servlet——请求流程

Servlet请求流程

Tomcat服务器是一个jsp/Servlet 容器,Servlet有一套APITomcat是根据这套api写出来的。

客户端发送一个请求,到达服务器后,被servlet容器拦截,对请求做出处理,将请求中的参数以及一些请求信息封装到HttpRequest对象中,然后调用对应的Servlet实例,在实例中调用service层等对数据库进行查询,返回数据结果到servlet实例中,然后分两种情况:

1,请求转发到一个jsp页面

将参数保存到httprequest 对象中,然后去请求一个jsp页面,jsp文件调用httprequest对象中的数据,生成响应的jsp文件,jsp文件经过jsp容器转化为servlet类文件,此类文件经过jvm编译为class文件,然后jvm执行此class文件,返回字符流。

2,直接跳转到一个jsp页面

将参数保存到url中,返回给客户端,然后客户端去请求这个带参数的urljsp文件根据url中的参数生成响应的jsp文件,然后经过jsp容器转换为servlet类,编译为class文件,执行此class文件。

总结:我们以前不用jsp文件的时候,要生成一个页面,总是调用out.print() 方法向输出流中写入数据,其实所有的响应都是执行某个class类文件,向输出流中写入数据,以前的servlet是,换成jsp也是,

这些class类文件生成后,会保存到系统中,当同样的请求到来时,直接执行已经生成的class类文件,不用再对请求的Servlet进行编译了,当然如果Servlet类文件发生了修改,那么就有检测机制检测到,就会对Servlet类文件进行编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值