jsp技术(二)—— jsp语法,三个指令,六个动作,九大对象

本文详细介绍了JSP的基础语法,包括模版元素、脚本和注释。接着,深入探讨了JSP的三个指令:page、include和taglib,解释了它们的作用和常用属性。此外,文章还涵盖了JSP的六个动作,以及JSP页面中的九大内置对象,为理解JSP页面的工作原理提供了全面的知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jsp技术(二)

jsp基础语法

1、JSP模版元素
网页的静态内容。如:html标签和文本。

2、JSP的脚本:
- 小脚本 <% java代码 %>
- 表达式 <%= 2+3 %> 等价于out.print(2+3);
- 声明 <%! %> 表示在类中定义全局成员,和静态块。

3、JSP注释:
JSP注释:<%– 被注释的内容 –%> 特点:安全,省流量
网页注释:(网页注释信息不显示) 特点:不安全,费流量

jsp的三个指令

JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
JSP规范中的三个指令:page指令,include指令,taglib指令

语法:<%@ 指令名称 属性1=“属性值1” 属性2=“属性值2”。。。%>
或者:<%@ 指令名称 属性1=“属性值1”%> <%@ 指令名称 属性2=“属性值2”%>

如:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

    <%@ page language="java" %>
    <%@ page import="java.util.*" %>

page指令

作用:用于定义JSP页面的各种属性
属性
1. import 和java代码中的import是一样的

<%@ page import="java.util.Date,java.util.List"%>
或者:
<%@ page import="java.util.Date"%>
<%@ page import="java.util.List"%>

JSP会自动导入以下的包:
import java.lang.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;、
2. session:是否会自动创建session对象。默认值是true;
3. buffer:JSP中有javax.servlet.jsp.JspWriter输出字符流。设置。输出数据的缓存大小,默认是8kb.
4. errorPage:如果页面中有错误,则跳转到指定的资源。errorPage=”/uri” 如果写“/”则代表当前应用的目录下,绝对路径。如果不写“/”则代表相对路径。
5. isErrorPage:是否创建throwable对象。默认是false;
6. contextType:等同于response.setContextType(“text/html;charset=utf-8”);
7. pageEncoding:告诉JSP引擎要翻译的文件使用的编码。
8. isELIgnored:是否支持EL表达式。 默认是false

include指令:

静态包含:把其它资源包含到当前页面中。

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

动态包含

<jsp:include page="/include/header.jsp"></jsp:include>

两者的区别:翻译的时间段不同
前者:在翻译时就把两个文件合并
后者:不会合并文件,当代码执行到include时,才包含另一个文件的内容。

原则:能用静的就不用动的。

taglib指令:

作用:在JSP页面中导入JSTL标签库。替换jsp中的java代码片段。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

jsp中的6个动作

使用标签的形式来表示一段java代码。

如:<jsp:include page="2.jsp"></jsp:include>
    <jsp:include > 动态包含
    <jsp:forward> 请求转发
    <jsp:param> 设置请求参数

下列三个动作为一组:

    <jsp:useBean> 创建一个对象
    <jsp:setProperty> 给指定的对象属性赋值
    <jsp:getProperty> 取出指定对象的属性值

示例代码如下:通过这三个动作可以在jsp中设置类中的参数以及读取类的内容数据。

<%@page import="com.swulearn.Student"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
     <%
        Student stu = new Student();
        stu.setName("tom");
        out.print(stu.getName());
     %>
     //上面一段代码用来创建学生类,并且设置名字为tom并且输出,下面则是等效的做法。

     <jsp:useBean id="stu1" class="com.swulearn.Student"></jsp:useBean>
     <jsp:setProperty property="name" name="stu1" value="jerry"/>
     <jsp:getProperty property="name" name="stu1"/>

     <!-- http://localhost:8080/day11_02_jsp2/6.jsp?name=123 -->
     <jsp:forward page="/7.jsp">
        <jsp:param value="123" name="name"/>
        <jsp:param value="333" name="pwd"/>
     </jsp:forward>
</body>
</html>

jsp的九大内置对象

指在JSP的<%=%> 和<% %>中可以直接使用的对象

对象名类型说明
requestjavax.servlet.http.HttpServletRequest
responsejavax.servlet.http.HttpServletResponse
sessionjavax.servlet.http.HttpSession由session=”true”开关
applicationjavax.servlet.ServletContext
exceptionjava.lang.Throwable由isErrorPage=”false”开关
pagejava.lang.Object当前对象this当前servlet实例
configjavax.servlet.ServletConfig
outjavax.servlet.jsp.JspWriter字符输出流,相当于 printWriter对象
pageContextjavax.servlet.jsp.PageContext
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值