JSP零基础回顾

1、JSP

JSP 是简 Servlet 编写的一种技术, 它将 Java 代码和 HTML 语句混合在同一个文件中编写,
只对网页中的要动态产生的内容采用 Java 代码来编写,而对固定不变的静态内容采用普通静态 HTML 页面的方式编写。 

2、JSP的运行原理

JSP 本质上是一个 Servlet.

每个JSP 页面在第一次被访问时, JSP 引擎将它翻译成一个 Servlet 源程序, 接着再把这个 Servlet 源程序编译成 Servlet 的 class 类文件.
然后再由WEB容器(Servlet引擎)像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序。 

3、JSP 9隐含对象

request:HttpServletRequest 的一个对象

response:HttpServletResponse 的一个对象

pageContext:页面的上下文, 是 PageContext 的一个对象. 可以从该对象中获取到其他 8 个隐含对象. 也可以从中获取到当前路径

session:代表浏览器和服务器的一次会话, 是 HttpSession 的一个对象

application:代表当前 WEB 应用. 是 ServletContext 对象

config:当前 JSP 对应的 Servlet 的 ServletConfig 对象

out:JspWriter 对象. 调用 out.println() 可以直接把字符串打印到浏览器上

page:指向当前 JSP 对应的 Servlet 对象的引用

exception:在声明了 page 指令的 isErrorPage="true" 时, 才可以使用

<%@ page isErrorPage="true" %>

pageContext, request, session, application(对属性的作用域的范围从小到大)

4、JSP语法

JSP模版元素: JSP页面中的静态HTML内容称 

JSP表达式:提供了将一个 java 变量或表达式的计算结果输出到客户端的简化方式,<%=  %>
它将要输出的变量或表达式直接封装在<%= 和 %>之中。

JSP脚本片断:指嵌套在<% 和 %>之中的一条或多条Java程序代码。 
多个脚本片断中的代码可以相互访问。

SP注释的格式:<%-- JSP 注释 --%> <!-- HTML 注释 -->

区别: JSP 注释可以阻止 Java 代码的执行. 

5、4大域对象

pageContext:属性作用范围仅限与当前JSP页面

request:作用范围仅限于同一个请求

session:作用范围为一次会话期间

application:作为范围为当前WEB应用,只要在一处设置,在其他各处JSP或者Servlet中都可以获取到。

6、page 指令

page指令用于定义JSP页面的各种属性,无论page指令出现在JSP页面中的什么地方, 
它作用的都是整个JSP页面, 为了保持程序的可读性和遵循良好的编程习惯, page指令最好是放在整个JSP页面的起始位置。 

page 指令常用的属性: 

import 属性: 指定当前 JSP 页面对应的 Servlet 需要导入的类.   <%@page import="java.text.DateFormat"%>

session 属性: 取值为 true 或 false, 指定当前页面的 session 隐藏变量是否可用, 也可以说访问当前页面时是否一定要生成 HttpSession对象.<%@ page session="false" %>  

errorPage 属性errorPage 指定若当前页面出现错误的实际响应页面时什么. 其中 / 表示的是当前 WEB 应用的根目录. <%@ page errorPage="/error.jsp" %> ,在响应 error.jsp 时, JSP 引擎使用的请求转发的方式. 

7、include 指令

<%@ include file="b.jsp" %>

include 指令用于通知 JSP 引擎在翻译当前 JSP 页面时将其他文件中的内容合并进当前 JSP 页面转换成的 Servlet 源文件中,
这种在源文件级别进行引入的方式称之为静态引入, 当前JSP页面与静态引入的页面紧密结合为一个Servlet。

8、jsp:incluce 标签

动态引入: 并不是像 include 指令生成一个 Servlet 源文件, 而是生成两个 Servlet 源文件, 然后通过一个方法的方式把目标页面包含进来. 

9、jsp:forward

<jsp:forward page="/include/b.jsp"></jsp:forward>

相当于

<% 
    request.getRequestDispatcher("/include/b.jsp").forward(request, response);
%>

10、EL表达式

https://blog.csdn.net/meibenxiang/article/details/77900714

11、JSTL标签库

c:out:主要用于对特殊字符进行转换. 真正进行输出时

c:set:可以为域赋属性值。

c:remove:移除指定域对象的指定属性值

c:if:在页面上对现实的内容进行过滤, 可以把结果存储到域对象的属性中

注意:没有else

c:choose, c:when, c:otherwise

c:forEach

c:forTokens: 处理字符串

c:import:导入页面到当前页面的

c:redirect: 当前页面进行重定向的

c:url: 产生一个 URL 的, 可以进行 URL 重写, 变量值编码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值