JavaWeb学习(四) : JSP 基本语法
引入 JSP 的概念:
通俗来讲 : 在 HTML 代码中混合 Java 代码能让网页具有动态的功能,
而嵌入了 Java 代码的网页就是 JSP。
JSP 的特点(优点) :
1、运行于服务端(是一种脚本语言)
2、能够对客户端展现内容
3、变化网页文档
4、处理用户提交的表单数据
JSP 与 HTML 有什么区别 :
1、相对来说 JSP 是 动态的,实时的, HTML 是静态的,并不会随着一些东西而改变。
官方一点来说 :
HTML 是静态页面,也就是事先由用户写好放在服务器上,由 Web 服务器向客户端发送。
JSP 页面是由 JSP 容器执行该页面的 Java 代码部分,然后 实时 生成的 HTML 页
面,因此说它是服务器端动态页面。
2、另外,在网页查看源码时 JAVA 代码不会展现在客户端(也就是说用户是看不到我们的
Java 代码的),但是可以看到 HTML 代码(包括注释的部分)。
注释:
1、能够发送给客户端的,可以在源代码文件中显示其内容。
HTML 的注释方式 :
<!--注释内容-->
2、不能发送给客户端的,也就说不会再客户端的源代码文件中显示其内容。
a、 JSP 注释:
<%--注释内容--%>
b、Java 代码注释
// 单行注释
/**/ 多行注释
Jsp 表达式 :
1、主要作用:用于定义 JSP 的一些输出、
将其里面的内容所运算的结果输出到客户端。
2、基本语法 :
<%= 变量/表达式/返回值%>
3、example
<%= msg%> : 将 msg 内容输出到客户端(表达式没有分号)
等价于 <%out,println(msg);%>(注意这里有分号)
4、细节 :
a、 JSP 表达式中不能用 “;”结束。
b、 JSP 表达式中不能出现多条语句。
c、 JSP 表达式中的内容一定是字符串类型的,或者通过 toString()函数转换成
字符串的形式。
为什么 JSP 表达式中不能有 分号?
JSP 中的表达式是转换成 out.println(JSP);表达式进行输出的。
如果我们在表达式中 + ; 那么转换的时候就成了
out.println(表达式;);
造成语法错误。
JSP 程序段:
<% JAVA代码 %>
注意 : 不能在 JSP 程序段中定义函数
JSP 声明 :
1、像其他语言一样,在 JSP 中变量也需要先定义再使用,不同的是 JSP 中定义的变量都是
全局变量,一经定义可以在任何位置进行使用。
2、基本语法:
<!% %>
3、注意,在 JSP 中只能做定义,不能实现逻辑,也就是说不能在定义的时候输出内容,只能定义
一些东西。
JSP 指令 :
1、Jsp 指令的作用 :
告诉 JSP 引擎对 JSP 页面如何编译,不包含控制逻辑
不会产生任何可见的输出。
2、基本用法 :
<%@ 指令类别 属性 1 = "属性值1" .. 属性 n = "属性值 n" %>
3、 Jsp 指令的几种类型 :
page (比较常用)
include (比较常用)
taglib
4、Page 指令:
作用 :
a、设定页面的属性和相关的功能
b、用户可以利用其进行导入需要的类
c、指定 Jsp 输出内容的类型
d、指定处理异常的错误页面
具体形式:
a、导入包 :
<%@ page import = "包名.类名" %>
<%@ page import = "包名.*" %>
b、设定字符集 :
<%@ page pageEncoding = "编码类型"%>
c、设定错误页面 :
两个属性:
errorPage : 指定一个页面,当 JSP 程序出现未被捕获的异常时跳转到
这个指定的页面。
isErrorPage : 跳转到的页面需要 isErrorPage 属性指明处理其他页
面的错误信息。
用法:
在发生异常的页面使用以下代码 :
<%@ page errorPage = "需要跳转的页面" %>
跳转到的页面使用下面代码 :
<%@ page isErrorPage = "true" %>
(改成false 貌似也可以,具体规律还未总结出来)
d、设定 MIME 类型 和字符编码 :
MIME :
多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,
当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些
客户端自定义的文件名,以及一些媒体文件打开方式。
用法 :
用户可以使用 contentType 属性设置 JSP 的 MIME 类型和 可选字符编码 :
<%@ page contentType = "MIME类型;charset = "字符编码" %>
5、include 指令:
作用 : 实现代码的复用(避免重复的操作),相当于是调用一个函数,可以多次调用,
与函数调用不同 的是这里的变量不能与现有文件的变量出现重复,否侧程
序会报错。
用法 :
<%@ page include file = "文件名"%>
JSP 动作 :
作用 :
控制服务器的行为。
用法 :
<jsp:动作名 属性1 = "属性值1" .... 属性n = "属性值n" />
<jps:动作名 属性1 = "属性值1" .... 属性n = "属性值n" > 相关内容 </jsp:动作名>
动作 :
1、jsp : include 表示当页面被请求的时候引入一个文件
2、jsp : forward 表示将请求转到另一个页面
3、jsp : useBean 表示获得 JavaBean 的一个实例
4、jsp : setProperty 表示设置 JavaBean 的属性
5、jsp : getProperty 表示获得 JavaBean 的属性
6、jsp : plugin 表示根据浏览器的类型为 Java 插件生成 OBJECT 或 ENBED 两种标记。
后记 :
还有很多地方不足,如果有错误的地方,欢迎大家指出来,共同进步。
JavaWeb学习(四) : JSP 基本语法的更多相关文章
- JavaWeb学习笔记——jsp基础语法
1.JSP注释 显式注释 <!-- 注释内容 --> 隐式注释,隐式注释在客户端无法看见 // /* */ <% 注释内容 %> 2.Scriptlet(小脚本程序) 所有嵌入 ...
- javaweb学习5——JSP
声明:本文只是自学过程中,记录自己不会的知识点的摘要,如果想详细学习JavaWeb,请到孤傲苍狼博客学习,JavaWeb学习点此跳转 本文链接:https://www.cnblogs.com/xdp- ...
- JavaWeb总结(四)—JSP深入解析
一.JSP域对象 1.JSP属性范围(域对象范围) JSP提供了四个域对象,分别是pageContext.request.session.application. pageContext: 属性范围仅 ...
- JavaWeb学习 (十四)————JSP基础语法
一.JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素. JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观. 二.JSP表达式 JSP脚本表达式(expression)用于将 ...
- javaweb(十五)——JSP基础语法
任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之 ...
- JavaWeb学习 (十七)————JSP属性范围
所谓的属性范围就是一个属性设置之后,可以经过多少个其他页面后仍然可以访问的保存范围. 一.JSP属性范围 JSP中提供了四种属性范围,四种属性范围分别指以下四种: 当前页:一个属性只能在一个页面中取得 ...
- JavaWeb学习 (四)————Http协议
一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的 ...
- JavaWeb学习之JSP(三) EL表达式
EL表达式 什么是EL表达式 EL,Expression Language,表达式语言,是一种在JSP页面中获取数据的简单方式,通过${变量名}的方式可以获取到值,需要注意的是EL只能从 page ...
- JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)
1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...
随机推荐
- 一张图快速上手Xmind思维导图
使用软件:Xmind8 pro版(可在网上找破解版),应用广泛,功能强大
- springboot的yml不显示的原因
首先排除插件原因 1 安装好插件Ctrl+Alt+S 2 查看修改的application.yml是什么格 在yaml格式中添加*.yaml和*.yml 3 查看maven是否配置完善
- .net core 第三方工具包集合
日志 Nlog 单点登录
- sense8影评摘抄
“卡尔维诺在<为什么读经典>中<西诺拉在月球>一章里如是记述: 月球上的贵族光着身子四处走,仿佛这样还够,他们还在腰间悬挂阳具造型的铜饰.“我觉得这个习俗真是奇特.在我们的世界 ...
- Java中的Swap,如何实现?
程序员都知道,在C/C++里面交换值的方法: void swap(int &a,int &b) { int temp; temp=a; a=b; b=temp; } 但是在Java中这 ...
- 3分钟接入socket.io使用
WebSocket 简介 传统的客户端和服务器通信协议是HTTP:客户端发起请求,服务端进行响应,服务端从不主动勾搭客户端. 这种模式有个明显软肋,就是同步状态.而实际应用中有大量需要客户端和服务器实 ...
- Spring整合Spring-data-jpa项目所遇到的坑
1.异常信息: 错误原因:缺少spring-aop包 解决: <dependency> <groupId>org.springframework</groupId> ...
- 暑假第三周总结(学习HDFS操作方法)
本周由于自己出去玩,以及家里的各种事也没好好看书,就对HDFS的一些常用的shell命令进行了学习与应用,观看了林子雨老师关于HDFS的视频,对HDFS的一些存储的原理.规则进行了一定的了解.对uba ...
- python+selenium爬取百度文库不能下载的word文档
有些时候我们需要用到百度文库的某些文章时,却发现需要会员才能下载,很难受,其实我们可以通过爬虫的方式来获取到我们所需要的文本. 工具:python3.7+selenium+任意一款编辑器 前期准备:可 ...
- 实验12: OSPF
实验9-1:单区域点到点链路的OSPF 实验目的通过本实验可以掌握:(1)在路由器上启动OSPF 路由进程(2)启用参与路由协议的接口,并且通告网络及所在的区域(3)度量值cost 的计算(4)点到点 ...