- 概述
- 页面元素及内置对象的概念
- Servlet 与 JSP 作用总结
- 登录案例
- 使用 Servlet 生成动态网页,任何网页的内容都可以通过 out.priintln() 一行一行的实现
- 执行步骤:
- 容器初始化 Servlet实例。根据网页相对应的请求方法,调用与之对应的 doXXX 方法,并初始化请求和响应对象,作为 doXXX 方法的参数使用
- 执行 doXXX 方法后,将响应对象的数据流写到客户端
- 游览器将收到的数据进行解析,显示给用户
问题提出?
Servlet 生成动态页面太麻烦了,其实大部分静态内容都是一行一行的输出
解决方案:
1.2 JSP 功能与特性 1.2-1 JSP 功能与特性Java EE 提供了新的动态页面组件 JSP,可以更加便捷的生成动态网页
- JSP (Java Server Page)是 JavaEE 规范中的 Web 组件,用来编写动态页面
- JSP 运行在服务端,本质是 Servlet
- JSP 文件以 .jsp 为后缀,存放在项目下的 WebContent 目录下
- JSP 文件游览器可以直接访问
- JSP 文件的内容是 HTML + Java 代码,静态部分使用 HTML 和 文本即可,动态部分使用 Java 代码
一个标准的 JSP 页面如下
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
这里就是 JSP 的静态文本结构,比Servlet 简单多
<% System.out.println("Hello World")%>
特别强调,在 JSP 中, 动态部分是写 Java 代码为主<%%> 为脚本片段,<%=%> 为输出表达式
1.3 JSP 的执行流程解析JSP 的执行流程主要分为三个部分:
首先我们编写好了一个 index.jsp 文件是打开游览器运行,这时候进行了如下过程
- Web 服务器找到了 index.jsp,然后会对其进行翻译,生成 index_jsp.java 文件,然后进入工作空间
.metadata.pluginsorg.eclipse.wst.server.coretmp0workCatalinalocalhost
- 编译、服务器(tomcat服务器) 会将 index_jsp.java 编译成 class 文件(类文件),翻译和编译过程遵守 Servlet规范,因此说 JSP 的本质也是 Servlet
- 运行:实例化并提供服务:服务器实例化类,调用类中的_jspService方法提供服务
我们可以在 生成的 index_jsp.java 文件中下的 _jspService 文件下可以看到一行行我们在 HTML 中编写的代码,全部都在这个文件中变成了 out.println(xxx)。静态内容都是用 out 输出,和 Servlet中输出的是一样的,而且
所有的 Java代码都直接翻译到相对应的位置。
总结一句话,JSP 的本质就是一个 Servlet,不过是服务器翻译生成了 Java 类,不用我们编写而已。但是也并不是 Servlet 没有任何用了,它还可以用来写一些后台逻辑等问题
提问 与 总结- 为什么要用 JSP 组件?
答:Servlet 生成动态页面比较繁琐,使用 JSP生成动态页面比较便捷,其中静态内容可以使用 HTML 生成
- JSP 执行的流程是什么?
答:JSP 的执行过程 翻译—>编译—>实例化—>提供服务
JSP 的本质就是 Servlet,不过服务器是将 JSP 进行了翻译和编译,可以说 JSP 也是Java 类
二、页面元素及内置对象概念知识点:
- 脚本元素
- 表达式元素
- 模板元素
- 声明元素
- 内置对象概念
- 脚本元素可以包含 Java 代码
- 基本格式: <%Java代码%>
<%System.out.println("我是脚本元素")%>
- 服务器翻译脚本元素的时候,将其中的 java 代码直接翻译到 _jspService中,如果语法错误,游览器就会显示对应的错误
- 表达式元素用来向叶面输出动态内容
- 格式为:<%=Java代码%>,例如
<%=request.getRemoteAddr() %> 获取当前的端口
- 服务器翻译表达式元素时,将把其中Java代码部分的返回值使用out.write语句输出,例如:
out.write("您的IP地址:");
out.print(request.getRemoteAddr() );
2.3 模板元素
- 模板元素指 JSP 中静态 HTML 或者 XML 内容;
- 在 JSP 中可以使用注释元素,有三种情况
- 格式为 <%-- JSP --%>,JSP的注释只有在源代码中可见,翻译时已忽略
- 在 JSP 中,除了使用 JSP 注释外,还可以使用 HTML 注释
热门相关搜索路由器设置 木托盘 宝塔面板 儿童python教程 心情低落 朋友圈 vim 双一流学科 专升本 我的学校 日记学校 西点培训学校 汽修学校 情书 化妆学校 塔沟武校 异形模板 西南大学排名 最精辟人生短句 6步教你追回被骗的钱 南昌大学排名 清朝十二帝 北京印刷学院排名 北方工业大学排名 北京航空航天大学排名 首都经济贸易大学排名 中国传媒大学排名 首都师范大学排名 中国地质大学(北京)排名 北京信息科技大学排名 中央民族大学排名 北京舞蹈学院排名 北京电影学院排名 中国戏曲学院排名 河北政法职业学院排名 河北经贸大学排名 天津中德应用技术大学排名 天津医学高等专科学校排名 天津美术学院排名 天津音乐学院排名 天津工业大学排名 北京工业大学耿丹学院排名 北京警察学院排名 天津科技大学排名 北京邮电大学(宏福校区)排名 北京网络职业学院排名 北京大学医学部排名 河北科技大学排名 河北地质大学排名 河北体育学院排名



