JavaWeb学习笔记 ---- Jsp基础知识归纳篇(上)

JavaWeb学习笔记 ---- Jsp基础知识归纳篇(上)

1. jsp的注释

jsp可以支持两种注释方法,一种是显式注释,即客户端可以通过查看源码看见此注释;另一种是隐式注释,客户端无法查看该注释。

1.1 显式注释格式:<!--注释内容-->


1.2 隐式注释格式:
格式一://注释内容 (单行注释)
格式二:/*注释内容*/ (多行注释)

格式三:<%--注释内容--%> (jsp注释)


2. Scriptlet脚本小程序

在jsp中,HTML可以嵌入Java代码,不过嵌入的Java代码需要用scriptlet标记出来。

2.1 scriptlet的格式:
格式一:<% Java代码 %> 这种格式的scriptlet主要是用来定义变量和编写语句的,三者使用的频率最多。
格式二:<%! Java代码 %> 这种格式的scriptlet主要是用来定义全局变量、方法和类。而且一个<%! %>格式不能定义其他不是上述类型的语句。
格式三:<%= Java代码 %> 通常称为表达式输出,这种格式的scriptlet主要是用来输出一个变量或具体内容的。
小结:使用scriptlet的好处是实现了网页语言和Java代码的分离,使得以后的调试变得不会那么困难。

3. scriptlet标签

考虑到在网页代码中出现过多<% %>等标记同样会使网页代码变得复杂,所以新版的jsp中提供了新的scriptlet标签,同样可以完成上述<% %> 的功能。

3.1 scriptlet标签格式

<jsp:scriptlet>

 Java内容

</jsp:scriptlet>

其实<jsp:scriptlet></jsp:scriptlet>和<% %>的用处是一样的,虽然前者写起来比较麻烦,但是在网页代码中的显示效果确实要比后者好一些,要知道,阅读代码是一件头疼的事情。最后要注意一点使用该标签后要完结该标签。


4. page指令

page指令在jsp开发中比较重要,使用page指令可以定义jsp页面的相关属性。
本节只介绍几个比较常用的page指令,但首先我们要了解这些指令的语法:
Page语法格式:<%@page 属性 =“内容”%>

4.1设置页面属性


通常在myeclips里面生成的jsp会自动附带一些页面属性,如上图所示:包括页面会使用的Java语言,Java包以及页面编码。


上面这张图片比前一张图片多了一个page指令属性——contentType:表示定义jsp字符的编码和页面响应的MIME类型。因为我们使用的是中文表示形式,所以除了contentType要如上设置外,同时还要将pageEncoding设置为GBK。(虽然说新版本的tomcat不用设定也能正常显示中文,但为了养成良好的编程习惯,读者还是写上比较好。)


4.2 错误页的设置
想要完成错误页跳转的操作,页面应该满足以下两个条件:
(1) 指定出现出现错误时的跳转页面,通过errorPage属性指定。

(2) 处理错误页必须有明确的标识,通过isErrorPage属性指定。


通过上图可知:show页面通过page指令指定了当show页面出现错误时的跳转页面“error.jsp”,但是error.jsp页面也要把isErrorPage属性指定为“true”时才能完成错误页处理。
(3) 简单识别两种跳转方式
用户的请求通常为request,服务器接收请求返回回应成为response,而且两种是一一对应的关系,即一个request对应一个response。
由日常我们上网可知,浏览器的上部一般都会有一个地址栏,显示的是当前页面的地址信息。
当我们点击一个连接时,页面会发生跳转,地址栏页面地址也随之发生改变,此时我们称其为客户端跳转。
当我们点击一个连接时,页面会发生跳转,地址栏页面地址没有发生改变,此时我们称其为服务器跳转。

5. 包含指令

5.1 静态包含
(1) 语法规则:<%@ page include = “被包含文件路径”%>
(2) 静态包含是先包含,后编译。

(3) 注意:包含语句是写在body内部的,当做普通内容来展现。被包含的页面通常不要写<html><head>等等标签,一般只写可以在<body>使用的标签。因为一个页面里面出现多个<html>等标签可能会导致页面显示不正常。


5.2 动态包含
(1) 语法规则:
<jsp:include page = “{被包含文件路径 | <%=表达式%>}”/>或者
<jsp:include page = “{被包含文件路径 | <%=表达式%>}”>
<jsp:param name = “参数名称”,value = “参数内容”/>
..............

</jsp:include>

(2) 动态包含是先处理,后包含。


5.3 跳转指令
语法规则与动态包含相似:
<jsp:forward page = “{被包含文件路径 | <%=表达式%>}”/>或者
<jsp: forward page = “{被包含文件路径 | <%=表达式%>}”>
<jsp:param name = “参数名称”,value = “参数内容”/>
..............
</jsp: forward >
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章