JSP基础
Posted 想成为大师啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP基础相关的知识,希望对你有一定的参考价值。
一、JSP
1.1、JSP简介
JSP全称是Java Server Pages,它和servle技术一样,都是一种用于开发动态web资源的技术。
JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。
它与html页面的作用是相同的,获取数据和显示数据
1.2、JSP原理
JSP的本质是Servlet,具体过程在第一次访问JSP时,被编译成一个java类,继承HttpJspBase,它最终继承HttpServlet,然后再去执行Servlet。
1.3 JSP脚本
JSP本质是一个类,说明这个JSP里面可以书写java代码,具体书写方式有三种。
<% 代码 %>
:代码段,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。<%! 代码 %>
:声明,在jsp转换后的java类的成员位置。<%= 代码 %>
:表达式,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么
案例一:
演示JSP三种脚本的使用
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%-- 在浏览器页面输出 --%>
<%=1%>
<%-- 在idea工具的控制台输出 --%>
<% System.out.println(2);%>
<%-- 成员变量的定义 --%>
<%! int i = 1;%>
<% int b = 2;%>
</body>
</html>
1.4 JSP注释
- html注释:
<!-- -->
:只能注释html代码片段 - jsp注释:推荐使用
<%-- --%>
:可以注释所有
二、 JSP内置对象
为了简化Web应用程序的开发,JSP 2.0规范中提供了9个内置对象,它们是JSP默认创建的,可以直接在JSP页面中使用。
名称 | 类型 | 描述 |
---|---|---|
out | javax.servlet.jsp.JspWriter | 用于页面输出 |
request | javax.servlet.http.HttpServletRequest | 得到用户请求信息 |
response | javax.servlet.http.HttpServletResponse | 服务器向客户端的回应信息 |
config | javax.servlet.ServletConfig | 服务器配置,可以取得初始化参数 |
session | javax.servlet.http.HttpSession | 用来保存用户的信息 |
application | javax.servlet.ServletContext | 所有用户的共享信息 |
page | java.lang.Object | 指当前页面转换后的Servlet类的实例 |
pageContext | javax.servlet.jsp.PageContext | JSP的页面容器 |
exception | java.lang.Throwable | 表示JSP页面所发生的异常,在错误页中才起作用 |
2.1Request对象
request对象是javax.servlet.http.HttpServletRequest对象的一个实例。每当客户端请求页面时,JSP引擎将创建一个新对象来表示该请求。
request对象提供了获取包括表单数据,Cookie,HTTP方法等HTTP头信息的方法。
2.2 response对象
response
对象是javax.servlet.http.HttpServletResponse
对象的一个实例。就像服务器创建request
对象一样,它还创建一个对象来表示对客户端的响应。
response
对象还定义了处理创建新HTTP头的接口。通过此对象,JSP程序员可以添加新的Cookie或日期戳,HTTP状态代码等。
2.3 out对象
out
隐式对象是javax.servlet.jsp.JspWriter
对象的一个实例,用于在响应中发送内容。
初始化JspWriter
对象根据页面是否缓存而不同地实例化。缓冲可以通过使用page
指令的buffered ='false'
属性来关闭。
JspWriter
对象包含与java.io.PrintWriter
类大部分相同的方法。但是,JspWriter
还有一些额外的方法用来处理缓冲。与PrintWriter
对象不同,JspWriter
会抛出IOExceptions
异常。
2.4 session对象
session
对象是javax.servlet.http.HttpSession
的一个实例,其行为与Java Servlet下的会话对象行为完全相同。
session
对象用于跟踪客户端请求之间的客户端会话。
2.5 application对象
application
对象是生成的Servlet
的ServletContext
对象的直接包装,实际上是javax.servlet.ServletContext
对象的一个实例。
application
对象是JSP页面在其整个生命周期中的表示。 当JSP页面被初始化时,将创建此对象,并且在JSP页面被jspDestroy()
方法删除时application
对象也将被删除。
通过向application
对象添加属性值,可以确保组成Web应用程序的所有JSP文件都可以访问它。
2.6 config对象
config
对象是javax.servlet.ServletConfig
的实例化,是生成的servlet的ServletConfig
对象周围的直接包装。
2.7 pageContext对象
pageContext
对象是javax.servlet.jsp.PageContext
对象的一个实例。pageContext
对象用于表示整个JSP页面。
2.8 page对象
page
对象是对该页面实例的实际引用。可以认为它是表示整个JSP页面的对象。
page
对象是this
对象的直接同义词。
2.9 exception对象
exception
对象是一个包含上一页抛出的异常的包装器。它通常用于生成对错误条件的适当响应。
以上是关于JSP基础的主要内容,如果未能解决你的问题,请参考以下文章