目录
一、JSP的介绍
二、JSP的本质

三、JSP的常用脚本
1.声明脚本
格式:<%! java代码 %>
作用:可以写java代码
特点:不会再浏览器的页面中显示出来,仅存在于翻译后的java类中
<%--1.声明类属性--%> <%! private String name; private static Map
map; %> <%--2.声明类方法--%> <%! public int sum() { return 12; } %> <%--3.声明静态代码块--%> <%! static { map = new HashMap
(); map.put("key1", "value1"); } %> —————————
对应的翻译后的java源文件:

2.表达式脚本
<%=22 %>
<%="可以输出字符串" %>
<%=map %>
<%--使用_jspService方法中的对象--%> <%=request.getParameter("username") %>

3. 代码脚本
<%--1.if语句--%> <% int i = 1; if (i == 1) { System.out.println("我爱祖国!"); } else { System.out.println("我很爱祖国!"); } %>
<%--2.for循环语句--%> <% for (int j = 0 ; j < 3; j++) { System.out.println("第" + j + "次循环"); } %>
<%--3.使用_jspService方法参数中的对象--%> <% String username = request.getParameter("username"); System.out.println("username对应的值为:" + username); %>

4、JSP九大内置对象
request:请求对象
response:响应对象
pageContext:JSP的上下文对象
session:会话对象
application:ServletContext对象
config:ServletConfig对象
out:JSP输出流对象
page:指向当前JSP的对象
exception:异常对象
5、 jsp四大域对象

域对象是指可以像Map一样存取数据的对象,四个域对象功能一样,只是对数据的存取范围不同
代码演示1:四个域对象存取数据的范围的不同(在web目录下创建scope1.jsp)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
scope1 scope1.jsp页面
<% //向四个域对象中分别保存数据 pageContext.setAttribute("key", "pageContext"); request.setAttribute("key", "request"); session.setAttribute("key", "session"); application.setAttribute("key", "application"); %> <%--
是请求转发标签, page属性设置请求转发的路径 --%>
代码演示2:在web目录下创建scope2.jsp
Title scope2.jsp页面
<%-- JSP页面中不加任何标签直接输入的内容被write方法输出在浏览器的页面上 --%> pageContext域是否有值:<%=pageContext.getAttribute("key")%>
request域是否有值:<%=request.getAttribute("key")%>
session域是否有值:<%=session.getAttribute("key")%>
application域是否有值:<%=application.getAttribute("key")%>
运行结果2:

注意:若四个域对象在使用时范围都可满足要求,则使用的优先顺序是(范围从小到大):
pageContext –> request –> session –> application
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222857.html原文链接:https://javaforall.net
