JavaWeb教程2:JSP编程基础

JavaWeb教程2:JSP编程基础

一、JSP简介

JSP(JavaServer Pages)是一种基于Java技术的动态网页开发技术,它允许开发者在HTML页面中嵌入Java代码,从而创建动态生成的Web内容。

二、JSP页面结构

一个典型的JSP页面包含以下几个部分:

页面指令:设置页面属性

HTML内容:静态内容

JSP元素:动态内容(声明、代码段、表达式、注释等)

三、JSP实例详解

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

JSP 基本元素示例

<%-- 这是一个 JSP 注释,不会被发送到客户端 --%>

<%!

// 声明变量和方法

int visitCount = 0;

public String getCurrentTime() {

java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

return sdf.format(new java.util.Date());

}

%>

欢迎访问我的 JSP 页面

当前时间: <%= getCurrentTime() %>

<%

// JSP 代码段

visitCount++;

String username = request.getParameter("username");

if (username != null && !username.isEmpty()) {

%>

欢迎回来,<%= username %>!

<%

} else {

%>

您是匿名访问者

<%

}

%>

这是您第 <%= visitCount %> 次访问本页面

数字列表:

    <%

    // 使用循环生成列表

    for (int i = 1; i <= 5; i++) {

    %>

  • 数字 <%= i %> 的平方是 <%= i*i %>
  • <%

    }

    %>

1. 页面指令(Page Directive)

页面指令用于设置JSP页面的属性,如字符编码、内容类型等。

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

这行代码指定了:

使用Java作为脚本语言

内容类型为text/html

字符编码为UTF-8

2. JSP声明(Declaration)

JSP声明使用<%! ... %>语法,用于声明变量和方法,这些声明会成为Servlet类的成员。

<%!

// 声明变量和方法

int visitCount = 0;

public String getCurrentTime() {

java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

return sdf.format(new java.util.Date());

}

%>

这段代码:

声明了一个整型变量visitCount,用于记录访问次数

声明了一个方法getCurrentTime(),用于获取当前时间的格式化字符串

特点:

声明的变量和方法是Servlet类的成员

变量在所有客户端请求之间共享

方法可以在页面的任何地方调用

3. JSP表达式(Expression)

JSP表达式使用<%= ... %>语法,用于将表达式的值输出到页面。

当前时间: <%= getCurrentTime() %>

这是您第 <%= visitCount %> 次访问本页面

这段代码:

调用getCurrentTime()方法并输出结果

输出visitCount变量的值

特点:

表达式的值会被转换为字符串

表达式后不需要加分号

可以包含变量、方法调用、算术运算等

4. JSP代码段(Scriptlet)

JSP代码段使用<% ... %>语法,用于在页面中嵌入Java代码。

<%

// JSP 代码段

visitCount++;

String username = request.getParameter("username");

if (username != null && !username.isEmpty()) {

%>

欢迎回来,<%= username %>!

<%

} else {

%>

您是匿名访问者

<%

}

%>

这段代码:

增加访问计数器

获取URL参数username

根据参数是否存在显示不同的欢迎信息

特点:

代码段中的代码会被直接插入到Servlet的service方法中

可以与HTML代码交替使用

可以包含任何有效的Java代码

另一个代码段示例(循环):

    <%

    // 使用循环生成列表

    for (int i = 1; i <= 5; i++) {

    %>

  • 数字 <%= i %> 的平方是 <%= i*i %>
  • <%

    }

    %>

这段代码使用循环生成一个包含5个列表项的无序列表,每个列表项显示一个数字及其平方值。

5. JSP注释

JSP支持两种注释方式:

JSP注释:不会发送到客户端

<%-- 这是一个 JSP 注释,不会被发送到客户端 --%>

HTML注释:会发送到客户端,但在浏览器中不显示

四、JSP内置对象

JSP提供了9个内置对象,可以在代码段和表达式中直接使用:

request:HTTP请求对象,包含客户端请求信息

String username = request.getParameter("username");

response:HTTP响应对象

out:用于向客户端发送内容

session:表示客户端会话

application:表示ServletContext对象

config:表示ServletConfig对象

pageContext:提供对所有JSP内置对象的访问

page:表示当前JSP页面的实例

exception:表示发生异常的对象(仅在错误页面中可用)

五、JSP生命周期

JSP页面的生命周期包括以下阶段:

转译阶段:JSP页面被转换为Servlet源代码

编译阶段:Servlet源代码被编译为字节码

加载阶段:Servlet类被加载到内存

实例化阶段:创建Servlet实例

初始化阶段:调用Servlet的init()方法

服务阶段:调用Servlet的service()方法处理请求

销毁阶段:调用Servlet的destroy()方法

六、实践应用

示例JSP页面展示了如何:

记录访问次数

获取并显示当前时间

处理URL参数

使用条件语句显示不同内容

使用循环生成动态列表

七、总结

JSP是一种强大的服务器端技术,它结合了Java的强大功能和HTML的简单性,使开发动态Web应用变得更加简单。通过掌握JSP的基本元素(指令、声明、表达式、代码段和注释),开发者可以创建功能丰富的动态网页。

✨ 相关推荐

丽水市颠锋视界设计装饰有限公司
beat365最新版体育

丽水市颠锋视界设计装饰有限公司

📅 07-01 👀 8082
win11如何删除安装包?win11删除安装包的方法
365bet提款限制

win11如何删除安装包?win11删除安装包的方法

📅 07-02 👀 4882
百度机顶盒价格及选购指南
365bet提款限制

百度机顶盒价格及选购指南

📅 07-25 👀 9728