Servlet

什么是Servlet
采用JAVA语言编写的服务器端程序,运行在web服务器中的servlet容器中,主要功能是提供请求\响应的web服务模式,生成动态web内容。
servlet的优点:
1.较好的可移植性,无需修改代码就可以部署在多种不同类型的web服务器上。
2.执行效率高,Servlet针对每个请求创建一个线程执行,有更短的响应时间。
3.功能强大,可以与web服务器进行交互
4.使用方便
5.可扩展性强
servlet生命周期可以分为加载、创建、初始化、处理客户请求、卸载
1.加载:容器通过类加载器使用Servlet类对应的文件加载Servlet
2.创建:通过调用Servlet的构造函数来创建一个Servlet实例
3.初始化:通过init方法完成初始化工作,该方法只被调用一次,该方法在Servlet已被创建但向客户端提供服务之前调用的。
4.处理客户请求:servlet被创建后就可以为客户端提供服务。当有新的请求,容器会创建一个新的线程来处理该请求,调用Servlet的service方法完成客户端的请求,service根据请求的method属性的不同调用dopost或doget方法完成具体响应。
5.卸载:容器卸载servlet之前需要调用destroy方法,让servlet自己释放其占用的系统资源,当destroy方法被调用,容器不会再向这个servlet发送请求。destroy方法只被调用一次。如果容器需要改servlet,则需重新定义一个新的servlet实例。
JSP与Servlet有何异同
相同点:JSP可以被看做一个特殊的Servlet,只不过是对Servlet的扩展,只要是JSP可以完成的,servlet也可以完成。jsp页面最终被转换为servlet来运行,因此处理请求实际上是编译后的servlet。
不同点:
1.servlet的实现方式是在java中嵌入html代码,编写和修改html非常不便,因此适合做流程控制、业务处理;JSP的实现方式是在html中嵌入java代码,适合页面展示。
2.servlet中没有内置对象,JSP中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponce、HttpServlet对象得到。

 作用域
数据的使用范围

setAttribute(“属性”,Object) : 用于向对应作用域中保存数据

getAttribute(“属性”) : 用于在对应作用域中获取数据

 Request
当前请求有效,如果向 request中保存了一个数据,该数据在当前请求结束前有效

通过测试 页面显示 永远都是1 因为每次新的请求 都是一个新的request对象 数据不共享

 Session
当前会话有效,默认一次会话就是打开浏览器一直到浏览器关闭 是一次会话

当然可以指定session的过期时间

经常用于登陆校验

通过测试 session作用域的范围 是当前会话有效

当前会话不结束时  数值一次递增,当结束会话的时候,或者是新的浏览器的时候 会从1开始

 ServletContext
全局作用域,一般叫application ,只要服务器没关闭,数据一直有效
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值