servlet与jsp

时间:2024-03-21 09:03:20

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九大内置对象

  1. Request

包含用户端请求的信息

  1. Response

包含服务器传回客户端的响应信息

  1. Session

保存在服务端的数据

  1. pageContext

页面上下文

  1. Application

服务器启动时创建,服务器关闭时停止

  1. Out

向客户端输出数据

  1. Config

8.  Page

指网页本身

9.  Exception

用来处理Jsp页面文件在执行时所有发生的错误和异常

forward和redirect的区别

转发与重定向

(1)从地址栏显示来说

forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送

的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.

(2)从数据共享来说

forward:转发页面和转发到的页面可以共享request里面的数据.

redirect:不能共享数据.

(3)从运用地方来说

forward:一般用于用户登陆的时候,根据角色转发到相应的模块.

redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.

(4)从效率来说

forward:高.

redirect:低.