本文共 2715 字,大约阅读时间需要 9 分钟。
JSP(JavaServer Pages)全称Java Server Pages,是一种动态网页开发技术。它通过在HTML网页中插入Java代码来实现灵活的网页动态化。JSP文件通常与Servlet结合使用,其中JSP用于实现用户界面,负责展示动态内容,而Servlet负责处理业务逻辑和数据处理。
JSP的运行过程如下:
jsp:servlet
标签识别JSP文件并启动转换过程。建议详细阅读JSP运行原理的专属文章,如《JSP运行原理》。
Page指令用于在JSP转译过程中设置一些配置信息,常用来定义转译语言、字符集、异常页面等。常见的page指令包括:
@page language="java"
:定义使用的语言,默认为java。@page import="..."
:导入需要的Java包。@page pageEncoding="..."
:指定页面的编码格式。@page contentType="..."
:指定响应内容类型。@page session="..."
:控制Session的使用。@page isErrorPage="..."
:设置错误页面。@page errorPage="..."
:当JSP出现错误时跳转指定页面。JSP支持局部代码块和全局代码块:
局部代码块:
<% java代码 %>
包裹。全局代码块:
<%! java代码 %>
包裹。Java脚本段/table达式:
<%= 表达式 %>
输出数据到页面。JSP支持多种注释方式:
注释类型 | etkыв结果 |
---|---|
HTML注释 | 被转译,输出到浏览器但不被执行 |
CSS注释 | 被转译,输出到浏览器但不被执行 |
JavaScript注释 | 被转译,输出到浏览器但不被执行 |
Java注释 | 被转译但不执行 |
JSP注释 | 不被转译也不执行,格式为<!-- 注释内容 --> |
为了实现资源共享,JSP支持静态和动态引入:
静态引入:
<%@ include file="..." %>
引入JSP文件。动态引入:
<jsp:include page="..." %>
引入文件。两者的主要区别在于共享变量能力,静态引入变量不可共享用于异名变量,而动态引入允许共享。
当JSP处理后需要将请求转换为其他页面,可以使用<jsp:forward>
标签:
page="..."
指定转发页面。<jsp:param>
用于传递额外参数。<jsp:forward>
标签只能输出空白内容,且传输的参数不会随状态传递。
JSP页面内置提供九大对象:
JSP的变量作用域主要有以下四种:
特别是在数据流转时,转发使用request
和session
,而重定向使用session
,无法使用application
,因为application
为服务器层,用户间共享的数据不宜用于请求转换。
相对路径:
绝对路径:
建议在开发中始终使用绝对路径以避免路径错误和维护困难。
为了简化资源路径管理,可以使用basePath技术:
<head><base href=" royalties/%BASEPATH%"></head>
设置。JSP作为Java web应用的重要组成部分,与Servlet紧密结合推动了灵活高效的网页开发。熟练掌握JSP的工作原理和实用技巧,是提升开发能力的重要步骤。
转载地址:http://noeyk.baihongyu.com/