面试题:JSP和Servlet的区别?
JSP的本质就是servle
JSP更加侧重于视图的展示,servlet更注重逻辑的处理。
面试题:include指令和jsp:include标签的区别?
从效果上来说,没区别。
include指令是把两个页面合成一个jsp,再编译成.class
jsp:include标签是N个JSP页面单独编译.class之后,再进行合并
3.选择使用jsp:include?重复利用,单独编译。
JSP的四大域对象:
PageContext---pageContext(当前页):一个属性只能在当前页面获取。
HttpRequest----requset(一次请求):一个页面中设置的属性,只有经过请求转发才能获取到
HttpSession----session(会话):一个会话中设置的内容,只要与此项目相关的页面都可以访问。关了浏览器就不见了(可以通过一些手段让会话即使关闭浏览器让会话依然存在)
ServletContext----application(应用):服务器级别的,只要服务器没停止,数据永远在。
九大内置对象:内置对象,不用声明,直接就能用。
request
request.getContextPath():获取上下文路径
System.out.println(request.getContextPath());
request.getServletPath():获取当前Servlet路径
System.out.println(request.getServletPath());
request.getSession():获取当前的session对象
request.getSession(boolean):获取当前的session对象,true--获取当前的session对象 false--新建立一个会话。
request.getServletContext:获取application
response
Session
session.getId():获取session
session.getLastAccessedTime():最后一次修改时间。
session.getServletContext:获取application
session.invalidate():session销毁
out--JspWriter:向客户端去输出内容。
page--当前JSP页面本身,实际上是一个对象,是当前jsp页面转换成.java类的对象。
application--当前应用
pageContext--域对象
config--配置,servlet初始化的时候,用到的参数,config来获取。
exception--异常,前提是当前的jsp是一个错误页。
<%@ page contentType="text/html;charset=UTF-8" language="java"
isErrorPage="true" session="true" %>
exception.getMessage();