前端进阶学习 -- 第三章 -- JavaWeb核心/JSP核心技术*


博客说明

文章内容输出来源:拉勾教育Java就业急训营

JSP的概念

  • JSP是Java Server Pages的简称,跟Servlet一样可以动态生成HTML响应, JSP文件命名为
    xxx.jsp。
  • 与Servlet不同
    Servlet以Java标记为主,然后内嵌HTML代码段
    JSP文件以HTML标记为主,然后内嵌Java代码段,用于处理动态内容。
  • JSP用于弥补Servlet不能/不便于发送大量内容的不足

JSP的示例

<%@ page import="java.util.Date" %> 
<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<html> 
	<head> 
		<title>Hello Time</title> 
	</head> 
	<body> 
		现在的时间是:<%= new Date()%> 
	</body> 
</html>

JSP与Servlet的关系

在这里插入图片描述

创建JSP

在这里插入图片描述

JSP语法结构(熟悉)

  • 1.声明区
  • 2.程序代码区
  • 3.表达式
  • 4.注释
  • 5.指令和动作
  • 6.内置对象

声明区

说明:可以定义全局变量、方法、类。

基本语法:<%!   %>

<%! 
	int i; 
	public void setName(){… …} 
%>

程序代码区

说明:可以定义局部变量以及放入任何的Java程序代码。

基本语法:<%程序代码区%>

<% 
	int j; 
	for (int k=0; k<10; k++) { 
		… … 
	} 
%>

表达式

说明:可以输出一个变量或一个具体内容,但=后面必须是字符串变量或者可以被转换成字符串的
表达式。
注意:不需要以;结束,只有一行

基本语法:<%=… …%>

<%=“hello world”%> 
<%=i+1%>

案例题目

使用for循环输出一个html语言的表格,具体表头如下:

idnameagesalary
1111
2222
5555
<%--
  Created by IntelliJ IDEA.
  User: ganmaoyu
  Date: 2021/3/31
  Time: 16:33
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>实现表格的输出</title>
</head>
<body>
<table>
    <tr>
        <td>id</td>
        <td>name</td>
        <td>age</td>
        <td>salary</td>
    </tr>
    
    <%-- 使用for循环打印数据 --%>
    <%
        for (int i=1;i<6;i++){            ←循环头
    %>
        <tr>
            <td> <%=i%> </td>			  ←循环体
            <td> <%=i%> </td>
            <td> <%=i%> </td>
            <td> <%=i%> </td>
        </tr>
    <%
        }								  ←结尾括号
    %>
</table>
</body>
</html>

使用上面三个语法简单使用一下

<%--
  Created by IntelliJ IDEA.
  User: ganmaoyu
  Date: 2021/3/31
  Time: 16:14
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>测试变量的声明与打印</title>

    <%--  声明区:全局变量  --%>
    <%!
        int ia; // 这是一个全局变量

        public void show() {
            System.out.println("这里是全局方法...");
        }

        public class MyClass {
            {
                System.out.println("这是全局类...");
            }
        }
    %>

    <%--  程序代码区  --%>
    <%
        int ib = 20; //这个一个局部变量

        for (int i = 0; i < ib; i++) {
            System.out.println("程序代码区可以定义局部变量以及放入任何的Java程序代码");
        }
    %>
</head>
<body>
    <%--表达式--%>
    <%= ia + 1%>
    <%= ib%>
    <%= "这里也可以输出文本"%>
</body>
</html>

注释

格式: 
<!-- …… --> HTML文件的注释,浏览器可以查看到 
<%-- …… --%> JSP文件的注释,浏览器看不到 
<%// …… %> Java语言中的单行注释,浏览器看不到 
<%/* …… */%> Java语言中的多行注释,浏览器看不到 
注释的内容不会被执行

在这里插入图片描述

指令和动作

  • 指令格式:
    <%@指令 属性=“属性值”%>
  • 指令的属性可以设定多个。
  • JSP常用指令有:page、taglib、include

page指令

page指令用于导包和设置一些页面属性,常用属性如下:
在这里插入图片描述

<%@ page import="java.util.List" %>
<%@ page import="java.util.LinkedList" %>
<%--
  Created by IntelliJ IDEA.
  User: ganmaoyu
  Date: 2021/3/31
  Time: 16:53
  To change this template use File | Settings | File Templates.
--%>

<%--  测试page指令中的contentType、language、pageEncoding  --%>
<%--@ page contentType="text/html;charset=UTF-8" language="java" --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>

<html>
<head>
    <title>page指令的使用</title>
</head>
<body>
    <%
        <%-- 测试page指令中的import属性:效果最上面的import --%>
        List<String> list = new LinkedList<String>();
    %>
</body>
</html>

taglib指令

taglib指令用来扩展JSP程序的标签元素,引入其他功能的标签库文件
在这里插入图片描述

include指令

  • include指令用于引入另一个JSP程序或HTML文件等,格式如下:
    静态:↑在这里插入图片描述
  • JSP引擎会在JSP文件的转换时期先把file属性设定的文件包含进来,然后开始执行转换及编译的工
    作。
jsp:include/jsp:param(动态)
  • jsp:include动作用于引入另一个JSP程序或HTML文件等。
  • 执行到include时,被include的文件才会被编译。
  • 如果include的是jsp文件,那它不会被转换成Servlet文件。
    在这里插入图片描述
<%-- 表示包含或引入head.jsp文件 include指令的方式  静态包含--%>
<%@ include file="head.jsp"%>

<%-- include动作的方式  动态包含 推荐 --%>
<jsp:include page="head.jsp"></jsp:include>
include指令和include动作的区别
  • include指令是在JSP程序的转换时期就将file属性所指定的程序内容嵌入再编译执行(静态包
    含)。
  • include动作在转换时期是不会被编译的,只有在客户端请求时期被执行到才会被动态的编译载入
    (动态包含,推荐)。

JSP文件转发:jsp:forward/jsp:param

forward动作用于在JSP中实现转发,将请求转发到另一个指定的JSP程序或者Servlet中处理。
在这里插入图片描述

<%--
  Created by IntelliJ IDEA.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>JSP页面的转发实现</title>
</head>
<body>
<%-- target.jsp:转发的目标文件 --%>
<jsp:forward page="target.jsp">
    <jsp:param name="name" value="zhangfei"/>
</jsp:forward>
</body>
</html>

JSP内置对象(重点)

  • 在JSP程序中有9个内置对象由容器为用户进行实例化,程序员可以不用定义就直接使用这些变量。
  • 在JSP转换成Servlet后,会自动追加这些变量的定义,使用内置对象可以简化JSP的开发。

对象名称

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值