大家好,这里是果力成,在Javaweb学习中不可避免的要遇到Jsp,老习惯,多做总结,希望能给到你帮助.话不多说,学之!
Jsp(java server pages)
Jsp介绍
(Java Server Pages):java服务器页面
- 可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们
- JSP技术以Java语言作为脚本语言
- 优点:在原有的 html 的基础上添加 java 脚本,构成 jsp 页面。
Jsp 的组成
Jsp =html+Java 脚本+jsp 标签(指令)
Jsp原理
所在地址:
C:\Users\Administrator\.IntelliJIdea2019.3\system\tomcat\Unnamed_javaweb_session_cookie\work\Catalina\localhost\ROOT\org\apache\jsp
浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet |
Jsp 其实是一种特殊的 Servlet
- 当isp 页面第一次被访问时,服务器会把 jsp 编译成 java 文件(这个 java 其实是一个servlet 类)
- 然后再把 java 编译成 .class
- 然后创建该类对象
- 最后调用它的 service()方 法
- 第二次请求同一 jsp 时,直接调用 service() 方法。
JSP基础语法
- JSP表达式
<%= 表达式 %>
<%--作用:用来将程序的输出,输出到客户端--%>
<%=new java.util.Date()%>
- JSP脚本片段
<% 代码片段 %>
<%
int sum=0;
for (int i = 0; i < 100 ; i++) {
sum+=i;
}
out.println("<h1>sum="+sum+"</h1>");
%>
- JSP声明的语法格式
<%! declaration; [ declaration; ]+ ... %>
<%! int i = 0; %>
<%! int a, b, c; %>
<%! Circle a = new Circle(2.0); %>
- JSP注释的语法格式
<%-- 该部分注释在网页中不会被显示--%>
<%--......--%>当服务器把 jsp 编译成 Java 文件已经忽略了注释部分!
<!----aaabbbccc---> html 注释 翻译成.Java也是存在的,也会送到客户端浏览器,只是浏览器不显示
- JSP指令语法格式:
<%@ directive attribute="value" %>
指令 | 描述 |
---|---|
<%@ page … %> | 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等 |
<%@ include … %> | 包含其他文件 |
<%@ taglib … %> | 引入标签库的定义,可以是自定义标签 |
<!-- 它是jsp 指令,也是一种特殊的标签-->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
- JSP行为
行为标签只有一种语法格式,它严格遵守XML标准:
<jsp:action_name attribute="value" />
JSP9大内置对象
jsp 中无需创建即可使用的对象一共有 9 个,被称之为 9 大内置对象。
-
request
扫描二维码关注公众号,回复: 14125533 查看本文章 -
response
-
session
-
application
-
out
-
pageContext
-
config
-
page(不用了解)
-
exception。
<%--内置对象--%>
<%
pageContext.setAttribute("name1","小白");
request.setAttribute("name2","小红");
session.setAttribute("name3","小黄");
application.setAttribute("name4","小黑");
%>
JSP标签
<%--跳转到jsptag2--%>
<%-- 转发也可以传参 --%>
<jsp:forward page="/jsptag2.jsp">
<jsp:param name="name" value="guolicheng"></jsp:param>
<jsp:param name="age" value="20"></jsp:param>
</jsp:forward>