列举出jsp页面的九个隐式对象,并加以说明
对象变量名,可直接在jsp中使用
对象类型
- config
- ServletConfig
- application
- ServletContext
- response
- HttpServletResponse
- request
- HttpServletRequest
- session
- HttpSession
- out
- JspWriter
- page
- this
- exception
- Throwable
- pageContext
- PageContext
注意:
exception对象不是每个页面都有 只有是错误页面(errorPage),并且 isErrorPage属性设置为true
session 对象也不是每个页面都有 默认情况下有,但是如果将page指令的 session=”false”,则没有session内置对象
jsp指令
include指令 用于包含一个页面
<%@ include file="b.jsp" %>
taglib 指令用于引入标签库文件
page指令 用于向jsp引擎说明jsp的页面情况
page指令一般都放在页面的开头,但是不管放在哪都对整个页面起作用
page指令 常用的主要有一下几个:
1) import 导包, 导入多个包时需要以“,”隔开 也可以分作多条指令书写
<%@page import="java.io.InputStream"%>
2) session 说明是否使用session
默认值为true,被翻译的Serlvet中会自动获得Session
如果将该值指定为false 被翻译的Servlet的service方法中将不获取session
<%@ page language="java" import="java.util.Date,java.util.*" pageEncoding="utf-8" session="false" errorPage="error.jsp"%>
3) errorPage 指定错误跳转的页面
在 web.xml 文件中同样可以配置错误页面
可根据异常类型或错误编码进行配置
error-page
<%@ page language="java" import="java.util.*" pageEncoding="utf-8" isErrorPage="true"%>
4) pagaEncoding
通知jsp引擎在翻译jsp的过程中以什么编码方式来解码jsp文件
通知 Servlet引擎 response编码方式,相当于 response.setContentType()
说白了
只要给jsp指定了 pageEncoding=”utf-8”
jsp引擎在翻译jsp时, 就会自动加上一句
response.setContentType(“text/html;charset=utf-8”)
<%@ page language="java" import="java.util.Date,java.util.*" pageEncoding="utf-8" session="false" errorPage="error.jsp"%>
扩展 : jsp 乱码问题
在 tomcat6 以后jsp就没有乱码问题了, 如果是使用tomcat5 才会出现乱码问题
jsp 乱码解决 告诉jsp引擎jsp页面是什么码,这样翻译才不会错
告诉response用什么码编码再发给浏览器
<类名:方法名/>
如:
在另一个java文件中书写
public class Hello {
public void run(PageContext pageContext) throws IOException {
System.out.println("hello");
String ip = pageContext.getRequest().getRemoteAddr();
pageContext.getOut().print(ip);
}
}
jsp会自动将(PageContext pageContext)传过去,这样就避免了在jsp中书写java代码