JSP学习经验小结分享

JSP学习经验小结分享

本文将分享我学习JSP(JavaServer Pages)的经验,并提供一些示例说明。JSP是一种基于Java的Web开发技术,可以帮助我们创建可重用、动态的Web页面。

学习前的准备工作

在学习JSP之前,需要了解以下基本知识:

  1. HTML和CSS:JSP页面是基于HTML和CSS构建的,因此需要了解这些技术;
  2. Java基础:JSP技术本身就是基于Java的,因此必须了解Java基础知识,如语法、面向对象等;
  3. Servlet:JSP页面通常和Servlet一起使用,因此也需要了解Servlet的基础知识。

开始学习JSP

学习JSP的第一步是安装正确的开发环境,一般包括以下几个步骤:

  1. 安装Java开发工具包(JDK);
  2. 安装Servlet容器,如Tomcat、Jetty等;
  3. 安装JSP编辑器或集成开发环境(IDE),如Eclipse、IntelliJ IDEA等。

学习JSP的过程可以分为以下几个步骤:

  1. JSP基础语法:了解JSP页面的基本结构、数据类型、表达式、脚本等。以下是示例代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP示例</title>
</head>
<body>
<%
    String name = "张三";
    out.println("姓名:" + name);
%>
</body>
</html>

在JSP页面中,使用<% %>来插入Java代码,使用<%= %>来输出Java表达式的结果。

  1. JSP标准动作:了解JSP标准动作,如<jsp:include><jsp:forward><jsp:useBean>等。以下是示例代码:
<jsp:include page="header.jsp" />
<jsp:useBean id="user" class="com.example.User" scope="session" />
<p>欢迎您,<%= user.getName() %>!</p>
<jsp:forward page="footer.jsp" />

这些标准动作可以帮助我们创建可重用的页面部分,并在不同的页面中引用它们。

  1. JSP自定义标签:了解如何编写和引用JSP自定义标签。以下是示例代码:
<%@taglib prefix="my" uri="http://example.com/mytags" %>
<my:hello name="张三" />

在JSP页面中可以使用自定义标签来封装特定的功能,如表单验证、分页等。

  1. JSTL和EL:掌握JSTL和EL(表达式语言)的使用。以下是示例代码:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<p>随机数:${fn:random()}</p>
<c:forEach items="${users}" var="user">
    <p>${user.name}</p>
</c:forEach>

JSTL(JavaServer Pages Standard Tag Library)和EL提供了很多实用的标签和表达式,可以简化JSP页面的开发。

总结

学习JSP需要掌握基础知识、安装开发环境,学习JSP基础语法、JSP标准动作、JSP自定义标签、JSTL和EL等。以上是JSP学习经验小结分享,希望对大家有所帮助。

示例1:使用JSP实现简单的登录验证

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<%
    String userName = request.getParameter("userName");
    String password = request.getParameter("password");
    if ("admin".equals(userName) && "password".equals(password)) {
        session.setAttribute("userName", userName);
        response.sendRedirect("welcome.jsp");
    } else {
        out.println("用户名或密码不正确");
    }
%>
<form method="post" action="login.jsp">
    <label>用户名:</label>
    <input type="text" name="userName"><br>
    <label>密码:</label>
    <input type="password" name="password"><br>
    <button type="submit">登录</button>
</form>
</body>
</html>

示例2:使用JSTL和EL实现查询和分页功能

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户列表</title>
</head>
<body>
<form method="get" action="userList.jsp">
    <label>关键字:</label>
    <input type="text" name="keyword" value="${param.keyword}"><br>
    <button type="submit">查询</button>
</form>
<c:if test="${not empty errorMsg}">
    <p style="color: red">${errorMsg}</p>
</c:if>
<table>
    <tr>
        <th>ID</th>
        <th>姓名</th>
        <th>性别</th>
    </tr>
    <c:forEach items="${userList}" var="user">
        <tr>
            <td>${user.id}</td>
            <td>${user.name}</td>
            <td>${user.sex eq 'M' ? '男' : '女'}</td>
        </tr>
    </c:forEach>
</table>
<c:if test="${pageCount gt 1}">
    <div>
        <c:if test="${page gt 1}">
            <a href="userList.jsp?page=${page-1}&amp;keyword=${param.keyword}">上一页</a>
        </c:if>
        <c:choose>
            <c:when test="${page lt 5}">
                <c:set var="begin" value="1" />
                <c:set var="end" value="${pageCount lt 10 ? pageCount : 10}" />
            </c:when>
            <c:when test="${page lt pageCount - 4}">
                <c:set var="begin" value="${page-4}" />
                <c:set var="end" value="${page+5}" />
            </c:when>
            <c:otherwise>
                <c:set var="begin" value="${pageCount-9}" />
                <c:set var="end" value="${pageCount}" />
            </c:otherwise>
        </c:choose>
        <c:forEach begin="${begin}" end="${end}" var="i">
            <c:choose>
                <c:when test="${i eq page}">
                    <strong>${i}</strong>
                </c:when>
                <c:otherwise>
                    <a href="userList.jsp?page=${i}&amp;keyword=${param.keyword}">${i}</a>
                </c:otherwise>
            </c:choose>
        </c:forEach>
        <c:if test="${page lt pageCount}">
            <a href="userList.jsp?page=${page+1}&amp;keyword=${param.keyword}">下一页</a>
        </c:if>
    </div>
</c:if>
</body>
</html>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JSP学习经验小结分享 - Python技术站

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

相关文章

  • java实现文件变化监控的方法(推荐)

    Java实现文件变化监控的方法(推荐) 在Java开发过程中,我们可能需要监控特定文件或目录内文件的变化情况,例如监控日志文件或配置文件的变化。本攻略将介绍Java实现文件变化监控的方法。 方案1:使用Java 7中的WatchService实现文件监控 Java 7中添加了WatchService类,它可以用于监听文件系统的事件,包括文件和文件夹的创建,修…

    Java 2023年5月19日
    00
  • Android笔记之:CM9源码下载与编译的应用

    Android笔记之:CM9源码下载与编译的应用攻略 前言 本篇攻略旨在介绍如何下载和编译基于CM9的Android系统源代码,涵盖了代码下载、环境搭建、编译及常见问题解决等内容,适用于Android开发者和爱好者。 步骤一:源码下载 安装必要的软件:Git和repo。 Git是一个版本控制工具,repo是谷歌提供的用于管理大型代码库的脚本。 “`shel…

    Java 2023年5月26日
    00
  • Java Scala之面向对象

    Java Scala之面向对象:完整攻略 什么是面向对象 面向对象(Object Oriented Programming,简称OOP)是一种编程范式,主要思想是将数据和对数据的相关操作封装在一个单元中,形成对象。通过对对象的定义、组合和继承等机制实现程序的可扩展性、灵活性和可维护性。 面向对象的三大特征 封装(Encapsulation) 封装就是将程序中…

    Java 2023年5月26日
    00
  • springboot拦截器过滤token,并返回结果及异常处理操作

    下面我将为你详细讲解如何使用Spring Boot实现拦截器过滤Token并返回结果及异常处理操作。 什么是拦截器及Token认证 在Spring Boot中,拦截器是一种非常常用的组件,它可以拦截请求,进行一些处理,并执行相应的操作。Token认证是指在用户登录成功后,服务器会生成一个Token并返回给客户端,客户端在以后的请求中携带这个Token用于鉴权…

    Java 2023年5月19日
    00
  • 一文带你吃透JSP增删改查实战案例详细解读

    一文带你吃透JSP增删改查实战案例详细解读 概述 本文将介绍JSP的增删改查实战案例,包含如下内容: 数据库的创建与数据表的设计 JSP页面的开发 Servlet的编写 实现增删改查功能 数据库的创建与数据表的设计 在本案例中,我们将以MySQL数据库为例进行数据库的创建和数据表的设计,具体步骤如下: 创建数据库 打开MySQL客户端,输入以下命令创建一个名…

    Java 2023年6月15日
    00
  • IntelliJ IDEA编译项目报错 “xxx包不存在” 或 “找不到符号”

    下面是 Intellj IDEA 编译项目报错 “xxx包不存在” 或 “找不到符号” 的完整攻略: 1. 确认依赖包已存在 首先,这种报错通常是因为项目所依赖的某个包没有被正确引入或者被 IntelliJ IDEA 项目正确识别,所以我们需要确认所依赖的包已经存在且被正确引入。这个可以通过以下步骤来进行检查: 确认依赖项列表中是否存在该包。可以在 Inte…

    Java 2023年5月26日
    00
  • Java统计代码的执行时间的N种方法

    Java 统计代码执行时间的方法有很多,不同情况下适用不同的方法。下面是几种常见的方法: 1. System.currentTimeMillis() 使用 System.currentTimeMillis() 可以获取从1970年1月1日 00:00:00 GMT 开始,到当前时间经过的毫秒数。我们可以分别在代码执行前和执行后获取时间戳,然后计算差值,即可得…

    Java 2023年5月20日
    00
  • Java中的PrintWriter 介绍_动力节点Java学院整理

    Java中的PrintWriter是一种方便输出文本内容到文件或控制台的工具。下面我们将详细介绍PrintWriter的使用方法。 PrintWriter的构造函数 PrintWriter的构造函数可以接受多种参数,如下所示: PrintWriter(File file):使用指定的文件创建PrintWriter对象。 PrintWriter(OutputS…

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