当前课程知识点:Web后端开发技术 > 第4章 JSP基础 > 4.1 jsp概述 > 4.1.1 JSP概述
好
欢迎大家回来继续学习Web后端开发技术
在这一小节当中
我们将讲解JSP概述
JSP它是java Server Page 的简写
它是由Sun Microsystems 公司所
倡导的多家公司参与的所建立的一种
动态网页的技术标准
这张表格我们在之前的课程当中已经见到了
我们在开发当中需要使用Java EE的版本
至少是在6.0以上
那么我们看到对应于Servlet的版本号是3.0
对于JSP的版本号是2.2
我们要求我们这门课程在开发过程
当中使用的版本是Java EE8
那么对应于JSP的版本号是2.3
也就说我们当前的开发环境是比较
版本高的
一个开发环境
能够满足我们课程所需要的功能
那么什么是JSP
我们可以简单的这样给大家做一下介绍
JSP它是一种用于开发
包含动态内容的Web页面的技术
它实际上是基于Java
语言的服务器端的开发技术
从根本上来说JSP就是Servlet
那么使用JSP它有哪些作用呢
第一个 它可以使得输出阅读和维护html代码更容易
第二个
它能够使页面设计与Java代码相分离
这样便于前端开发人员开发相应的页面
第三
在JSP里面还包含了一个
JSTL这样一个技术
使用这样的技术
对于开发人员在他不需要掌握Servlet
技术的情况下
同样可以开发动态的页面
那么使用JSP技术它有哪些优势呢
第1个优势就是它能够一次编写各处运行
它可以运行在不同的平台上面以及
支持JavaEE规范的不同的Web服务器上面
第2个
它的开发使得开发更简洁
JSP实质上可以把它理解成为由
html加上Java代码
加上JSP标记
这会形成一个JSP文件
第3个优势就是实现组件的重用
这里面我们可以使用JavaBeam
实现不同的JSP
页面之间的数据的共享和传递
第4个优势就是易于部署升级和维护
Servlet的容器
可以实现JSP的自动化部署和编译
下面我们开发一个JSP程序
我新建了一个项目
叫做chapter4
我们把这章的内容都放在chapter4
章节当中
在这里我可以新建一个JSP file
那么我这里对它命一个名字
比如说我叫做first
点击next
这里会让我们选一个我们初始化的模板
那么之前我已经给大家介绍过了
html5模板的建立
那么在这里我再重新给大家强调一下
这个事情
因为我们JSP模板有很多种
大家可以看到这这样的模板
这样的模板以及这样的模板
那么我们现在一般用的是什么呢
我们用的页面的编码方式charset
还有PageEncoding都要UTF-8的
并且我们会使用html5这样的头标签
所以说在有些版本Eclipse给我们
提供的模板并不符合我们的要求
它encoding调用的是ISO-8859-1
它不能够支持中文
而且它的html文档声明
大家可以看到它是HTML4
不符合我们的要求
所以说我们可以在这个基础上改
那么我可以把他这份模板做一份全选以后
用Ctrl+C进行复制
复制完了以后
大家可以看到这块
我们可以编辑我们的JSP模板页面
那么点击JSP Templates
这时候我就可以新建一个
新建完以后你可以给它起个名字
就像我起的
比如说叫html5
然后把Context 我给它设置为
New JSP
也就是说我在创建新的JSP页面的时候
会使用html5这样的一个模板
然后把我刚才粘贴的内容
包括刚才复制的内容粘贴到这里
Ctrl+V粘贴到这里
把charset这块我直接改成UTF-8
同理我把配置pageEncoding也改成UTF-8
那么对于Html的声明部分
我只是留前面这一块
这种方式
就是html5的这个头声明
然后其他的部分这块的charset
我要改成UTF-8
那么这个body的里面我什么都不要
这就是我需要的一份模板
然后点击OK就可以了
因为我这里已经创建了
所以说我就不点击OK了
好
那么我们返回到这个页面
就可以看到我在建立页面的时候
这就会有一个name叫做HTML5
刚才我们说的模板文件
那么
我们按这个模板文件点击
finish以后
它就会自动的给我们创建这么一个
模板文件
然后这些内容都符合我们刚才预定义
的一些内容
这里那么我们在body里面想写一些Java代码
那么Java代码我们给它包含在尖括号百分号
然后百分号尖括号之间
那么在这里面我们可以写一些Java代码
比如说我现在想输出当前的日期和时间
那么可以调用Java.util.
Date这个类下面的
比如说我叫做date
好
我new一个
Java.util.date类
好
那么这时候我就可以向页面上进行
输出了
用out.print
好
输出什么
输出我date.to它有一个方法叫做toLocaleString
转化成本地时间的格式
那么什么叫本地时间的格式
大家待会一看就能够明白
那么这样的话我就把Java
代码写完了
紧接着我要部署到我的tomcat上进行运行
把chapter4给部署过去
Finish 运行
打开我们的页面浏览器
输入访问地址
HTTP
localhost:8080/chapter4
下面我们的是first.jsp
大家就可以看到我这个输出
当前时间了
这就叫本地时间的这种格式
2019年5月20号的9点零8分28秒
好
这就是我们第1个JSP程序的
一个演示
这是我们开发的第1个JSP
程序的页面
我们看到我们在这个页面当中编写了
如下代码
那么这个代码的作用是向客户端输出
当前的时间以及您好
这样几个字
我们在浏览器当中会看到如下格式的
HTML代码
那么jsp它这个程序是如何运行的呢
当客户端请求一个JSP文件的时候
JSP文件首先被翻译成为java文件
进而Java文件被编译成为class文件
执行class文件
通过响应html代码向客户端返回
最终的结果
当客户端再去请求JSP文件的时候
那么它就直接执行
class文件
将结果返回给客户端了
那么这个就是JSP的执行过程
在tomcat目录下面有一个work文件夹
在work文件夹里面
我们可以找到JSP所对应的java文件
和class文件
那么这个是我们编写的第1个JSP文件
打开我们刚才提到的JSP所对应的JAVA文件
会看到在Java文件当中编写的
这样一些代码
那么这些代码我们看起来应该是非常的熟悉
因为原来我们就在Servlet
上面是这样来写代码的
那么
这些工作现在都由JSP来完成了
JSP页面实际上是模板文件
比如html5文件
加上JSP元素所形成的这样一个文件
那么
JSP元素包括哪些呢
它包括脚本元素
指令元素和动作元素
脚本元素主要包括JSP脚本
表达式
JSP声明
JSP的注释
指令元素包括include指令
配置指令和taglib指令
动作元素
包括include动作
forward动作和userBean等相关的一些动作
好
这一小节我们将介绍到这里
谢谢
-1.0 导学
--1.0.1 导学
-1.1 Web应用开发概述
--1.1.3 测试
-1.2 准备Java Web应用开发环境
--1.2.2 测试
-1.3 任务实现:Hello World Web项目
--1.3.2 测试
-1.4 小结
--1.4.1 小结
-本课程所有代码
--课程参考代码
-2.0 导学
--2.0.1 导学
-2.1 Servlet概述
--2.1.3 测试
-2.2 创建Servlet
--2,2,3 作业
-2.3 Servlet应用
--2.3.4 测试
-2.4 任务实现:某高校毕业生信息发布系统-注册与登录(Servlet版)
--2.4.3 测试
-2.5 ServletConfig接口
-2.6 ServletContext接口
-2.7 HttpServletRequest接口
--2.7.5 测验
-2.8 HttpServletResponse接口
--2.8.3 测试
-2.9 任务实现:某高校毕业生信息发布系统-简历添加
--2.9.1 任务实现:某高校毕业生信息发布系统-简历添加
-2.10 小结
-动画演示:Java Web应用服务器处理客户端请求的过程
-3.0 导学
--3.0.1 导学
-3.1 Cookie技术
--3.1.3 测试
-3.2 Session技术
--3.2.2 Session技术-Session技术应用购物车
--3.2.3 测试
-3.3 URL重写与隐藏表单域
--3.3.2 测试
-3.4 任务实现:某高校毕业生信息发布系统-简历修改
--3.4.1 任务实现:某高校毕业生信息发布系统-简历修改
-3.5 小结
--3.5.1 小结
-4.0 导学
-4.1 jsp概述
--4.1.2 测试
-4.2 脚本元素
--4.2.2 测试
-4.3 指令元素
--4.3.2 测试
-4.4 动作元素
--4.4.3 测试
-4.5 内置对象
--4.5.3 测试
-4.6 JavaBean
--4.6.3 测试
-4.7 任务实现:某高校毕业生信息发布系统-首页(JSP版)
--4.7.1 任务实现:某高校毕业生信息发布系统-首页(JSP版)
-4.8 小结
--4.8.1 小结
-5.0 导学
--5.0.2 测试
-5.1 el语法
--5.1.2 测试
-5.2 el隐含对象
--5.2.2 测试
-5.3 任务实现:某高校毕业生信息发布系统-学生详细信息展示
--5.3.1 任务实现:某高校毕业生信息发布系统-学生详细信息展示
--5.3.2 测试
-5.4 小结
--5.4.1 小结
-6.0 导学
--6.0.2 测试
-6.1 核心标签库
--6.1.5 测试
-6.2 任务实现:某高校毕业生信息发布系统-首页(JSTL版)
--6.2.1 任务实现:某高校毕业生信息发布系统-首页(JSTL版)
--6.2.2 测试
-6.3 小结
--6.3.1 小结
-7.0 导学
--7.0_导学
-7.1 过滤器
--7.1.3 测试
-7.2 监听器
--7.2.1.1与ServletContext相关的监听器
--7.2.4 测试
-7.3 任务实现:某高校毕业生信息发布系统-单态登录
--7.3.1 任务实现:某高校毕业生信息发布系统-单态登录
--7.3.2 测试
-7.4 小结
--7.4.1小结
-8.0 导学
--8.0_导学
-8.1 JDBC API
--8.1.2 测试
-8.2 JDBC API访问MySQL基本步骤
--8.2.2 测试
-8.3 任务实现:某高校毕业生信息发布系统-注册与登录
--8.3.1 任务实现:某高校毕业生信息发布系统-注册与登录(JDBC版)
--8.3.2 测试
-8.4 小结
--8.4.1小结
-9.0导学
--9.0导学
-9.1 技术准备
--9.1.5 测试.
-9.2 系统设计
-9.3 系统实现
-9.4 小结
--9.4.1小结




