java第三章

目录

[Jsp 页面的构成:](#Jsp 页面的构成:)

3.3jsp脚本元素

[3.3 jsp指令标记](#3.3 jsp指令标记)

3.4jsp动作标记


Jsp 页面的构成:

Html jsp注释 java脚本元素 jsp动作标记

Html注释<!--html注释-->

Jsp注释<%--注释--%>

用户能看到html注释看不到jsp注释

3.3jsp脚本元素

<%java代码%> 这个是java程序片格式,一个jsp网页可以有任意的jsp片,这些jsp将被tomcat服务器按顺序执行,在一个程序片中的变量称为局部变量

每个客户访问时都有一个线程,每个客户访问互相不受影响

<%! >这里称为成员变量,定义的变量在整个jsp页面都有效,这些变量的内存空间知道服务器关闭才失效,所有用户公用

这里声明的方法是成员方法,方法在页面有效果,但是方法定义的变量只在方法内有效果

<%!

int i = 0;

i++; // 这是错误的,不能在这里执行递增操作

%>

如果你想要对变量 i 进行递增操作,你需要在JSP的脚本let标签 <% %> 内进行,如下所示:

<%!

int i = 0; // 声明变量

%>

<%

i++; // 在脚本let标签内进行递增操作

%>

在 <% %> 标签内,你可以编写任意的Java代码,包括赋值、循环、条件判断等。而 <%! %> 标签仅用于声明那些需要在JSP页面多个请求之间保持状态的成员变量或方法。

<%= %>里面可以插入一个表达式,这个表达式必须能求值,由web服务器负责计算,但返回的值为字符串

<%=n %>就是输出n的值

3.3 jsp指令标记

1.page指令

Page指令标记用来定义整个jsp页面的一些属性和这些属性的值(可以用一条指令指定多个,也可以一条一个)

主要指令有contenttype,include,language,pageEncoding等

1.只能为contentType属性定一个值,用来确定响应的mime类型

<%@page contentType="application/msword;charset=UTF-8"%>

常见:text/html网页形式

  1. include属性作用为 为jsp页面引入包中的类,页面也行,只不过嵌入的contenttyoe应该一致

<%@include file="文件的url"%>

  1. Language属性的作用是指定jsp页面的脚本语言,目前只有java
  2. Pageencoding属性中的charset是指服务器发送给客户浏览器时所见的网页内容的编码,Pageencoding这个本身是存储时所用的编码

3.4jsp动作标记

常用的动作标记:include、forward、usebean......

include动作标记主要是动态嵌入,与指令标记的区别是先处理后包含,页面的contenttype可以不一致

语法有两种格式:

第一种:<jsp:include page="文件的url"/>

第二种:

<jsp:include page="文件的额url" >

子标记:可以传参

<jsp:include/>


Forward:停止后转向

语法:

第一种<jsp:forward page="文件的url"/>

第二种:

<jsp:forward page="文件的url">

子标记:能给参数

</jsp:forward>


Param:不能单独使用,但是可以当作include和forward的子标记,该标记为"名字-子标记"

<jsp:父标记 page = "接收参数页面的url">

<jsp:param name = "参数名" value= "参数值/">

</jsp:父标记>

接收参数的页面可以使用内置对象request调用getParameter("参数名")获取动作标记param传递过来的参数值

相关推荐
lljss20201 小时前
Python11中创建虚拟环境、安装 TensorFlow
开发语言·python·tensorflow
代码的余温1 小时前
Maven引入第三方JAR包实战指南
java·maven·jar
Python×CATIA工业智造4 小时前
Frida RPC高级应用:动态模拟执行Android so文件实战指南
开发语言·python·pycharm
pianmian14 小时前
类(JavaBean类)和对象
java
我叫小白菜5 小时前
【Java_EE】单例模式、阻塞队列、线程池、定时器
java·开发语言
狐凄5 小时前
Python实例题:基于 Python 的简单聊天机器人
开发语言·python
Albert Edison5 小时前
【最新版】IntelliJ IDEA 2025 创建 SpringBoot 项目
java·spring boot·intellij-idea
超级小忍6 小时前
JVM 中的垃圾回收算法及垃圾回收器详解
java·jvm
weixin_446122466 小时前
JAVA内存区域划分
java·开发语言·redis
悦悦子a啊6 小时前
Python之--基本知识
开发语言·前端·python