Servlet生命周期
一、初始化阶段 当WEB客户第一次请求访问某个Servlet的时候,WEB容器将创建这个Servlet的实例。调用init()方法进行Servlet的初始化
一、响应客户请求阶段 调用service()方法,service()方法根据收到的客户端请求类型,决定调doGet()还是doPost()还是其他的doXXX()方法。
二、终止阶段 当WEB应用被终止,或Servlet容器终止运行,web容器调用destroy()方法释放掉Servlet所占用的资源。
JSP与Servlet有什么区别
1.jsp经编译后就变成了Servlet,本质上就是servlet,都可以生成动态网页
2.JSP的优点是擅长于网页展示,Servlet擅长业务逻辑
3.Servlet是纯java代码,而jsp里可写java、html、css、js等代码
Servlet怎么处理一个请求
当用户发送一个请求到某个Servlet的时候,Servlet容器会创建一个ServletRequst和ServletResponse对象。在ServletRequst对象中封装了用户的请求信息,然后调用servlet的service()方法,把处理好的结果写在ServletResponse中,然后Servlet容器把响应结果传给用户。
Jsp九大内置对象
- Request
包含用户端请求的信息
- Response
包含服务器传回客户端的响应信息
- Session
保存在服务端的数据
- pageContext
页面上下文
- Application
服务器启动时创建,服务器关闭时停止
- Out
向客户端输出数据
- Config
8. Page
指网页本身
9. Exception
用来处理Jsp页面文件在执行时所有发生的错误和异常
forward和redirect的区别
转发与重定向
(1)从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送
的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
(2)从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
(3)从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
(4)从效率来说
forward:高.
redirect:低.