JSP经典学习笔记(包含各种入门常用语法)

JSP经典学习笔记攻略

JSP即Java Server Pages,是一种基于 Java 技术的Web应用程序开发技术。它允许开发者在网页中嵌入 Java 代码片段,实现与动态数据交互的功能。本篇攻略将包括以下几个部分:

  1. JSP基础语法
  2. JSP内置对象
  3. JSP标准标签库
  4. 两条示例说明

JSP基础语法

JSP文件结构

在JSP文件中,可以使用HTML标记和Java代码片段,代码片段需要使用 <% %> 标记进行包裹。以下是一个典型的JSP文件结构:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <title>JSP Example</title>
</head>
<body>
    <h1>Welcome to JSP World!</h1>
    <%
        // Java代码片段
        String name = "JSP";
        out.print("Hello, " + name);
    %>
</body>
</html>

JSP指令和指令属性

JSP指令使用 <%@ %> 标记进行包裹,包含了JSP页面的指令和属性。以下是两个最常用的指令:

page指令

<%@ page %> 指令定义JSP中的页面属性。以下是一些常见的页面属性:

<%@ page language="java" %>  // 指定JSP文件的脚本语言为Java
<%@ page contentType="text/html; charset=UTF-8" %>  // 指定页面的编码格式为UTF-8
<%@ page import="java.util.Date" %>  // 导入Java类库
<%@ page session="false" %>  // 禁用Session

include指令

<%@ include %> 指令包含另一个JSP文件或HTML文件。以下是使用include指令包含页面头文件的示例:

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

JSP脚本和表达式

JSP脚本使用 <% %> 标记进行包裹,Java代码片段可以在其中执行。以下是一个简单的脚本示例:

<%
    String name = "JSP";
    out.print("Hello, " + name);
%>

JSP表达式使用 <%= %> 标记进行包裹,它会将表达式的结果输出到网页中。以下是一个简单的表达式示例:

<%= "Hello, JSP" %>

JSP内置对象

JSP内置对象是在JSP页面中自动创建的一些Java对象,可以在JSP页面中直接使用。以下是一些常用的JSP内置对象:

request

request 内置对象代表HTTP请求,可以获取请求中的参数和属性。以下是一些常见的request方法:

<%
    String username = request.getParameter("username");  // 获取请求参数
    request.setAttribute("name", "JSP");  // 设置请求属性
%>

response

response 内置对象代表HTTP响应,可以设置响应头和内容。以下是一些常见的response方法:

<%
    response.setContentType("text/html; charset=UTF-8");  // 设置响应内容类型为HTML
    response.getWriter().print("Hello, JSP!");  // 输出响应内容
%>

out

out 内置对象可以将文本输出到网页中。以下是一个简单的示例:

<%
    out.print("Hello, JSP!");
%>

session

session 内置对象代表用户的会话,可以在用户会话期间持续存储数据。以下是一些常见的session方法:

<%
    session.setAttribute("name", "JSP");  // 设置Session属性
    String name = (String) session.getAttribute("name");  // 获取Session属性
%>

application

application 内置对象代表应用程序,可以在整个应用程序中持续存储数据。以下是一些常见的application方法:

<%
    application.setAttribute("name", "JSP");  // 设置应用属性
    String name = (String) application.getAttribute("name");  // 获取应用属性
%>

JSP标准标签库

JSP标准标签库(JSTL)是一组JSP内置标签,可以用于实现复杂的逻辑和数据处理。以下是一些常用的JSTL标签:

c:if

c:if 标签可以根据条件判断是否输出特定的内容。以下是一个简单的示例:

<c:if test="${age < 18}">
    <p>You are not old enough to vote.</p>
</c:if>

c:forEach

c:forEach 标签用于循环遍历数据。以下是一个简单的示例:

<c:forEach var="item" items="${items}">
    <p>${item.name}: ${item.price}</p>
</c:forEach>

c:set

c:set 标签用于设置变量的值。以下是一个简单的示例:

<c:set var="name" value="JSP" />

两条示例说明

示例一:用户登录页面

以下是一个简单的用户登录页面,用户输入用户名和密码后,提交表单,后台使用Java代码进行验证:

<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<html>
<head>
    <title>Login Page</title>
</head>
<body>
    <h1>Login Page</h1>
    <%
        // 处理表单提交
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        if (username != null && password != null && username.equals("admin") && password.equals("123456")) {
            session.setAttribute("username", username);
            response.sendRedirect("home.jsp");
            return;
        }
    %>
    <%-- 显示登录表单 --%>
    <form method="post">
        <label>Username:</label>
        <input type="text" name="username" />
        <br />
        <label>Password:</label>
        <input type="password" name="password" />
        <br />
        <input type="submit" value="Login" />
    </form>
</body>
</html>

示例二:商品列表页面

以下是一个简单的商品列表页面,使用JSTL标签库循环遍历商品列表:

<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
    // 生成商品列表
    List<Map<String, Object>> items = new ArrayList<>();
    Map<String, Object> item1 = new HashMap<>();
    item1.put("name", "Apple");
    item1.put("price", 2.5);
    items.add(item1);
    Map<String, Object> item2 = new HashMap<>();
    item2.put("name", "Banana");
    item2.put("price", 1.8);
    items.add(item2);
%>
<html>
<head>
    <title>Items Page</title>
</head>
<body>
    <h1>Items Page</h1>
    <c:forEach var="item" items="${items}">
        <p>${item.name}: ${item.price}</p>
    </c:forEach>
</body>
</html>

以上就是JSP经典学习笔记的完整攻略,涵盖了JSP基础语法、内置对象和JSTL标签库。使用这些知识,您可以快速构建动态Web应用程序。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JSP经典学习笔记(包含各种入门常用语法) - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • 一文带你深入了解Java泛型

    一文带你深入了解Java泛型 什么是Java泛型? Java泛型是Java提供的一个强大的工具,它允许我们在编写代码的时候指定类型参数,从而可以在编译时检测类型安全性,避免了许多运行时错误。另外,通过使用泛型,我们还可以编写更加通用、灵活的代码。Java泛型最早出现在JDK1.5版本中,是Java语言中的一个重要特性。 泛型类和泛型接口 Java泛型既可以应…

    Java 2023年5月26日
    00
  • SpringMVC中Controller类数据响应的方法

    下面是SpringMVC中Controller类数据响应的方法的完整攻略。 什么是Controller Controller负责处理来自用户的请求,并将处理结果返回给用户。在SpringMVC中,Controller是一个Java类,并使用@Controller注解来标识。 Controller类数据响应的方法 在Controller中,数据响应的方法有很多…

    Java 2023年6月15日
    00
  • java中方法递归的简单示例

    下面是讲解“java中方法递归的简单示例”的攻略。 什么是方法递归 方法递归是指在一个方法方法体内调用自身的过程。当方法被递归调用时,程序将重复执行该方法,直到满足退出递归调用的条件为止。 如何使用方法递归 为了使用方法递归,需要将方法定义为递归方法。递归方法通常具有以下特点: 递归方法必须调用自身。 递归方法必须具有一个退出递归的条件。 下面是两个简单的示…

    Java 2023年5月26日
    00
  • 什么是对象的创建过程?

    以下是关于“什么是对象的创建过程?”的完整使用攻略: 1. 对象的创建过程 在Java中,对象的创建过程包括以下几个步骤: 类加载:在Java程序运行时,JVM会将类的字节码加载到内存中,并对类进行解析和验证。 分配内存:在类加载完成后,JVM会在堆内存中为对象配一块连续的内存空间。在分配内存时,JVM会根据对象的大小和内存分配策略来确定内存分配方式。 初始…

    Java 2023年5月12日
    00
  • jsp中点击图片弹出文件上传界面及实现预览实例详解

    本文将会详细讲解“jsp中点击图片弹出文件上传界面及实现预览实例详解”的完整攻略。该攻略主要分为两个步骤:实现图片点击上传以及实现图片预览。下面我将分别讲解这两个步骤的具体实现。 实现图片点击上传 对于实现图片点击上传,我们需要用到一个比较流行的JS插件:webuploader。具体实现步骤如下: 1. 引入webuploader库 在jsp页面中引入web…

    Java 2023年6月15日
    00
  • Spring Boot外部化配置实战解析

    SpringBoot外部化配置实战解析 SpringBoot是一个非常流行的Java Web框架,它可以帮助我们快速构建Web应用程序。在实际开发中,我们通常需要将一些配置信息从代码中分离出来,以便于在不同的环境中进行配置。本文将详细讲解SpringBoot外部化配置实战解析的完整攻略,并提供两个示例。 1. 配置文件 在SpringBoot中,我们可以使用…

    Java 2023年5月15日
    00
  • SpringMVC自定义拦截器实现过程详解

    下面是SpringMVC自定义拦截器实现的详细攻略。 什么是拦截器? 拦截器(Interceptor)是SpringMVC框架提供的用于处理请求的一种机制。拦截器在处理请求的过程中,可以在Controller之前或之后执行一些共同的操作,如记录日志、检查用户权限、对请求参数进行统一预处理等等。拦截器类似于Servlet的过滤器(Filter),不同的是拦截器…

    Java 2023年5月16日
    00
  • java实现列表、集合与数组之间转化的方法

    关于Java实现列表、集合与数组间的转化,我们可以采用Java API中提供的相关类库来实现。Java程序员常用的类库主要为java.util包下的ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等。 下面,我将详细讲解Java实现列表、集合与数组间的转化的方法。 列表转化为数组 ArrayList -…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部