JSP 9个内置对象
内置对象
PageContext (存数据,页面上下文,只在一个页面内有效)
Request (存数据,只在一个请求内有效,请求转发会携带数据)
Response
Session (存数据,在一个会话内有效,从打开浏览器到关闭浏览器)
Application (存数据,在一个服务器启动期间都有效)
config (配置)
out( 输出)
page (很少用)
exception(异常)
作用范围
在一个页面存取数据
<body>
<%
//在一个页面内有效
pageContext.setAttribute("name1","张三1");
//在请求转发内有效
request.setAttribute("name2","张三2");
//在一个会话内有效(浏览器内)
session.setAttribute("name3","张三3");
//在服务器内有效
application.setAttribute("name4","张三4");
%>
<%
String name1 = (String) pageContext.getAttribute("name1");
String name2 = (String) pageContext.getAttribute("name2");
String name3 = (String) pageContext.getAttribute("name3");
String name4 = (String) pageContext.getAttribute("name4");
String name5 = (String) pageContext.getAttribute("name5");
%>
${name1}<hr>
${name2}<hr>
${name3}<hr>
${name4}<hr>
${name5}
</body>
在另一个页面取数据
<body>
<%
//范围自底向上查找,最上层查找不到即为null(类似jvm双亲委派机制)
String name1 = (String) pageContext.getAttribute("name1");
String name2 = (String) pageContext.getAttribute("name2");
String name3 = (String) pageContext.getAttribute("name3");
String name4 = (String) pageContext.getAttribute("name4");
String name5 = (String) pageContext.getAttribute("name5");
%>
${name1}<hr>
${name2}<hr>
${name3}<hr>
${name4}<hr>
${name5}
</body>
转发到另一个页面
<%
//在一个页面内有效
pageContext.setAttribute("name1","张三1");
//在请求转发内有效
request.setAttribute("name2","张三2");
//在一个会话内有效(浏览器内)
session.setAttribute("name3","张三3");
//在服务器内有效
application.setAttribute("name4","张三4");
%>
<%
//请求转发,前端写法
pageContext.forward("/res.jsp");
//后端写法
//request.getRequestDispatcher("/res.jsp").forward(request,response);
%>
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术