1、jsp的出现

  

2、jsp脚本和注释

  (1)jsp脚本

    ①<%java代码%> ----- 内部的java代码翻译到service方法的内部;

    ②<%=java变量或表达式> ----- 会被翻译成service方法内部out.print() ;

    ③<%!java代码%> ---- 会被翻译成servlet的成员的内容。

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<!-- ① -->
<%
int i = 0;
System.out.println(i);
%> <!-- ② -->
<%=i%> <!-- ③ -->
<%!String str = "hello!";%>
<%=str%>
</body>
</html>

  (2)jsp注释:不同的注释可见范围是不同

    ①Html注释:<!--注释内容--> ----可见范围 jsp源码、翻译后的servlet、页面显示html源码;

    ②java注释://单行注释  /*多行注释*/ ---可见范围 jsp源码、翻译后的servlet ;

    ③jsp注释:<%--注释内容--%> ---可见范围 jsp源码可见 。

3、jsp运行原理-----jsp本质就是servlet

  (1)jsp在第一次被访问时会被Web容器翻译成servlet,再执行;

  (2)过程:第一次访问---->helloServlet.jsp---->helloServlet_jsp.java---->编译运行;

  (3)被翻译后的servlet在Tomcat的work目录中可以找到。

4、jsp的指令是指导jsp翻译和运行的命令,jsp包括三大指令:

  (1)page指令 --- 属性最多的指令(实际开发中page指令默认);

    ①属性最多的一个指令,根据不同的属性,指导整个页面特性;

    ②格式:<%@ page 属性名1= "属性值1" 属性名2= "属性值2" ...%> ;

    ③常用属性如下: 

language:jsp脚本中可以嵌入的语言种类 ;
pageEncoding:当前jsp文件的本身编码---内部可以包含contentType ;
contentType:response.setContentType(text/html;charset=UTF-8) ;
session:是否jsp在翻译时自动创建session ;
import:导入java的包 ;
errorPage:当当前页面出错后跳转到哪个页面 ;
isErrorPage:当前页面是一个处理错误的页面 。

  (2)include指令

    ①页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中;

    ②格式:<%@ include file="被包含的文件地址"%> 。

  (3)taglib指令

    ①在jsp页面中引入标签库(jstl标签库、struts2标签库);

    ②格式:<%@ taglib uri="标签库地址" prefix="前缀"%> 。

4、jsp九大内置/隐式对象(9个)

  (1)jsp被翻译成servlet之后,service方法中有9个对象定义并初始化完毕,我们在jsp脚本中可以直接使用这9个对象;

  

  (2)out对象

    ①out的类型:JspWriter ;
    ②out作用就是想客户端输出内容----out.write() ;
    ③out缓冲区默认8kb,可以设置成0,代表关闭out缓冲区,内容直接写到respons缓冲器。

  (3)pageContext对象

    jsp页面的上下文对象,作用如下:

  

5、jsp标签(动作)

  (1)页面包含(动态包含):<jsp:include page="被包含的页面"/>;

  (2)请求转发:<jsp:forward page="要转发的资源" /> ;

  (3)静态包含与动态包含的区别?

  

03013_动态页面技术-JSP的更多相关文章

  1. 动态页面技术JSP/EL/JSTL

    本节内容: jsp脚本和注释 jsp运行原理 jsp指令(3个) jsp内置/隐式对象(9个) jsp标签(动作) EL技术 JSTL技术 JavaEE的开发模式 动态页面技术:就是在html中嵌入j ...

  2. JavaWeb之动态页面技术JSP/EL/JSTL

    一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> - ...

  3. 动态页面技术----JSP技术

    1995年java诞生,没有jsp,只有Servlet, Servlet开发:Servlet上嵌套html代码,非常繁琐. 1998年,出现jsp,方便写html代码,并且可以在html代码中嵌套ja ...

  4. JavaEE之动态页面技术(JSP/EL/JSTL)

    动态页面技术(JSP/EL/JSTL) JSP技术 jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%= ...

  5. java ->动态页面技术(JSP)

    动态页面技术(JSP/EL/JSTL) JSP技术 jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%= ...

  6. 动态页面技术之JSP

    1.什么是JSP技术 JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导.许多公司参与一起 ...

  7. 动态页面技术(JSP)

    JSP技术 jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> ----- ...

  8. 动态网页技术---JSP

    JSP(全称JavaServer Pages)是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML.XML或其他格式文档的Web网 ...

  9. JSP动态页面技术

    1.JSP和html的区别 处理过程的区别 HTML 浏览器发送一个请求到服务器,服务器找到这个页面直接返回. JSP 浏览器发送一个请求道服务器,服务器判断到时.jsp结尾,去调用JSP引擎,JSP ...

随机推荐

  1. bootstrapTable的数据后端分页排序

    数据后端分页排序,其实就是sql语句中oeder by做一些限制. 之前在写sql语句中的order by是写死,既然要写活,就要传参数到后台. 之前讲到bootstrapTable的queryPar ...

  2. Django之model基础(增删改查)

    一.ORM 映射关系 表名 <-------> 类名 字段 <-------> 属性 表记录 <------->类实例对象二.创建表(建立模型) 在创建表之前的准备 ...

  3. 《译》准备做一些 AR/增强现实的 翻译

    中文这方面资料实在少之又少. 准备做一些这方面翻译,关注于Vuforia, Unity3d, Hololens等方面. 如有问题.建议,随时联系.Fell free ton contact me.

  4. 阻止Bootstrap 模态框(Modal)点击空白处时关闭

    默认情况下点击空白处时会关闭模态框,添加data-backdrop="static"后可以阻止关闭

  5. OutOfMemoryError异常 和 StackOverflowError异常

      OutOfMemoryError异常  StackOverflowError异常  程序计数器 无 无 Java虚拟机栈 如果虚拟机栈可扩展,扩展时无法申请到足够内存 线程请求的栈深度大于虚拟机所 ...

  6. 美国移民局的I797表原件和I129表是什么呢

    I-129表,Petition for a Non-immigrant Worker,即非移民工作许可申请表I797 表 ,Original L1-1A approval notice L1签证批准通 ...

  7. C++ vector容器类型的用法及注意

    转自http://www.cnblogs.com/charley_yang/archive/2010/12/11/1903040.html vector类为内置数组提供了一种替代表示,与string类 ...

  8. 【挖坑】2019年JAVA安全总结:SQL注入——新项目的开发与老项目的修复

    如何在项目中有效的防止SQL注入 写给需要的人,所有的问题源自我们的不重视. 本章略过"什么是SQL注入","如何去利用SQL注入"的讲解,仅讲如何去防御 PS ...

  9. #linux 下Sublime的安装

    1.Download http://www.sublimetext.com/2 Installtion use tar  解压压缩包,这里我将包改了个名字,这样就不用写空格的转义字符了,改成Subli ...

  10. 我的Linux学习之路的感悟

    首先要跟大家说声抱歉,这么久一直没有更新,有负大家对我的期望. 半年的Linux运维的学习到目前已工作一个月零9天,这一路走来的艰辛和挣扎只有自己最清楚. 首先要感谢公司的同事的宽容接纳和耐心指点.感 ...