一、JSP九大内置对象
-
(一)Request:客户端与服务器的一次请求中封装了用户提交的信息(包裹),该对象可以设置请求转 发request.getRequestDispatcher(String URL).forward(request,response),是服务器行为,是一次请求, 所以页面的URL为原始请求处理的响应页面的URL(不是最终的处理请求的响应页面,因为客户端只请求 一次)。
-
(二)Response:对客户的请求做出的响应,向客户端发送数据,该对象可以设置重定向 response.sendRedirect(String URL),是客户端行为,是两次请求,所以页面的URL为二次请求处理的响 应页面的URL。
-
(三)Session:该对象是客户端与服务器的一次会话,只要不关闭服务器的所有页面(离开这个服务 器),就只视为一次会话。Session在第一个JSP页面被装载时自动创建,完成会话期管理。当一个客户 首次访问服务器上的一个JSP页面时,JSP 引擎产生一个Session对象,同时分配一个String类型的ID号, JSP引擎同时将这换个ID号发送到客户端,存放在Cookie(要求服务器启用Cookie权限)中,这样 Session对象,直到客户关闭浏览器后,服务器端该客户的Session对象才取消,并且和客户的会话对应关 系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再重新创建一个新的Session对象 拥有新的ID号。常用方法为String getId()获取ID号以及Boolean isNew()判断是否是一个新的客户。 Session可以理解为线程私有的。
-
(四)Application:服务器启动时产生,共享性。
-
(五)Out:Out对象本质是一个输出流,用来向客户端输出数据。Out对象用于各种数据的输出。常用 方法为:
out.print():输出各种类型数据。
out.newLine():输出一个换行符。
out.close():关闭流 -
(六)Config:配置对象。
-
(七)Page:页面。
-
(八)PageContext:页面应用上下文环境。可通过该对象获取依赖于页面上下文环境的Node。
-
(九)Exception:只有在处理异常的网页中可以直接访问exception隐式对象。
二、JSP七种传参方式
-
(一)JavaBean:<jsp:useBean id=“XXX” class=“JavaBean的全限定名(page+calssName)” scope=“session” />
-
(二)Session:session.setAttribute(String key,Object value)/seesion.getAttribute(String key)
-
(三)Application:application.setAttribute(String key,Object value)/application.getAttribute(String key)
-
(四)Request:
request.setParater(String key,String value)/request.getParater(String key) request.setAttribute(String key,Object value)/request.getAttribute(String key) -
(五)JSP动作指令:<jsp:forward/redirect page=“XXX.jsp”> <jsp:param name=“key-x” value=“value-x” /> <jsp:param name=“key-y” value=“value-y” /> </jsp:forward/redirect>
-
(六)Form表单
-
(七)URL传参:URL.jsp?参数1 的key=参数1的value& 参数n的key=参数 n 的value
三、JSP四个作用域
-
(一)Application:共享、全局、服务器启动时产生,重启服务器销毁。可以包含很多个session。
-
(二)Session:会话。隔离。生命周期是从用户发起链接服务器至彻底与服务器完全断开。可以包含很 多个request。所谓当前会话,就是指从用户打开浏览器开始,到用户关闭浏览器这中间的过程。
-
(三)Request:有效域是当前请求周期。所谓请求周期,就是指从http请求发起,到服务器处理结束, 返回响应的整个过程。在这个过程中可能使用forward的方式跳转了多个jsp页面,在这些页面里你都可以 使用这个变量。
-
(四)Page:有效域是当前页面,可以把参数放入PageContext中,只有跳转就失效。