第四周  JSP

一  JSP概述

含义:

Java Server Pages, 广泛使用的服务器端脚本语言之一;(运行在服务器端  BS结构

由服务器端的JSP引擎执行JSP代码,然后将结果以HTML页面形式发送到客户端。

JSP页面:使用JSP编写的程序文件(扩展名为.jsp)。
JSP页面主要由传统的HTML代码和嵌入到其中的Java代码组成。 (动态生成页面内容)
在一个JSP页面中,可以包括:HTML代码、CSS代码、JavaScript代码、嵌入的Java代码、指令标识、动作标识、注释等内容。

二  JSP运行原理

1. Web浏览器发送来一个页面请求 ---> 判断是否为JSP页面请求  (页面是HTML页面请求:直接将请求的页面代码传回Web浏览器)

---> 请求的是JSP页面 (JSP引擎检查是否为第一次请求)

--->  ①  第一次请求:JSP引擎就将此JSP页面代码转换为Servlet代码(.java),然后对其进行编译生成字节码(.class)文件并执行

---> ②不是第一次请求且没有被修改过:JSP引擎调用JVM执行已经编译生成过的字节码文件(而不会重复编译)

---->  并将执行结果传给Web浏览器进行显示

三 脚本标识

分类:

(1)JSP表达式 :

语法格式:<%= 表达式 %>
表达式:可以是Java语言的任何表达式,其最终结果将被转换为字符串予以输出

(2)

① 声明标识  (生命周期是从创建开始到服务器关闭结束)

含义:用于在JSP页面中定义全局的变量或方法(可被整个JSP页面访问)

语法格式: <%!    声明变量或方法的代码    %>

<%!
int num = 0; //全局变量
int check(){ //全局方法
num++;
return num;
}
%>

② 代码片段(生命周期是从创建开始到页面被关闭,关闭后就会被销毁)

含义:JSP页面中的嵌入Java代码或脚本代码(在页面请求的处理期间被执行)。
通过Java代码可以定义变量或流程控制语句等;
通过脚本代码可以应用JSP内置对象在页面上输出内容、处理请求和响应、访问session等。
语法格式:
    <%    Java代码或脚本代码    %>

(3)脚本程序

四 page指令

1. 含义:指定整个JSP页面的相关属性

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

3. 常用属性:

(1)language属性
用于指定JSP页面使用的语言,目前仅支持Java语言。

例如:
       <%@ page language="java"%>

(2)import属性
用来指定JSP页面需要导入的类包(供页面中嵌入的Java代码使用或调用)。

例如:
<%@ page import="java.util.Date" %>

(3)session属性
指定JSP页面是否使用HTTP的session(会话)对象。默认值为true。

例如:
      <%@ page session="false"%>

(4)pageEncoding属性
指定JSP页面编码格式,即文件编码(字符集)。为支持中文,通常将该属性设置为GBK或UTF-8。

例如:
       <%@ page pageEncoding="utf-8"%>

(5)contentType属性
指定JSP页面的MIME类型和字符编码,客户端浏览器会根据该属性显示网页内容。

例如:
      <%@ page contentType  =  "text/html;  charset=utf-8"%>

......

五 包含指令

1.含义:将其他文件包含到当前JSP页面中。

2. 分类 :

静态包含

使用include指令(文件包含指令) 将其他文件包含到当前JSP页面中

语法格式:
     <%@ include file="path"%>

动态包含

1. 含义:使用包含文件标识 <jsp:include> 将其他的文件包含到当前JSP页面中。

2. 语法格式:
<jsp:include page=“url” flush=“false|true“ / >  或   <jsp:include page="url" flush="false|true">
子动作标识: <jsp:param>   </jsp:include>
参数说明:
page属性:用于指定被包含文件的相对路径。
flush属性:设置是否刷新缓冲区。默认值为false。
子动作标识<jsp:param>:用来向被包含的动态页面中传递参数。

静态包含与动态包含的区别:

1.  前者被包含文件和包含文件中的变量(或方法)名称不能相重

2. 前者通过file属性指定被包含文件,而且file属性不支持任何表达式;后者通过page属性指定被包含文件,而且page属性支持JSP表达式

六 跳转指令

① 含义:JSP的请求转发标识<jsp:forward> ,用于将请求转发到其他的Web资源,之后当前页面不再执行,而是去执行该标识指定的目标页面,并由目标页面向浏览器返回结果。

② 语法格式:
    <jsp:forward page="url"/>    或
    <jsp:forward page="url">
           子动作标识<jsp:param>
    </jsp:forward >

(2)动作标识<jsp:param>

① 含义:可以作为其他标识的子标识,用于向其他标识传递参数。
②  语法格式:   <jsp:param name= "参数名" value="参数值"  /  >
参数说明:
name:  用于指定参数名称;
value : 用于设置对应的参数值。
参数以  “参数名 = 参数值”  形式加入到转发的请求中。

七  JSP注释

(1)显示注释:客户端查看源代码时可见

<!--     <%=  new Date()  %>    -->

(2)隐式注释:客户端不可见

<%--    注释内容    --%>

(HTML中的注释只有一种:显示注释  <!--  注释内容  -->     )

【网页设计】第四周 JavaSript的更多相关文章

  1. Httpster –世界各地最潮的网页设计案例聚合网站

    Httpster 这个网站聚合了世界各地最新最潮的网页设计案例,展示了创意的设计,精心的策划,优秀的排版.这些作品都按月份和类别进行了很好划分,你可以方便的找到自己感兴趣的网站案例. 立即去看看 您可 ...

  2. 自适应网页设计(Responsive Web Design)

    引用:http://www.ruanyifeng.com/blog/2012/05/responsive_web_design.html 随着3G的普及,越来越多的人使用手机上网. 移动设备正超过桌面 ...

  3. 手机web——自适应网页设计(html/css控制)

    一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的? 其实并不难. 首先,在网页代码的头部,加入一行viewport元标签. <meta name=" ...

  4. 15个前卫的 HTML5 & CSS3 网页设计作品

    今天,我们编译收集一组使用 HTML5 和 CSS3 制作的精美网站.在此集合中,你可以看到平面设计,网页设计,作品集和企业网站设计实例. 响应式设计和基于 HTML5 & CSS3 编码的网 ...

  5. 经典网页设计:20个与众不同的国外 HTML5 网站

    大家都都知道, HTML5 具备所有最新的技术和功能,帮助我们创造平滑过渡,花式图像滑块和动画.如果你正在考虑使用HTML5 来设计自己的网站,那么这个集合能够帮助你. 在过去的10年里,网页设计师使 ...

  6. 经典网页设计:20个华丽的 iPhone 应用程序演示网站

    一个物品销售很好,重要的原因之一是它的包装,因为这是最重要的细节,可以把一个人转变成购买者.一个好的包装设计和良好的表现比产品本身更重要,因此被分配了大量的金钱和资源,以创造伟大的东西. 因此,为了销 ...

  7. FROONT – 超棒的可视化响应式网页设计工具

    FROONT 是一个基于 Web 的设计工具,在浏览器中运行,使得各类可视化设计的人员都能进行响应式的网页设计,即使是那些没有任何编码技能的设计师.FROONT 使得响应式网页设计能够可视化操作,能够 ...

  8. PS网页设计教程——30个优秀的PS网页设计教程的中文翻译教程

    PS网页设计教程--30个优秀的PS网页设计教程的中文翻译教程   作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,"熟读唐诗三百首,不会作 ...

  9. 韩国网页设计资料《网页设计大师2》JPG+PSD+TXT等 73.89G 百度云下载

    < 网页设计大师2 >超越第一代版本,提供更新更精美的网页素材模板.全部由国际顶级设计师精选打造,完全展示走在潮流 之前的设计风格.是网页设计师/UI交互界面设计师必备工具. < 网 ...

  10. HTML5+CSS3的响应式网页设计:自动适应屏幕宽度

    这几天都在修改博客上面的样式.本来用的是d83.0的模板.自己又修改了许多地方,其中自己修改的一些地方在手机里面显示的效果不是很理想,于是想改成自适应的效果.对CSS3不是特别的熟练,只能去网上找找案 ...

随机推荐

  1. mybatis多对一与一对多

    步骤: 1.创建maven项目 2.编写工具类 3.编写实体类 4.编写mapper接口 5.配置xml 6.测试 多对一:多个学生关联一个老师 工具类: //sqlSessionFactory -- ...

  2. 树莓派ssh总掉线

    之前入手了一个树莓派,但是远程ssh连接经常掉线,开始以为是电源不行,导致机器重启,后面加了一个显示器,观察了一段时间,发现机器并没有重启,应该是WiFi掉线了,在网上发现,树莓派如果一段网络没有流量 ...

  3. 【C#】CsvHelper 使用手册

    目录 简介 模块 读取 读取所有记录 逐条读取 读取单个字段 写入 写入所有记录 逐条写入 逐字段写入 特性 Index Name NameIndex Ignore Optional Default ...

  4. Codeforces1157A(A题)Reachable Numbers

    A. Reachable Numbers Let's denote a function f(x)f(x) in such a way: we add 11 to xx, then, while th ...

  5. orcle报错:ORA-12737:Instant Client Light:unsupported server character set ZHS16GBK

    我们用Navacat连接Oracle数据库的时候,会提示ORA-12737:Instant Client Light:unsupported server character set ZHS16GBK ...

  6. iframe中请求页面而session失效时页面跳转问题

    iframe中请求页面而session失效时页面跳转问题 分类: Web2009-12-11 15:01 656人阅读 评论(0) 收藏 举报 sessioniframejsp 有时候做了就忘了,我记 ...

  7. 【MySQL】剖析MySQL读写分离技术

    主从技术的一个基本流程图: 如何实现主从复制的呢: MySQL  Master(主节点) 1>当一个请求来时,首先由[mysqld]写入到我们的主[data]中 2>然后[mysqld]将 ...

  8. 【Mood】出大问题(最近很喜欢说这句话)

    开学两周啦,第一周来了一次开学考,是崩了,还好没公布成绩和排名. 这两周下了一个很大的决心,准备转型/专注文化课,初三一次信息学奥赛比赛后就不学了,先保证能上高中重点班(如果有的话). 因为现在起步太 ...

  9. ASP.NET Core on K8S学习之旅(14)Ingress灰度发布

    本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 之前一篇介绍了Ingress的基本概念和Nginx Ingress的基本配置和 ...

  10. 微信小程序制作个人简历

    使用微信小程序云开发制作自己的个人简历,简单高效. 首先需要了解小程序的基本结构以及云开发模式,及一些css样式基础. 使用小程序云数据库.vant组件库实现简历内容. 最终效果如下: 首先申请个人微 ...