Web第二次作业——jsp1

一、什么是JSP?

JSP全称Java Server Pages,是一种动态网页开发技术。有别于传统的HTML,它是在HTML代码的基础上嵌入Java代码片段和JSP标签,构成了JSP网页。JSP文件以.jsp为后缀名。

二、打开JSP文件

当我们打开JSP文件时,服务器内部会经历一次从动态资源(JSP)到静态资源(HTML)的转化。服务器会自动把JSP 中的 HTML 片段和数据拼接成静态资源响应给浏览器。也就是说,JSP 运行在服务器端,但最终发给客户端的是已经转换好的 HTML 静态页面。

三、JSP的技术特征?

  1. 跨平台

  1. 业务代码分离

采用JSP技术开发的项目,通常使用HTML语言来设计和格式化静态页面的内容,而使用JSP标签和Java代码片段来实现动态部分。

  1. 组件重用

  1. 继承Java Servlet功能

JSP是在Servlet的基础上发展起来的,它是JSP的拓展和优化,我们可以在JSP中使用Servlet的全部功能。(且JSP依赖于Servlet,用户访问JSP页面时,JSP代码会被翻译成Servlet代码,最终以字符串的形式向外输出HTML代码。)

  1. 预编译

预编译就是指在用户第一次通过浏览器访问JSP页面时或者是编译之后对其进行了修改之后,服务器将对JSP页面代码进行编译,并且只执行一次编译。编译好的代码将被保存,在用户下一次访问时,直接执行编译好的代码。

四、JSP和Servlet的对比

注:以下这张表格内容为转载,侵删

Servelt

JSP

Servlet在Java内添加HTML代码

JSP 在 HTML 内添加 Java 代码

Servlet 是一个 Java 程序,支持 HTML 标签

JSP 是一种 HTML 代码,支持 Java 语句

Servlet 一般用于开发程序的业务层

JSP 一般用于开发程序的表示层

Servlet 由 Java 开发人员创建和维护

JSP 常用于页面设计,由 Web 开发人员使用

五、JSP的基本构成

1)指令标签:通常位于文件首位

2)HTML语句:定义网页内容的显示格式

3)注释:分三种,HTML的注释格式,JSP的注释格式和嵌入Java代码的注释格式

4)嵌入Java代码:Java代码被包含在<%%>标签中

5)JSP动作标签:是JSP标签的一种,它们都使用"JSP:"开头

六、指令标签

首先需要明确:指定标签不会产生任何内容输出到网页中,主要用户定义整个JSP页面的相关信息。服务器会根据JSP指令来编译JSP,生成Java文件。

JSP指令以<%@开头,以%>结束,具体语法如下:

<%@ directive attribute = "value" attributeN = "valueN" ...%>

  1. page指令(以下仅为部分属性)

属性

说明

language

设置JSP页面使用的语言,目前只支持Java语言。故默认值为Java。

extends

设置JSP亚眠继承的Java类。该属性不常用。

import

设置JSP导入的类包。

pageEncoding

指定文件编码。通常设置编码格式为GBK或UTF-8。

contentType

用于设置JSP页面的MIME类型和字符编码,浏览器会据此显示网页内容。

:以上属性除了import可以声明多个外,其它属性都只能出现一次。

  1. include指令

include指令用于文件包含。该指令可以在JSP页面中包含另一个文件的内容,但是它仅支持静态包含。被包含的文件可以是一段Java代码、HTML代码或者是另一个JSP页面。

eg.<%@include file = "validate.jsp"%>(file属性用于指定被包含的文件,其取值是当前JSP页面文件的相对URL路径

实例:在当前页面中包含另一个JSP文件来显示当前日期

1)date.jsp文件

<%@ page pageEncoding="GB18030" import = "java.util.*"%>
<!DOCTYPE html>
<%
    Date now = new Date();
    String dateStr;
    dateStr = String.format("%tY年%tm月%td日", now, now, now);
%>
<%=dateStr%>

2)index.jsp文件

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030" import = "java.util.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN">
<html>
<head>
    <title>include指令演示</title>
</head>
<body>
    <!-- HTML注释信息 -->
    当前日期是:
    <%@include file = "date.jsp" %>
    <br>
</body>
</html>

3)程序运行结果

:被include指令包含的JSP页面中不要使用<html>和<body>标签,它们是HTML的结构标签,被包含进其他JSP页面会破坏页面格式。另外还要注意源文件和被包含文件中的变量和方法的名称不要冲突,因为它们最终会生成一个文件,重名将导致错误发生。

  1. taglib指令

该指令用于加载用户自定义标签。使用该指令加载后的标签可以直接在JSP页面中使用。其语法格式如下:

<%@taglib prefix = "fix" uri = "tagUriotDir"%>

prefix属性:用于设置加载自定义标签的前缀

uri属性:用于指定自定义标签的描述符文件位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值