04-JSP

JSP

介绍

Java Sever Pages:java服务端页面,也和Servlet一样用于开发web动态技术

特点

写jsp就像再写HTML

与HTML的区别

  • HTML只给用户提供静态的数据
  • JSP页面中可以嵌入JAVA代码,为用户提供动态数据

原理

tomcat有一个work目录,IDEA使用tomcat的话,IDEA的tomcat会生成一个work目录。

浏览器向服务器发送请求,不管访问什么资源,其实都是在访问servlet

JSP最终也会被转换为Java类

JSP本质上就是一个servlet

在这里插入图片描述

  1. 判断请求

  2. 内置了一些对象

    在这里插入图片描述

  3. 输出页面前增加的代码

    在这里插入图片描述

  4. 以上的这些个对象我们可以在JSP页面中直接使用

    在这里插入图片描述

在JSP页面中只要是java代码就会原封不动的输出,如果是HTML代码就会转换为

out.write("name:")

基础语法

JSP作为Java技术的一种应用,它拥有自己一些扩充的语法。它支持Java的所有语法

jsp表达式

<%--jsp表达式
作用:用来将程序的输出,输出到客户端
格式:<%=变量或者表达式%>
--%>
<%=new java.util.Date()%>

jsp脚本片段

<%--jsp脚本片段--%>
<%
    int sum=0;
    for (int i = 0; i < 100; i++) {
        sum+=i;
    }
    out.println("<h1>sum="+sum+"</h1>");
%>

在代码嵌入HTML元素

<%--java代码和html元素互相嵌套--%>
<%
    for (int i = 0; i < 3; i++) {
%>
<a>hello<%=name%></a>
<%
    }
%>

JSP声明

<%--jsp声明--%>
<%!
    static{
    System.out.println("欢迎来到德莱世界");
    }
    public void hello(){
        System.out.println("h欢迎来到freedom世界!");
    }
%>

JSP声明:会被编译到jsp生成的Java的类中。其他的,就会被生成到jsp_service方法中

注释

在这里插入图片描述

JSP的注释,不会再客户端显示,HTML会在客户端显示

JSP指令

定制错误页面

<%--定制错误页面--%>
<%@ page errorPage="地址"%> 

webxml定制错误页面

<error-page>
        <error-code>404</error-code>
        <location>地址</location>
    </error-page>

JSP脚本:提取公共页面

会将引入页面和当前页面合二为一

<%@include file="地址"%>

JSP标签:提取公共页面

相当于在拼接页面

在这里插入图片描述

9大内置对象

  • pagecontext 存东西
  • request 存东西
  • response
  • session 存东西
  • application 存东西
  • config
  • out
  • page
  • exception

pagecontext

<%--内置对象--%>
<%
    pageContext.setAttribute("name1","hh");//保存的数据只在一个页面中有效
    request.setAttribute("name2","hhh");//保存的数据只在一次请求中有效,请求转发会携带这个数据
    application.setAttribute("name3","hhhh");//保存的数据只在服务器中有效,从打开服务器到关闭服务器
    session.setAttribute("name4","hhhhh");//保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
%>
<%
//取出属性
    String  name1 =(String ) pageContext.findAttribute("name1");
    String  name2 = (String) pageContext.findAttribute("name2");
    String  name3 =(String ) pageContext.findAttribute("name3");
    String  name4 =(String ) pageContext.findAttribute("name4");
%>
<%--显示属性的值--%>
name1:${name1}<br>
name2:${name2}<br>
name3:${name3}<br>
name4:${name4}<br>
name5:${name5}<br>

request:客户端向服务器发送请求,产生的数据,用户看完就没用了。

session:客户端向服务器发送请求,产生的数据,用户用完一会儿还能用

application:客户端向服务器发送请求,产生的数据,一个用户用完了,其他用户还可能使用

jsp标签、jstl标签、el表达式

jsp标签

页面跳转

<jsp:forward page="/jps2.jsp">
    <jsp:param name="name" value="hh"/>//参数
    <jsp:param name="age" value="18"/>
</jsp:forward>

EL表达式(${})、

  • 获取数据
  • 执行运算
  • 获取web开发的常用对象

在这里插入图片描述

JSTL标签

JSTL标签库的使用就是为了弥补HTML的不足:他自定义许多标签,可以供我们使用,标签的功能和Java代码功能一样

核心标签

导入核心库在tomcat也需要引入JSTL的包否则会报错

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

格式化标签

SQL标签

XML标签

JSTL标签库的使用步骤

  • 引入对应的taglib
  • 使用其中的方法

猜你喜欢

转载自blog.csdn.net/qq_52117201/article/details/129401193
04
jsp