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 ...
随机推荐
- Jenkins配置邮件发送测试报告
前言 在之前的文章(Jenkins自动执行python脚本输出测试报告)中,我们已成功实现利用Jenkins自动执行python脚本,输出并可直接在界面上查看测试报告,这里我们还差最后一步,我们需要将 ...
- 个人第四次作业:Alpha项目测试
个人第四次作业:Alpha项目测试 格式描述 详情 这个作业属于哪个课程 http://edu.cnblogs.com/campus/xnsy/GeographicInformationScience ...
- Shell 脚本学习总结
自己根据目前学到的东西制作了一张思维导图
- 浅显易懂的前端知识点(二)——HTTP协议基础
HTTP 协议的初印象: 是基于 TCP/IP 协议的应用层协议,不涉及数据包的传输,主要规定了客户端和服务器之间的通信格式,默认使用 80 端口. 1 HTTP 协议 0.9 版(1991 年) 是 ...
- PKU 1185-炮兵阵地(状压DP)
炮兵阵地 题目链接 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 34827 Accepted: 13353 Descripti ...
- Git详解之服务部署
前言 到目前为止,你应该已经学会了使用 Git 来完成日常工作.然而,如果想与他人合作,还需要一个远程的 Git 仓库.尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心 ...
- Java之路——初识Eclipse
零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...
- react中 如何使用图片
//render 第一种方法:先const一个对象,把需要应用图片的dom上的style写入对象中, 然后在return()中使用style关键字赋值为预先定义的那个style对象 const bgG ...
- ceph问题
问题1: [root@admin-node my-cluster]# ceph -s cluster 4ca35731-2ccf-47fb-9f06-41fae858626d health HEALT ...
- 练习2-14 求奇数分之一序列前N项和 (15 分)
练习2-14 求奇数分之一序列前N项和 (15 分) 本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和. 输入格式: 输入在一行中给出一个正整数N. 输出格式: 在一行 ...