在JSP中提供了四种属性保存范围:
(1)在一个页面范围内:page
(2)在一次服务器请求范围内:request。
(3)在一次会话范围内:session。
(4)在一次应用服务器范围内:application。
1.request对象
客户端的请求信息被封装在request对象中,它是HttpServletRequest类的实例。
2.response对象
包含了响应客户请求的有关信息,它是HttpServletResponse类的实例。
3.session对象
指的是客户端与服务器的一次会话,它是HttpSession类的实例。
4.out对象
是JspWriter类的实例,是向客户端输出内容常用的对象。
5.page对象
指向当前JSP页面本身,它是java.lang.Object类的实例。
6.application对象
实现了用户间数据的共享,可存放全局数据变量。它是ServletContext类的实例。
7.exception对象
当一个页面在运行过程中发生异常时,就会产生这个对象,它是java.lang.Throwable的实例。
8.pageContext对象
提供了对JSP页面内所有的对象及名字空间的访问。在JSP中设置一个页的属性范围。
9.config对象
是在一个servlet初始化时,JSP引擎向它传递信息用的。一般用来取得服务器的初始化配置参数。常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。
两种跳转方式
1.外部跳转
response.sendRedirect(String url)
2.内部跳转
RequestDisPatcher dis = request.getRequestDisPatcher(String URL);
dis.forward(HttpRequest request,HttpResponse response);
JSP中的多线程问题
JSP文件经过编译就是一个Servlet文件,当客户端第一次请求某一个JSP文件时,服务端把该JSP编译成一个CLASS文件,并创建一个该类的实例,然后创建一个线程处理该请求。如果有多个客户端同时请求该JSP文件,则服务端会创建多个线程。
1.out,request,response,session,config,page,pagecontext是线程安全的,application是整个系统内使用,不是线程安全。