什么是jsp?
JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准
为什么要使用jsp?
- 动态部分用Java编写,更加强大,跨平台,容易移植到其它平台。
- 与纯 Servlets相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句。
- 与SSI相比:SSI无法使用表单数据、无法进行数据库链接。
- 与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,
但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。 - 与静态HTML相比:静态HTML不包含动态信息。
jsp运行原理
- jsp本质就是一个servlet。
- WEB容器(servlet引擎)接受到.jsp为扩展名的URL访问请求时,将访问请求交给jsp引擎去处理。
- 每个jsp页面在第一次被访问的时候,JSP引擎将其翻译称为一个Servlet源程序,在编译为class文件。再由servlet引擎去加载。
- jsp规范没有明确要求jsp脚本程序必须用java语言,可以使用其他语言编写,但最终必须转换为servlet程序。
- 可以在web程序正式发布前,将所有的jsp页面预先编译为Servlet程序。
jsp九大内置对象
- 1.request对象
该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息, 即使用该对象可以获取用户提交信息 - 2.response对象
对客户的请求做出动态的响应,向客户端发送数据 - 3.session对象、
浏览器第一次访问服务器的时候,jsp引擎产生一个session对象,并分配一个String类型的id,同时将这个id发送至浏览器中的cookie中存储,这样session对象就和客户端建立了一一对应的关系。当客户端和服务器失去连接时,session对象取消。重新建立连接时,再次产生session对象。 - 4.out对象
out对象是一个输出流,用来向客户端输出数据。out对象用于各种数据的输出。 - 5.page对象
- 6.application对象
1.什么是application:
服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。
2.application对象常用方法:
(1)public void setAttribute(String key,Object obj): 将参数Object指定的对象obj添加到application对象中,并为添加的对象指定一个索引关键字。
(2)public Object getAttribute(String key): 获取application对象中含有关键字的对象。 - 7.exception对象
- 8.pageContext对象
- 9.config对象
四个作用域:request域 session域 application域 page域
jsp语法
jsp模板元素
- jsp页面中的静态HTML元素称之为JSP模板元素
- jsp模板元素定义了网页的基本骨架,既定义了页面的结构和外观。