JSP基础
JSP注释分为显式(客户端可以看见)和隐式注释(不可见)
显式:
隐式: // /**/ <%-- --%>
JSP编译指令
page
定义一个jsp页面的相关属性。
<%@page 属性=“内容”%>常用import、pageEncoding、errorPage/isErrorPage
<%@pagelanguage="java" import="java.util.*" errorPage="error.jsp" isErrorPage="false" %>
exception的实例代表其他页面的异常和错误。只有当页面是错误处理页面时,即isErrorPage为true时,该对象才可以使用。
errorPage的实质就是JSP的异常处理机制,发生异常时才会跳转到 errorPage指定的页面,没必要给errorPage再设置一个errorPage。所以当errorPage属性存在时, isErrorPage属性值为false。
含有isErrorPage属性表示当前页面是处理异常的页面,不是会产生异常的页面
include
静态包含:<%@ include file=”” %>
静态包含中实际上是将所包含的文件内容导入目标页面,然后再一起进行编译,最后再将一份整体的内容展现给用户,属于先包含,后编译。
动态包含:
动态包含语句可以自动区分被包含的页面是静态还是动态。如果是静态页面,则与静态包含一样,将内容包含进来处理,如果是动态页面,可以先进行动态地处理,然后再将处理后的结果包含进来。
taglib
用于定义和访问自定义标签
JSP内置对象
9大内置对象:
pageContext |
JSP页面容器 |
request |
得到用户的请求信息 |
response |
服务器向客户端的回应信息 |
session |
保存每一个用户的信息 |
application |
所有用户的共享信息 |
config |
服务器配置,可以获得初始化参数 |
out |
页面输出 |
page |
从页面中表示出来的一个Servlet实例 |
exception |
JSP页面所发生的异常,在错误页面中起作用 |
|
|
4种属性范围
page:只在一个页面中保存属性,跳转之后无效。
request:在一次请求中保存属性,服务器跳转后仍然有效。
session:在一次回话范围中保存,无论何种跳转都可以使用,但是新开浏览器失效。
application:在整个服务器上保存,所有用户都可以使用。
操作属性的方法如下:
public void setAttribute(String name ,Objectvalue)
public Object getAttribute(String name)
public void removeAttribute(String name)
request对象
接收客户端发送而来的请求信息。
request是javax.servlet.http.HttpServletRequest接口的实例化对象,HttpServlet是ServletRequest的子接口。
常用方法:
public String getParameter(String name)
public String[] getParameterValues(Stringname)
public Httpsession getSession()
public String getContextPath()//获得上下文资源路径
解决乱码
request.setCharacterEncoding(“utf-8”)
response对象
对客户端的请求进行回应,将Web服务器处理后的结果发回给客户端。
response是javax.servlet.http.HttpServletResponse接口的实例化对象,HttpServlet是ServletResponse的子接口。
常用方法
public void sendRedirect(String location)throws IOException
Session对象
session最主要的用处是完成用户的登录,注销等常见功能,每一个Session对象都表示不同的访问用户,session对象是javax.servlet.http.HttpSession接口的实例化对象,所以session只能应用在HTTP协议中。
常用方法:
public String getId()
public void invalidate()//让session失效
application对象
application对象是javax.servlet.ServletContext接口的实例化对象。
常用方法:
String getRealPath(String Path)//得到虚拟目录对应的绝对路径
config对象
Web目录中必须存在一个WEB-INF文件夹,该文件夹无法被外部所看见,安全性最高。正因为WEB-INF中的文件太安全,外面永远无法访问,可以通过一个映射进行操作。
例如将index.jsp放在WEB-INF目录中
hello
/WEB-INF/index.jsp
hello
/hello
上面配置表示,将/WEB-INF/index.jsp的文件映射成为一个/hello的访问路径,程序会自动根据
config对象是javax.servlet.ServletConfig接口的实例化对象,主要功能是取得一些初始化的配置信息。
常用方法:
public String getInitParameter(String name)
JSP页面想通过初始化参数取得一些信息,则一定要在web.xml文件中完成映射。
在
pageContext对象
pageConext对象是javax.servlet.jsp.PageContext类的实例,主要表示一个页面的上下文。
之前的request、response、config、application、