日期:2014-05-16  浏览次数:20389 次

JavaEE基础:JSP的9个内置对象
1,out:
out对象是JspWriter类的实例,是向客户端输出内容常用的对象;
JSP的输出流,,等同于表达式;
out.println("test");


2,request:
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.它是HttpServletRequest类的实例.
获取表单提交参数,在请求完成后,作用域结束,变量失效;
String userName = request.getParameter("userName");


获取表单多个参数,返回数组, 比如checkbox多选的参数;
String[] chooseOs=request.getParameterValues("os");


设置请求的编码;
request.setCharacterEncoding("UTF-8");


设置和访问共享属性;
request.setAttribute("error", "用户名不能为空.");//设置request属性
request.getAttribute("error");//得到request属性
request.removeAttribute("error");//移除request属性


得到访问用户的ip地址:
request.getRemoteAddr();


得到当前目录或者jsp文件等的绝对路径(返回页面部署的路径,参数同样可以查找文件的路径);
request.getRealPath("");//当前目录
request.getRealPath("a.jsp");//jsp文件


3,response:
response对象包含了响应客户请求的有关信息.它是HttpServletResponse类的实例。
服务器传给浏览器的文本信息;

增加header属性,比如通知浏览器不要缓存这个响应(运行后可通过TCPTrace观察响应头部的变化);
response.addHeader("pragma", "no-cache");
response.addHeader("cache-control", "no-cache");
response.addHeader("expires", "0");


页面重定向(发送两次请求,返回两次响应);
response.sendRedirect("url地址");


4,session:
session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止.它是HttpSession类的实例.
会话,session对象是每个访问用户专用的;

设置和访问共享属性;
session.getAttribute("bean");//得到session属性
session.setAttribute("bean",bean);//设置session属性
session.removeAttribute("bean");//移除session属性


销毁session会话(键,值);
session.invalidate();


5,pageContext:
pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说它可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext;

页面转发请求(一次发送请求,返回一次响应,直接转发到该页面);
pageContext.forward("url地址");


6,application:
application对象实现了用户间数据的共享,可存放全局变量.它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问.服务器的启动和关闭决定了application对象的生命.它是ServletContext类的实例.
配置全局信息,得到相关数据.该对象保存了一个应用系统中一些公用的数据,与session对象相比,application对象是所有客户共享的;

得到servlet的版本号;
application.getMajorVersion()+"."+application.getMinorVersion();


可配置的全局信息(通过web.xml);
application.getInitParameter("company.name(<param-name>属性)");
//在web.xml中加入:
	<context-param>
		<param-name>company.name</param-name>
		<param-value>北京xxx信息技术有限公司</param-value>
	</context-param>


.getMajorVersion();//得到servlet大版本号
.getMinorVersion();//得到servlet小版本号
.getServerInfo();//得到服务器信息
.setAttribute("","");//设置共享全局属性信息
.getAttribute("");//得到共享全局属性信息


7,config:
config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象);

设置jsp页面的常量(通过web.xml);
config.getInitParameter("page.title(<param-name>属性)");
//在web.xml中加入:
	<servlet>
		<servlet-name>configServlet</servlet-name>
		<jsp-file>/config.demo.jsp</jsp-fi