IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 【JavaWeb】Jsp(Jsp基础) -> 正文阅读

[Java知识库]【JavaWeb】Jsp(Jsp基础)

1.Jsp概述

JSP全称Java Server Pages,是一种动态网页开发技术。可以代替Servlet回传html数据页面。

2.访问Jsp页面

在这里插入图片描述

3.Jsp头部的指令

JSP指令用来设置整个JSP页面相关的属性。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

三种指令标签

指令作用
<%@ page … %>定义网页依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include … %>包含其他文件
<%@ taglib … %>引入标签库的定义

Page指令相关属性

属性描述
language表示jsp翻译后是什么语言文件,目前只支持Java
contentType表示jsp返回的数据类型是什么
pageEncoding表示当前jsp页面文件本身的字符集
import导入要使用的Java类
autoFlush控制out对象的 缓存区
buffer指定out对象使用缓冲区的大小
errorPage指定当JSP页面发生异常时需要转向的错误处理页面
isErrorPage指定当前页面是否可以作为另一个JSP页面的错误处理页面
session设置访问当前页面是否会创建HttpSession对象,默认为true
extends指定servlet从哪一个类继承

4.脚本

4.1声明脚本

<%! 声明java代码 %>

作用:可以给jsp翻译出来的java类定义属性,方法,静态代码块等。

  • 声明类属性
  • 声明static静态代码块
  • 声明类方法
  • 声明内部类
<body>
    <%!
        private Integer id;
        private String name;
        private static Map<String, Object> map;
    %>
    <%!
        static {
            map = new HashMap<String, Object>();
            map.put("key1", "value1");
            map.put("key2", "value2");
            map.put("key3", "value3");
            map.put("key4", "value4");
            map.put("key5", "value5");
        }
    %>
    <%!
        public int method(){
            return 1;
        }
    %>
</body>

4.2表达式脚本

<%= 表达式 %>

作用:在jsp页面上输出数据。

  • 输出整形
  • 输出浮点型
  • 输出字符串
  • 输出对象
<%--
  Created by IntelliJ IDEA.
  User: 北极星
  Date: 2021/8/8
  Time: 16:09
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>project2</title>
</head>
<body>
    <%= 2 %><br/>
    <%= 2.1 %><br/>
    <%= "abc" %><br/>
    <%= request.getParameter("username")%>
</body>
</html>

导航栏地址,注意?后面给username给一个参数helloWorld

http://localhost:8080/jsp/project2.jsp?username=helloWorld

在这里插入图片描述

4.3代码脚本

<% java语句 %>

作用:在jsp页面中,编写我们自己的程序。

5.Jsp中的三种注释

  • html注释
<!--html注释-->
  • java注释
// 单行注释

/* 
多行注释
*/
  • jsp注释
<!--jsp注释-->

6.Jsp九大内置对象

jsp内置对象是指,Tomcat服务器在翻译jsp页面成为Servlet源码后,内部提供的九大对象,叫做内置对象。

对象说明
request请求对象
response响应对象
pageContextjsp的上下文对象
session会话对象
applicationServletContext对象
configServletConfig对象
outjsp输出流对象
page指向当前jsp对象
exception异常对象

7.jsp四大域对象

在这里插入图片描述

8.out和response输出的区别

<body>
    <%
        out.write("out输出1<br/>");
        out.write("out输出2<br/>");
        response.getWriter().write("response输出1<br/>");
        response.getWriter().write("response输出2<br/>");
    %>
</body>

在这里插入图片描述
在这里插入图片描述
当jsp页面中所有的代码执行完成后会执行以下两个操作:
(1)执行out.flush(),将out缓冲区中的所有数据追加到response缓冲区中。
(2)执行response的刷新操作,将数据全部写到客户端。

9.静态包含

在这里插入图片描述

main.jsp

<%--
  Created by IntelliJ IDEA.
  User: 北极星
  Date: 2021/8/8
  Time: 19:25
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>main</title>
</head>
<body>
    头部信息<br/>
    主体信息<br/>
    <%@ include file="/include/footer.jsp" %>
</body>
</html>

footer.jsp

<%--
  Created by IntelliJ IDEA.
  User: 北极星
  Date: 2021/8/8
  Time: 19:25
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>foot</title>
</head>
<body>
    脚页信息<br/>
</body>
</html>

在这里插入图片描述
特点:

  • 静态包含不会翻译被包含的jsp页面。
  • 静态包含使之上是把被包含的jsp页面代码拷贝到包含的页面。

10.动态包含

main.jsp

<%--
  Created by IntelliJ IDEA.
  User: 北极星
  Date: 2021/8/8
  Time: 19:25
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>main</title>
</head>
<body>
    头部信息<br/>
    主体信息<br/>
    <%--<%@ include file="/include/footer.jsp" %>--%>
    <jsp:include page="/include/footer.jsp">
        <jsp:param name="username" value="xiaoming"/>
        <jsp:param name="password" value="123456"/>
    </jsp:include>
</body>
</html>

footer.jsp

<%--
  Created by IntelliJ IDEA.
  User: 北极星
  Date: 2021/8/8
  Time: 19:25
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>foot</title>
</head>
<body>
    <%=request.getParameter("username")%><br/>
    <%=request.getParameter("password")%><br/>
    脚页信息<br/>
</body>
</html>

在这里插入图片描述

在这里插入图片描述
特点:

  • 动态包含的页面也翻译成java代码

  • 底层使用JspRuntimeLibrary.include(request, response, "/include/footer.jsp", out, false);去调用包含的jsp页面。

  • 动态包含可以传递参数

11.请求转发

<jsp:forward page="/main.jsp"><jsp:forward>

使用实例:

在这里插入图片描述

12.Listener监听器

在这里插入图片描述

ServletContextListener监听器

作用:可以监听ServletContext对象的创建和销毁。

MyServletContextListener.java

package com.sdnu.servlet;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class MyServletContextListener implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent servletContextEvent) {
        System.out.println("对象被创建");
    }

    @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {
        System.out.println("对象被销毁");
    }
}

web.xml配置如下:

<listener>
        <listener-class>com.sdnu.servlet.MyServletContextListener</listener-class>
 </listener>

在这里插入图片描述

作者:Beyong    
出处:Beyong博客
github地址:https://github.com/beyong2019

本博客中未标明转载的文章归作者Beyong有,欢迎转载,但未经作者同意必须保留此段声明,且在文章明显位置给出原文连接,否则保留追究法律责任的权利。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:06:43  更:2021-08-09 10:07:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/10 12:41:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码