前言
这次来和大家说下jsp的相关内容。
正文
JSP(Java server Pages) 概念 |
JSP 是Sun公司推出的构建在Servlet规范提供的功能之上的动态网页技术。
JSP通过动态代码嵌入到静态的HTML(或xml)中,从而产生动态的输出。
JSP中的编译 |
- JSP的页面代码不能直接运行
- JSP的页面代码被编译成Java的源代码
- 编译生成的Java类实现javax.servlet.jsp.HttpJspPage接口
JSP的方法VS Servlet |
HttpJspPage接口 | Servlet接口 | 方法说明 |
---|---|---|
jspInit | init | 创建实例后被调用 |
_jspService | service | 处理请求时被调用 |
jspDestroy | destroy | 生存期结束前被调用 |
JSP的九大内置对象 |
为了方便JSP程序员访问一些常用的对象,在JSP规范中定义了九种内置对象,不用声明即可使用,由容器实现和管理。
- 输入输出对象
request 、response、out - 作用域通信对象
session、application、pageContext - Servlet 对象
page 、config - 错误对象
exception
对象名称 | 类型 | 作用域 |
---|---|---|
request | javax.servlet,http.HttpServletRequest | Request |
response | javax.servlet,http.HttpServletResponset | Page |
pageContext | javax.servlet.jsp.PageContext | Page |
session | javax.servlet.http.HttpSession | Session |
application | javax.servlet.ServletContext | Application |
out | javax.servlet.jsp.jspWriter | Page |
config | javax.servlet.ServletConfig | Page |
page | java.lang.Object | Page |
exception | java.lang.Throwable | Page |
request 对象
表示客户端对网页的请求
request对象的常用方法
// 根据页面表单组件名称获取请求页面提交数据
String getParameter(String name)
// 获取页面请求总有个表单组件对应多个值时的用户的请求数据
String[] getParameterValues(String name)
// 解决提交表单时中文乱码问题,因为服务器默认的编码为:iso-8859-1
request.setCharacterEncoding("GBK")
response 对象
处理JSP 生成的响应,将响应发送给客户端
response对象的常用方法
//设置作为响应生成的内容的类型和字符编码
void setContentType(String type);
//实现客户请求的重定向
void sendRedirect(String location);
//动态添加新的HTTP响应头和HTTP的响应头值,并将这些HTTP响应头发送给客户的浏览器
void setHeader(String headName,String value)
out 对象
out 对象等同于Servlet中的PrintWriter对象,表示在JSP中的标准输出。
out 对象的常用方法
//输出数据
void print();
//输出空格
void println();
//清除输出缓冲区的内容,但不会把数据输出到客户端
void clear();
//清除输出缓冲区的内容,同上把数据输出到客户端
void clearBuffer();
// 刷新流,把流中的内容送到客户端,并把流清空
void fiush();
//关闭输出流,清除所有内容
void close();
session 对象
session 对象用于保存与客户端有关的状态信息,实现同意客户在不同页面间的数据共享。
session对象的常用方法
//设置名称为name,值为value的属性
void setAttribute(String name,Object value);
//获取指定名称的属性值
Object getAttribute(String name);
// 删除指定的属性
void removeAttribute(String name);
// 销毁session 对象
void invalidate();
//判断当前session是否为新的session
boolean isNew();
//获得当前session的ID号
String getId();
// 设置当前会话的失效时间,以秒为单位,如果值为零或负数,则表示会话将永远不会超时
void setMaxInactiveInterval(int interval);
application 对象
application 对象用于多个程序或者多个用户之间共享数据,对于一个容器而言,每个用户都是一个application。
application 对象的常用方法
// 以键/值的方式,将一个对象的值存放到application中
void setAttribute(String name,Object value);
//获取属性值
void getAttribute(String name);
pageContext 对象
使用这个对象可以管理其他8个内置对象,可以通过它来获得与JSP 内置对象对应的Servlet对象。
pageContext 对象的常用方法
// 获得当前网页的异常(exception)
Exception getException();
//获得当前网页的输出流(out)
JspWriter getOut();
//获得当前网页的Servlet 实例(page);
Object getPage();
// 获得当前网页的请求(request)
ServletRequest getRequest();
// 获得当前网页的响应(response)
Servlet getResponse();
//获得当前网页的ServletConfig实例(config)
ServletConfig getServletConfig();
//获得当前网页的执行环境上下文(application)
ServletContext getServletConfig();
//获得和当前网页相关联的会话(session)
HttpSession getSession();
//***使用pageContext统一管理application、session、request、page 的属性设置***//
// int参数指明范围(1-4)
getAttribute(String name,int scope);
setAttribute(String name,Object value,int scope);
removeAttribute(String name,int scope);
page对象 和 config对象
page 对象表示的是jsp 页面本身
config 对象表示本jsp页面的配置对象
JSP的四种属性范围 |
对象名称 | 作用域 |
---|---|
application | 被整个web应用所引用 |
session | 在同一个会话进程之中共享它的属性 |
request | 同一个请求 |
page | 同一个页面 |
作用范围:application > session > request > page
总结
JSP 的一些内容先介绍到这里,希望对您有所帮助!