1.什么是servlet?什么是jsp?

Servlet是JavaEE三大组建之一,是使用Java语言编写服务器端的程序,主要用来处理Web应用程序中的请求-响应。Servlet并没有main之类的执行方法,当用户访问服务器的时候,Tomcat是通过调用Servlet的某些方法来完成整个处理过程的。Servlet是运行在Tomcat服务器提供的web容器中的.

JSP的全称是Java Service Page,它和servelt 一样可以提供动态的HTML 响应。 不同的 Servlet 以java代码为主,  JSP以 html 为主 然后内嵌少量的java代码.  JSP和servelt 一样 可以提供 动态的HTML 响应。JSP 经过转译 和 编译 最终形成 一个servlet 类  servlet 类经过 构造调用  初始化 形成一个servlet 对象,这个servlet 对象可以源源不断 为客户端提供服务。直到servlet 对象销毁。

可以说JSP是以servlet为基础的.

2.servlet的九大内置对象.

jsp代码里面java代码怎么嵌套html_属性值

四大域对象:

1.PageContext

PageContext是一种域对象,作用域为网页页面.代表一个JSP上下文对象,也已理解为一个与JSP对应的对象,可以使用get/setAttribute()方法向页面中获取/创建键值对.

2.Session

session对象也是一种域对象,session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。表示一次会话,在不使用代码销毁的情况下,只要浏览器不关闭,session对象就不会被销毁,但是session的生命周期默认为30分钟

3.Request

request表示一次请求 , 它的有效范围是当前请求周期 . 所谓请求周期 , 就是从http发送请求 , 到服务器接收并处理请 , 将结果返回到客户端响应 . 在这一过程中 , 可能使用forward跳转了多个jsp页面 , 而在这多个jsp页面中属性值都有效. 但如果是通过redirect方式进行跳转 , 则重新发送请求 , 这样属性值就会丢失.

4.Application

application作用于服务器,只要tomcat服务器不关闭,那么application的属性值就一直存在,JSP是基于servlet实现的,appplication就是servlet内置对象中的servletcontext,只是名称的叫法不同,我们在同一个web工程下的servlet代码中通过servletcontext.setAttribute()方法创建一个servletcontext的属性值,在该工程下的jsp页面中同样可以通过application.getAttribute()方法获取到值.

5.获取先后顺序

getAttribute方法,在四大域中搜寻属性,搜寻的顺序是page域、request域、session域、application域,从小域到大域开始搜索,如果搜索到就直接获取该值,如果所有域中都找不到,返回一个null(与el表达式不同,此处返回null,对网页是不友好的)