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日

相关文章

  • Mybatis如何配置连接池

    MyBatis可以通过配置连接池来提高数据库操作的性能,下面是配置连接池的详细攻略: 步骤1:添加连接池依赖 在pom.xml文件中添加对连接池的依赖,例如: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId…

    Java 2023年5月20日
    00
  • Tomcat+JDK安装和配置教程

    下面是Tomcat+JDK安装和配置教程的完整攻略: 1. 下载JDK和Tomcat 首先需要下载JDK和Tomcat。可以在以下官网下载: JDK下载页面:https://www.oracle.com/java/technologies/javase-downloads.html Tomcat下载页面:https://tomcat.apache.org/d…

    Java 2023年6月2日
    00
  • JAVA复制数组和重置数组大小操作

    JAVA复制数组操作 1. System.arraycopy() 该方法可以用来复制一个数组到另一个数组。 语法: public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) src:源数组 srcPos:源数组起始位置 dest:目标数…

    Java 2023年5月26日
    00
  • Nacos源码之注册中心的实现详解

    Nacos源码之注册中心的实现详解 Nacos 是一个开源的分布式系统服务发现、配置管理和服务管理平台,具有高度可扩展性和强一致性。 在 Nacos 中,注册中心是其核心组件之一,本文将详细讲解 Nacos 的注册中心实现原理及其源码解析。 注册中心的作用 在分布式系统中,服务提供者需要将自己的服务注册到注册中心,以便服务消费者可以通过注册中心获取服务提供者…

    Java 2023年6月15日
    00
  • 如何用idea数据库编写快递e站

    如何用IDEA数据库编写快递E站的完整攻略: 安装数据库和IDEA 首先需要安装数据库和IDEA,常用的数据库有MySQL和PostgreSQL。使用过程中也需要安装相应的驱动程序。如果你使用的是Maven或Gradle等构建工具,那么你可以在配置文件中添加相应的依赖项,自动下载驱动程序。 创建数据库和表格 在IDEA中连接到数据库服务器,创建一个新的数据库…

    Java 2023年5月20日
    00
  • Java并行执行任务的几种方案小结

    Java并行执行任务的几种方案小结 在Java领域,多线程是一种非常常见的处理并发任务的方式。但是,多线程在并发处理能力以及代码设计方式上存在一些限制和挑战。近年来,随着Java语言的发展和并发编程框架的增多,人们有了许多新的方法来在Java中并行执行任务。本文将讲述Java并行执行任务的几种方案,以及在实际使用中的注意事项。 传统的多线程 在Java中使用…

    Java 2023年5月18日
    00
  • hadoop运行java程序(jar包)并运行时动态指定参数

    运行Java程序(JAR包)是Hadoop处理数据的一部分。在本文中,将介绍如何在Hadoop上动态指定参数以运行Java程序。 步骤 1:创建Java工程 创建一个Java工程,编写Hadoop程序,并将其打包成JAR文件。 步骤 2:编写程序的入口类 在Java工程中,我们应该有一个Main类作为程序的入口。在Main类中,需要使用Hadoop提供的To…

    Java 2023年5月26日
    00
  • spring boot(一)之入门篇

    下面是关于“springboot(一)之入门篇”的完整攻略,分为以下几个部分: 一、什么是Spring Boot? Spring Boot 是一个用来简化 Spring 应用的搭建和开发的框架,是Spring Framework的一个扩展。通过Spring Boot,可以快速创建一个独立、运行的 Spring 应用程序,并且可以以最小的配置开发 Spring…

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