一、JSP运行原理
服务器第一次请求jsp页面时,JSP被翻译成Servlet文件。此Servlet文件放在 D:\\Tomcat7.0\work\Catalina\localhost\Web项目 中。
JSP的工作原理:JSP被翻译转化成Servlet,JSP中的HTML代码翻译后放在Servlet中的Service方法中。
二、JSP的三种指令:
<%@Page %> <%@include %> <%@taglib %>
HttpServletRequest request;
HttpSession session = request.getSession();
ServletContext application = session.getServletContext();
request.setAttribute("",""); // 在一次请求类有效
session.setAttribute("",""); // 在整个浏览器中有效,session会话浏览器进程中有效。直到浏览器关闭。application.setAttribute("",""); // Tomcat服务器一直运行,则就有效。
// 以下三者 返回的都是 Object 类型,需要强制转换
request.getAttribute("");
session.getAttribute("");
application.getAttribute("");
三、JSP的9大内置对象:
JSP页面已经定义好的,可以直接使用的对象。
(1) 与输入输出有关的 : out、request、response
(2) 与上下文有关的: session、application、pageContext
(3) 与Servlet有关的: config、page
(4) 与error 有关的: exception
四、JSP的作用域
pageContext :作用域是page,只在当前JSP页面内有效。
request : 作用域是 一次请求, 只在请求周期有效,只能是 转发。
session :作用域是一次会话 ,只在 浏览器开启到关闭 期间有用。
application: 作用域是服务器运行期间, 无论浏览器是否关闭,application对象都在主机上,只要服务器一直运行就有效。
五、请求路径
./ 代表当前文件夹 ../ 代表上一层目录(只能用一次)
请求路径前面加上: ${pageContext.request.contextPath}/文件夹/......(jsp、.action).
六、后台获取 项目 根目录 路径
// 1、Servlet:
String path = getServletContext().getRealPath("/videos/newvideos");
// 2、Struts2:
String path = ServletActionContext.getServletContext().getRealPath("/videos/download");
// 3、SpringMVC:
String path = request.getSession().getServletContext().getRealPath("/videos/download");