引入 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 基本语法的更多相关文章

  1. JavaWeb学习笔记——jsp基础语法

    1.JSP注释 显式注释 <!-- 注释内容 --> 隐式注释,隐式注释在客户端无法看见 // /* */ <% 注释内容 %> 2.Scriptlet(小脚本程序) 所有嵌入 ...

  2. javaweb学习5——JSP

    声明:本文只是自学过程中,记录自己不会的知识点的摘要,如果想详细学习JavaWeb,请到孤傲苍狼博客学习,JavaWeb学习点此跳转 本文链接:https://www.cnblogs.com/xdp- ...

  3. JavaWeb总结(四)—JSP深入解析

    一.JSP域对象 1.JSP属性范围(域对象范围) JSP提供了四个域对象,分别是pageContext.request.session.application. pageContext: 属性范围仅 ...

  4. JavaWeb学习 (十四)————JSP基础语法

    一.JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素.  JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观. 二.JSP表达式 JSP脚本表达式(expression)用于将 ...

  5. javaweb(十五)——JSP基础语法

    任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之 ...

  6. JavaWeb学习 (十七)————JSP属性范围

    所谓的属性范围就是一个属性设置之后,可以经过多少个其他页面后仍然可以访问的保存范围. 一.JSP属性范围 JSP中提供了四种属性范围,四种属性范围分别指以下四种: 当前页:一个属性只能在一个页面中取得 ...

  7. JavaWeb学习 (四)————Http协议

    一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的 ...

  8. JavaWeb学习之JSP(三) EL表达式

    EL表达式 什么是EL表达式   EL,Expression Language,表达式语言,是一种在JSP页面中获取数据的简单方式,通过${变量名}的方式可以获取到值,需要注意的是EL只能从 page ...

  9. JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)

    1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...

随机推荐

  1. ORM基础3 在python脚本里调用Django环境

    1.查询 1.# all获取所有的object,结果QuerySet,列表 print('all'.center(80, '=')) ret = models.Person.objects.all() ...

  2. 安装anaconda python时只能安装到默认文件夹&& 安装提示文件夹以存在问题

    这个问题困扰了两次,网上说可以,我就是不行,查了半天没找到解决方法, 后来装在C盘里, 之后在百度知道(ID:幸福999快乐)发现解决办法后来才发现问题. 在安装的时候,要安装的目标文件夹不需要先在安 ...

  3. Spring加载早期获取BasePackage

    public class GetBasePackage { private Class<? extends Annotation> annotation; public GetBasePa ...

  4. Creating Custom Helper Methods 创建自定义辅助器方法----辅助器方法 ------ 精通ASP.NET MVC 5

    创建内联的辅助器方法 和 拓展方法 好像类似的功能. 不过写在前台更直观

  5. sqli_labs学习笔记(一)Less-21~Less-37

    续上,开门见山 Less-21 Cookie Injection- Error Based- complex - string ( 基于错误的复杂的字符型Cookie注入) 登录后页面 圈出来的地方显 ...

  6. JS-01-js的三种引入方式

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. Day10-Python3基础-协程、异步IO、redis缓存、rabbitMQ队列

    内容目录: Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 Redis\Memcached缓存 Paramiko S ...

  8. Day3-Python3基础-函数

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 1.函数的定义 定义: 函数是指将一组语句的集 ...

  9. Web自动化测试项目搭建(一) 需求与设计

    一.项目需求 测试/生产环境更新后,自动化回归测试 项目易于维护和运行 支持多种测试策略 支持可视化测试报告 运行结果,支持多种方式通知相关人员 可定时/触发的方式运行自动化测试用例 二.设计 2.1 ...

  10. Linux 常用工具sysstat之iostat

    命令解释 用于输出CPU和磁盘I/O相关的统计信息:iostat依赖于sysstat软件包 命令格式 iostat [ 选项 ] [<时间间隔> [<次数>]] 常用选项 -c ...