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类型。