首先,JSP是javaweb服务器端的动态资源,可动态显示网页,本质上其实就是SERVLET。

一个JSP文件,在第一次访问时,服务器会先将jsp翻译成java文件,也就是一个servlet,然后该java文件再会被编译成class文件;在第二次访问该jsp文件时,则直接访问对应的class文件(前提是该jsp未被修改过)。

因为第一次请求的翻译和编译过程,导致第一次访问会稍微慢一些,后续直接访问class,会快一些。

jsp对象

servlet对象

作用描述

常用方法

out

PrintWriter out= resp.getWriter();

输出对象,向客户端输出内容

out.print(" ")

内容输出

...

request

HttpServletRequest request

请求对象;存储客户端向服务端发送的请求信息

request.getParameter(" ")

参数获取

...

response

HttpServletResponse response

响应对象

void addCookie( Cookie cookie );

服务端向客户端增加cookie对象
void sendRedirect(String location ) throws IOException;

页面跳转的一种方式(重定向)
void setContetType(String type)

设置服务端响应的编码(设置服务端的contentType类型)

...

session

HttpSession session = request.getSession();

客户端第一次请求服务端时,(jsessionid-sessionid)服务端会产生一个session对象(用于保存该客户的信息);

并且每个session对象 都会有一个唯一的 sessionId( 用于区分其他session);

session.getAttribute(" ")

获取参数

session.setAttribute(" ")

添加参数

...

application

ServletContext application = this.getServletContext();

全局对象

String getContextPath()    虚拟路径
String getRealPath(String name)

绝对路径(虚拟路径 相对的绝对路径)

...

config

ServletConfig config= this.getServletConfig();

配置对象(服务器配置信息)

 

exception

/

异常对象

 

PageContext

/

 JSP页面容器

 

Page

/

当前JSP页面对象(相当于java中的this)

 

 

四种范围对象作用范围(由小及大):

page       当前页面有效

request   同义词请求有效

session   同义词会话有效

appliation   全局有效(整个项目有效)

以上四个对象共有方法:

//根据属性名获取属性值
Object getAttribute(String name)
//新增、修改属性值
void setAttribute(String name,Object obj)
//如果a对象之前不存在,则新建一个a对象;如果a之前已经存在,则将a的值改为b
void setAttribute("a","b") ;
//根据属性名移除对应属性
void removeAttribute(String name):根据属性名,删除对象

//以上的4个范围对象,通过 setAttribute()赋值,通过getAttribute()取值;尽量使用最小的范围。因为 //对象的范围越大,造成的性能损耗越大。