基础概念3



1、Session的相关方法比较              2016-08-21

答:request.getSession(false)、request.getSession(true)、request.getSession()

       后两个方法效果相同,第一个方法:如果session缓存中(如果cookie不存在),不存在session,那么返回null,而不会创建session对象。也就是说使用第一个方法不一定能够得到一个Session。



2、JavaWeb中配置错误页面的方式:                     2016-08-26


答:(1)通过jsp的page指令的属性errorpage和iserrorpage来设置。

<%@ page errorPage="b.jsp"%>                 <%@page isErrorPage="true"  %>

      (2)在web.xml中配置错误页面。

 <error-page>

    <error-code>404</error-code>

    <location>/error404.jsp</location>

  </error-page>



3、<%@include>和<jsp:include>有什么不同?           2016-08-26


答:前者为JSP静态包含指令,后者为JSP的动作标签之一:动态标签。

前者将两个JSP页面合并起来,生成一个java文件;   后者分别生成各自的java文件,最后将结果合并输出。




4、day12相关笔记:

(1)JSP三大指令:

           page指令的常用属性有:import,language, PageEncoding, ContentType, errorPage, isErrorpPage等

           include指令:静态包含。

           taglib指令:导入标签库。


(2)JSP的九大内置对象:

在JSP中无需创建就可以使用的9个对象,它们是:

out(JspWriter):等同与response.getWriter(),用来向客户端发送文本数据;

config(ServletConfig):对应“真身”中的ServletConfig;

page(当前JSP的真身类型):当前JSP页面的“this”,即当前对象;

pageContext(PageContext):页面上下文对象,它是最后一个没讲的域对象;

exception(Throwable):只有在错误页面中可以使用这个对象;

request(HttpServletRequest):即HttpServletRequest类的对象;

response(HttpServletResponse):即HttpServletResponse类的对象;

application(ServletContext):即ServletContext类的对象;

session(HttpSession):即HttpSession类的对象,不是每个JSP页面中都可以使用,如果在某个JSP页面中设置<%@page session=”false”%>,说明这个页面不能使用session。


在这9个对象中有很多是极少会被使用的,例如:config、page、exception基本不会使用。

在这9个对象中有两个对象不是每个JSP页面都可以使用的:exception、session。


(3)JSP的动作标签:

动作标签用来简化java脚本,JavaWeb提供了20个JSP的动作标签,常用的有:

include标签            forward标签             以及子标签param标签用来传递参数。



(4)javaBean规范:

必须有默认的无参构造器,必须提供getter/setter方法。其中属性和成员变量是不同的。可以没有这个成员变量,但是getter/setter后面的这个就叫属性。


(5)EL表达式:

全域查找:${xxx},全域查找名为xxx的属性,如果不存在,输出空字符串,而不是null。
选择一个查找范围:${pageScope.xxx}、${requestScope.xxx}、${sessionScope.xxx}、${applicationScope.xxx},指定域获取属性!


EL表达式11大内置对象:pageScope,requestScope,sessionScope,applicationScope,header,headerValues,param,paramValues,initParam,cookie

                                             pageContext(一个顶N个)

其中前10个都是Map类型的,cookie的键为String类型,Value为Cookie类型。