JSP注释
第2章 JSP语法
五、Java控制结构
• 顺序结构 • 选择结构 • 循环结构
顺序结构
• 按设计时所确定的次序,一个一个语句的顺序执行 • 一般程序主体采用顺序结构,其中嵌套选择和循环结构。
选择结构控制
单选if、 双选if„else、 多选switch
if语句
if (条件表达式) 语句
条件?
True
例:
String x="男",s=""; if(x=="男") s="不能进入";
实践环节: 上机实战,验证结果
• 例3:利用Switch语句编程实现分数和等级的对应 • 0~59:E 60~70:D 70~80:C • 80~90:B 90~100:A
实践环节: 编写网页 exa2_14.jsp:表单页面,输入学生的成绩 exa2_15.jsp:根据成绩值显示成绩的等级
二、循环结构控制
知识点介绍
• 乱码问题: • ex9.jsp页面获取的信息可能是乱码(由很多?组 成),此时必须对含有汉子的字符进行特殊的处 理。
• 解决方案:在获取表单信息之前设置统一编码 • request.setCharacterEncoding("GBK");
• 例1写出程序 • • y= •
-1 0 1
案例
例1: int x=6, y=10, k=5; switch( x%y ) { case 0: k=x*y; break; case 6: k=x/y; break; case 12: k=x-y; break; default: k=x*y-x; break; } 例2: char ch='A'; int r=6; switch( ch+5 ) { case 'A': r=r+3; break; case 'B': r=r+5; break; case 'C': r-=6; break; default : } r/=2;
chap2_JSP语法
example2_2.jsp:
5
2. JSP页面的成员变量和方法
JSP页面在“<%!”和“%>”之间声明 定义的方法 ,在该JSP页面有效,该方法 内的变量只在该方法内有效
对于在“<%!”和“%>”标记符号之间 定义类,可以在Java程序片中使用该类 创建对象。
18
不允许两次使用page 指令给contentType 属性指定不同的属性值 .
常用类型值有: text/html、text/plain、 image/gif、 image/jpeg、 application/x-shockwave-flash、 application/msword等
实例:example2_8.jsp
16
contentType属性
contentType 属 性 值 确 定 JSP 页 面 响 应 的 MIME (Multipurpose Internet Mail Extention)类型。
例如:
<%@ page contentType="text/html " %> <%@ page contentType="application/msword" %>
如果需要在JSP页面内某处整体嵌入一个文件,就 可以考虑使用include指令标记,其语法格式如下: <%@ include file= "文件的URL " %>
如果该文件和当前JSP页面在同一Web服务目录中, 那么“文件的URL”就是文件的名字;
如果该文件在JSP页面所在目录的子目录中,比如 fileDir子目录中,那么“文件的URL”就是 “fileDir/文件的名字”。
JSP基本语法
JSP脚本JSP通用语法规则JSP通用语法规则包括:JSP的标记规则、JSP元素中的相对路径规则、JSP元素中的转义规则。
JSP的标记规则每一个JSP元素都有一个起始标记和一个结束标记。
起始标记为“<%”或“<jsp:”,结束标记为“%>”或“/>”。
比如:<jsp:include page=”/index.jsp”/><%if(sum>0) sum=sum+42;%>注起始标记和结束标记一定要在同一个JSP页面中,且成对出现JSP元素中的相对路径规则在JSP中可以使用相对路径,相对路径是以字符“/“开头的。
比如:/test/testChinese.jsp——说的实际路径是“C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\test\testChinese.jsp “JSP元素中的转义规则我们已经知道,“<%”和“%>”是JSP中的标记字符,那么如果我们想在程序中用到这两个字符,该怎么区分呢?这就要用到转移规则了。
这里的转义规则包括:“’”被转义为“\’”“””被转义为“\””“\”被转义为“\\”“<%”被转义为“<\%”“%>”被转义为“%\>”下面我们通过一个小例子来看看。
其显示结果如图2-2所示。
图2-2 JSP转义规则示例上面显示结果,可以看到,本来是JSP标记语言的字符,也都显示出来了,实现这样功能的程序代码是怎么样的呢?02-02.jsp文件源代码:<html><head><title>JSP转义规则的例子</title></head><%@page contentType="text/html;charset=gb2312" %><body><p><%out.print("测试要避免冲突的字符串1:\'");%><p><%out.print("测试要避免冲突的字符串2:\"");%><p><%out.print("测试要避免冲突的字符串3:\\");%><p><%out.print("测试要避免冲突的字符串4:%\>");%></p></body></html>JSP脚本元素语法讲了语法规则以后,我们来看看脚本元素,JSP中的脚本元素有四种:注释、声明、表达式和程序段。
第2章 JSP语法
<jsp :param name= »param2 »value= »value2 »/> </jsp:forward>
<jsp :param name= »param1 »value= »value1 »/>
小结
本章主要介绍了JSP页面的组成、指令、动作等技术,重点介绍 了JSP的page指令、include指令的使用,<jsp:include>、 <jsp:forward>等动作指令的使用。 通过本章的学习,读者可以建立一个简单功能的JSP网站。
1.page指令 page指令就是通过设置内部的多个属性来定义JSP文件中的全局 特性。需要注意的是,page指令只能对当前自身页面进行设置, 即每个页面都有自身的page指令。如果没有对属性进行设置, JSP将使用默认指令属性值。
2.include指令 在JSP开发中,可以将一些重用的代码写入一个单独的文件中, 然后通过include指令引用该文件,从而缓解代码的冗余问题, 修改也比较方便。Include指令语法格式为: <%@ include file=”被包含的文件路径”%>
扩展——代码编写规范
1.JSP文件命名 JSP文件名称要以小写字母命名,名称要体现出该页面的意义, 最好能够与模块名称联系在一起。 例如: login.jsp --登录页面 register.jsp --注册页面 message.jsp --消息页面
新知识点——JSP页面组成、声明、代码段、表达式、注释 JSP页面由两部分组成,一部分为静态部分,即HTML标记,用 来完成数据页面显示;另一部分为动态部分,用来完成数据处理, 包括脚本元素、指令元素和动作元素。 脚本元素用来嵌入Java代码,这些Java代码将成为转换得到的 Servlet的一部分;JSP指令元素用来从整体上控制Servlet的结 构;动作元素用来引入现有的组件或者控制JSP引擎的行为。
JSP中的三种注释
JSP中的三种注释
1、JSP单行注释:
JSP单行注释是在匹配标记“<%--”后面添加注释文字,直至行末为止,使用这种注释方法,注释时不需要使用结束字符。
JSP多行注释是用两个标记"<%--"起始多行注释,"--%>"结束多行注释,它的行内的任何字符都会被忽略而不会出现在输出结果中。
JSP HTML注释是使用HTML注释“<!-- ”起始,“--> ”结束,它的行内的任何字符都会被忽略而不会出现在输出结果中。
不同于JSP单行注释和多行注释,JSP HTML 注释是通过 HTML注释可以跨行,除了在JSP脚本内部使用之外,HTML注释还可以在HTML 标签之间使用。
第3章:JSP基础语法
<1>、掌握JSP中注释语句的使用; <2>、掌握JSP中Script的使用及使用的区别; <3>、掌握page指令的作用; <4>、掌握两种包含语句及两种包含语句的 区别; <5>、掌握跳转指令的操作; <6>、可以使用JSP基础语法结合JDBC完成登 录程序的开发;
JSP注释分两种,一种是显示注释,这 种注释客户端是允许看见的;另一种是隐 式注释,这种注释客户端是无法看见的; 在JSP中最重要的就是Scriptlet脚本小 程序,所有嵌入在HTML代码中的java程序 都必须使用Scriptlet标记出来;在JSP中一 共提供了3中Scriptlet代码; 第一种:<%!%> 第二种:<%%> 第三种:<%=%>一定要明确记住字符 串的内容不可改变这一重要特征,一个 String对象内容的改变,实际上是通过内存 地址的“断开-连接”变化完成的,而本身 字符串的内容没有发生任何变化; 可以直接使用String类中的charAt方法 取出字符串指定位置的字符; 在String中使用indexOf方法可以返回 指定字符串的位置; 在
由于那种嵌入scriptlet的代码看起来很 乱,而且不易管理;所以我们应该使用 scriptlet标签指令 <jsp:scriptlet>这里可以定义一些变 量</jsp:scriptlet>; 在使用标签指令时一定要完结; 在JSP中,pageEncoding指的是jsp页 面本身的编码,而contentType中的charset 是服务器发给客户端的内容编码。
JSP JSP中的声明
JSP JSP中的声明在程序开发过程中,时时刻刻都需要使用一些变量,用于存储一些数据信息。
而变量与存储的这些数据信息不是等同的概念,变量是内存中的一块存储空间,这个空间中存放的数据就是变量的值。
在存储数据的存储空间(变量)中,都一个标识符。
程序能够根据标识符索引找到变量所在的位置,然后再将数据信息存储到该空间内。
例如,变量就相当于一个空箱子,而数据信息就相当于箱子内所存放的物品。
而这个空箱子在计算机中,都有一个地址,所以程序会根据地址查找空箱子,并存取空箱子的物品(数据)。
下面可以非常轻松的理解声明的含义,声明就是定义变量,在计算机中定义一个空箱子,并为空箱子赋一个地址(即标识符)。
JSP声明用来让定义页面级(该变量的作用域为该页面)变量,以保存信息或定义JSP页面的其余部分可能需要的支持方法。
如果发现代码太多,通常最好把它们写成一个独立的Java类。
在JSP中用两种声明变量的方法,一种是在<%! %>内,一种是在代码片段“<% %>”内。
例如,下面创建一个Counter.jsp文件,用来记录页面访问量,以及变量本机的IP地址。
文件名:Counter.jsp首先,在<%! %>中定义了一个counter 整型变量,并赋值为0。
再定义一个IPAddress 字符号变量。
然后,在<% %>代码片段中的通过counterFunction( )方法,调用synchronized 定义多线程方法,并使用counter 变量值加1。
其次,在“IPAddress = request.getRemoteAddr( );”语句中,通过request.getRemoteAddr( )获取本机的地址,赋与IPAddress 变量。
最后,分别通过<%=counter%>和<%=IPAddress%>表达式,来显示变量值。
JSP 声明将会转换成Servlet 的成员变量或成员方法,所以JSP 声明部分定义的变量和方法可以使用private 和public 等访问修饰符,也可以使用static 将其变为类成员变量,但不能使用abstract 修饰声明部分的方法,因为抽象方法将导致JSP 对应的Servlet 变成抽象类,从而导致无法实例化。
第2章 JSP语法基础 2.3 JSP指令元素、2.4 JSP动作元素
第2章 JSP语法基础
2.3 JSP指令元素 2.4 JSP动作元素
JSP开发案例教程
本章内容
01 脚本元素 03 JSP指令元素
02 案例ch2.2_datetime: 时间格式化
04 JSP动作元素
05 案例ch2.5_include: 框架类型网页
06 小结与练习
2.3 JSP指令元素
指定在当前页
4
session
中是否允许 10 isThreadSafe 指定是否线程安全
session操作
5
buffer
指定处理页面 输出内容时的 11 缓冲区大小
autoFlush
是定当缓冲区满时是 否自动清空
指定当前页面
说明当前页面是否为
6
errorPage 运行异常时调 12 isErrorPage 其他页面的异常处理
该JSP动作表示获取或创建一个名称为guess的、属于类com.GuessNumber的、生命周期 为session的对象,详见本书案例ch5.4_guessNumber(猜数游戏)。
JSP开发案例教程
所有的动作元素需要两个属性:
id属性
id属性是动作元素的唯一标识,可以在 JSP页面中被引用。动作元素创建的id值 可以通过PageContext来调用。
可以使用绝对或相对URL。 ✓ tagDir属性指示前缀将被用于标识在WEB-INF/tags目录下的标签文件。
2.4 JSP动作元素
JSP开发案例教程
2.4 JSP动作元素
JSP动作元素
➢ JSP动作利用XML语法格式的标记,来控制JSP容器Servlet引擎的行为。 ➢ 利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件
Jsp详解
Jsp详解1.简介2.Jsp的运行原理3.Jsp的语法1.Jsp模板元素2.Jsp中的脚本表达式3.Jsp中的脚本片段4.Jsp的声明5.Jsp注释6.Jsp指令1.首先我们来看一下page指令的用法2.下面在来看一下include指令3.最后来看一下taglib指令7.Jsp中内置的9个隐式对象8.JSP标签库1.jspinclude标签2.jspforward标签3.jspparam或者jspparams标签4.jspuseBean标签jspsetProperty标签jspgetProperty标签9.Jsp中怎么排查错误简介:JSP全称是JavaServer Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。
JSP这门技术的最大的特点在于,写jsp就像在写html,但:它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。
相比servlet而言,servlet很难对数据进行排版,而jsp除了可以用java代码产生动态数据的同时,也很容易对数据进行排版。
不管是JSP还是Servlet,虽然都可以用于开发动态web资源。
但由于这2门技术各自的特点,在长期的软件实践中,人们逐渐把servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用。
其原因为,程序的数据通常要美化后再输出:让jsp既用java代码产生动态数据,又做美化会导致页面难以维护。
让servlet既产生数据,又在里面嵌套html代码美化数据,同样也会导致程序可读性差,难以维护。
因此最好的办法就是根据这两门技术的特点,让它们各自负责各的,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做。
Jsp的运行原理:目标:Web服务器是如何调用并执行一个jsp页面的?Jsp页面中的html排版标签是如何被发送到客户端的?Jsp页面中的java代码服务器是如何执行的?Web服务器在调用jsp时,会给jsp提供一些什么java对象?思考:JSP为什么可以像servlet一样,也可以叫做动态web资源的开发技术?其实Jsp就是一个Servlet,所以我们要先介绍Servlet的相关技术,当我们第一次访问Jsp 的时候,Jsp引擎都会将这个Jsp翻译成一个Servlet,这个文件存放在Tomcat中的work目录中,这里,我们新建一个MyJsp.jsp页面,然后访问以下,我们看一下翻译后的源码:1.<%@ page language="java"import="java.util.*"pageEncoding="utf-8"%>2.3.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">4.<html>5.<head>6.7.<title>My JSP 'MyJsp.jsp' starting page</title>8.9.</head>10.11.<body>12. This is my JSP page. <br>13.</body>14.</html>1.package org.apache.jsp;2.3.import javax.servlet.*;4.import javax.servlet.http.*;5.import javax.servlet.jsp.*;6.import java.util.*;7.8.public final class MyJsp_jsp extends org.apache.jasper.runtime.HttpJspBase9.implements org.apache.jasper.runtime.JspSourceDependent {10.11.private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();12.13.private static java.util.List _jspx_dependants;14.15.private javax.el.ExpressionFactory _el_expressionfactory;16.private org.apache.AnnotationProcessor _jsp_annotationprocessor;17.18.public Object getDependants() {19.return _jspx_dependants;20. }21.22.public void _jspInit() {23. _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();24. _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class .getName());25. }26.27.public void _jspDestroy() {28. }29.30.public void _jspService(HttpServletRequest request, HttpServletResponse response)31.throws java.io.IOException, ServletException {32.33. PageContext pageContext = null;34. HttpSession session = null;35. ServletContext application = null;36. ServletConfig config = null;37. JspWriter out = null;38. Object page = this;39. JspWriter _jspx_out = null;40. PageContext _jspx_page_context = null;41.42.43.try {44. response.setContentType("text/html;charset=utf-8");45. pageContext = _jspxFactory.getPageContext(this, request, response,46.null, true, 8192, true);47. _jspx_page_context = pageContext;48. application = pageContext.getServletContext();49. config = pageContext.getServletConfig();50. session = pageContext.getSession();51. out = pageContext.getOut();52. _jspx_out = out;53.54. out.write("\r\n");55. out.write("\r\n");56. out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n");57. out.write("<html>\r\n");58. out.write(" <head>\r\n");59. out.write(" \r\n");60. out.write(" <title>My JSP 'MyJsp.jsp' starting page</title>\r\n");61. out.write(" \r\n");62. out.write(" </head>\r\n");63. out.write(" \r\n");64. out.write(" <body>\r\n");65. out.write(" This is my JSP page. <br>\r\n");66. out.write(" </body>\r\n");67. out.write("</html>\r\n");68. } catch (Throwable t) {69.if (!(t instanceof SkipPageException)){70. out = _jspx_out;71.if (out != null && out.getBufferSize() != 0)72.try { out.clearBuffer(); } catch (java.io.IOException e) {}73.if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);74. }75. } finally {76. _jspxFactory.releasePageContext(_jspx_page_context);77. }78. }79.}我们看到,这个类继承了org.apache.jasper.runtime.HttpJspBase,要想看到这个类的源码,我1./*2. * Licensed to the Apache Software Foundation (ASF) under one or more3. * contributor license agreements. See the NOTICE file distributed with4. * this work for additional information regarding copyright ownership.5. * The ASF licenses this file to You under the Apache License, Version 2.06. * (the "License"); you may not use this file except in compliance with7. * the License. You may obtain a copy of the License at8. *9. * /licenses/LICENSE-2.010. *11. * Unless required by applicable law or agreed to in writing, software12. * distributed under the License is distributed on an "AS IS" BASIS,13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.14. * See the License for the specific language governing permissions and15. * limitations under the License.16. */17.18.package org.apache.jasper.runtime;19.20.import java.io.IOException;21.22.import javax.servlet.ServletConfig;23.import javax.servlet.ServletException;24.import javax.servlet.http.HttpServlet;25.import javax.servlet.http.HttpServletRequest;26.import javax.servlet.http.HttpServletResponse;27.import javax.servlet.jsp.HttpJspPage;28.import javax.servlet.jsp.JspFactory;29.30.import piler.Localizer;31.32./**33. * This is the super class of all JSP-generated servlets.34. *35. * @author Anil K. Vijendran36. */37.public abstract class HttpJspBase38.extends HttpServlet39.implements HttpJspPage40.41.42.{43.44.protected HttpJspBase() {45. }46.47.public final void init(ServletConfig config)48.throws ServletException49. {50.super.init(config);51. jspInit();52. _jspInit();53. }54.55.public String getServletInfo() {56.return Localizer.getMessage("");57. }58.59.public final void destroy() {60. jspDestroy();61. _jspDestroy();62. }63.64./**65. * Entry point into service.66. */67.public final void service(HttpServletRequest request, HttpServletResponse response)68.throws ServletException, IOException69. {70. _jspService(request, response);71. }72.73.public void jspInit() {74. }75.76.public void _jspInit() {77. }78.79.public void jspDestroy() {80. }81.82.protected void _jspDestroy() {83. }84.85.public abstract void _jspService(HttpServletRequest request,86. HttpServletResponse response)87.throws ServletException, IOException;88.}好吧,看到了,继承了HttpServlet类,所以说其实Jsp就是一个ServletJsp的语法:1.JSP模版元素2.JSP表达式3.JSP脚本片段4.JSP注释5.JSP指令6.JSP标签7.JSP内置对象8.如何查找JSP页面中的错误Jsp模板元素JSP页面中的HTML内容称之为JSP模版元素。
JSP基本语法教程
property属性赋予不同的值代表不同的含义。
Property=“*”:这种赋值方式表示所有请求参数
的所有值,用于匹配Bean中的属性值。在Bean
中的属性的名字必须和Request对象中的参数名 一致。
Property=“propertyName”[param=“parameter
4.2.3 脚本段( Scriptlets )
脚本段代码的格式:
<% scriptlet %>
脚本段在Web服务器响应时就会运行。
【注意】
脚本段内不能定义方法。
4.2.4 表达式(Expression)
JSP表达式用来把Java数据直接插入到输出。
表达式的格式为:<%=Java Expression %>
4.3.2 include指令
include指令用于在JSP页面中包含另一个文
件的内容。
include指令的语法格式:
<%@ include file=“relativeURL” %>
“relativeURL”表示此file的路径,路径名一般
来说是指相对路径。 【注意】
include包含文件的内容也是JSP代码,即可以包
Bean的作用域。此属性是可选的,其缺省值为page。
求范围内有效。
session-创建一个与当前用户相关的实例,该实例只在当前用 户范围内有效。
application-创建一个与当前应用相关的实例,该
实例只在当前用户范围内有效。
(3)class
class指Bean的.class文件的名称。
4.4.2 <jsp:setProperty>
JSP注释及声明等入门基础用法
1.HTML注释该注释在客户端可通过查看源文件的方法看到。
JSP语法:<!--可见注释--> 例1<!--该注释在客户端可通过查看源文件的方法看到-->在客户端页面源程序中显示为:<!--该注释在客户端可通过查看源文件的方法看到-->如图:例2<!-页面调用日期为:<%= (new java.util.Date()).toLocaleString() %> -->在客户端页面源程序中显示为:<!-页面调用日期为:2012-8-20 19:40:40 -->如图:描述可以在注释中使用任何有效的JSP表达式。
表达式是动态的,当用户第一次调用该页面或该页面后来被重新调用时,该表达式将被赋值。
JSP引擎对HTML注释中的表达式执行完后,其执行的结果将直接插入到表达式显示的地方。
然后该结果和HTML注释中的其它内容一起输出到客户端。
在客户端可通过查看源文件的方法看到该注释。
2.JSP注释JSP注释作为JSP页面的文档资料,但是该注释在客户端通过查看源文件的方法是看不到的。
即该注释不发送到客户端。
JSP语法:<%--注释--%>例子<body><h2>注释测试</h2><%--在页面源代码中,这个注释是看不见的--%></body></html>如图:描述JSP引擎对JSP注释不作任何处理。
JSP注释既不发送到客户端,也不在客户端的JSP 页面中显示。
在客户端查看源文件时也看不到。
因此,如果你想在JSP页面源程序中写文档说明时,JSP注释是很有用的。
注意:在JSP注释中,不能使用--%>,但是如果你一定要使用的话,可以通过使用--%\>来避开。
3. 声明在JSP页面脚本语言中声明变量或方法JSP语法:<%! 声明;[声明。
]+…… %>例子<%! int a =8。
JSP基本的语法、3个编译指令、7个动作指令、9个内置对象
JSP基本的语法、3个编译指令、7个动作指令、9个内置对象⽬录⼀、jsp概述JSP是java server page的缩写,其**==本质是⼀个简化的servlet**,是⼀种动态⽹页技术标准。
jsp页⾯是在HTML页⾯中嵌⼊java程序段。
使⽤jsp开发的应⽤程序能够跨平台。
⼆、jsp基本的语法2.1 jsp表达式jsp表达式⽤于向页⾯输出信息。
语法格式例如以下:<%= 表达式 %>如:<%= 5+6 %>注意:<%与=之间不能有空格,=与后⾯的表达式之间能够有空格,另外没有语句结束符号;。
2.2 jsp声明标识声明标识⽤语在jsp页⾯中定义全局的变量或者⽅法,通过声明标识定义的变量和⽅法能够被整个jsp页⾯訪问。
语法格式例如以下:<%!声明变量或者⽅法的代码%>如<%!String str = "test";%>注意:<%与!之间不能有空格,!与其后⾯的代码之间能够有空格。
2.3 jsp代码段代码⽚段就是嵌在jsp页⾯中的java代码或脚本代码。
会在页⾯请求的处理期间被运⾏,java代码能够实现定义变量、流程控制等功能。
脚本代码能够通过使⽤jsp内置对象在jsp页⾯输出内容、处理请求和响应、訪问session等,代码⽚段的语法格式例如以下:<% java代码或者脚本代码 %>2.4 jsp注释2.4.1 HTML注释HTML注释格式:<!-- html凝视 -->html凝视不会显⽰在⽹页中。
在浏览器中查看源代码的时候能够看到注释信息。
2.4.2 代码⽚段注释由于代码⽚段即为java代码或者脚本代码,代码⽚段的注释和java语法⼀样。
单⾏注释写在//之后,多⾏注释写在/* */ 之间,⽂档提⽰注释写在/**与 */之间。
//单⾏注释/*多⾏注释第⼀⾏多⾏注释第⼆⾏*//**⽂档注释*/2.4.3 隐藏注释html注释在查看⽹页源代码的时候能够看到,所以严格来说这样的注释并不安全,jsp提供的隐藏注释在浏览器和查看源代码的时候都看不到。
JSP的学习(5)——语法知识三之include指令
JSP的学习(5)——语法知识三之include指令 本篇继续来对JSP语法中的JSP指令进⾏学习,在中,已经介绍了JSP指令的书写格式和page指令的详细信息,所以在这⼀篇中我们会对JSP指令中的include指令来进⾏详细的学习。
先来回顾下JSP指令的语法格式:JSP指令: JSP指令是为JSP引擎⽽设计的,JSP指令不产⽣任何可见输出,只是告诉在转换成Servlet的过程中如何处理JSP页⾯中的其余部分。
在JSP 2.0 规范中共定义了三个指令: 1) page指令 2) include指令 3) taglib指令 taglib指令是导⼊标签库的指令,以后会介绍到。
JSP指令格式:<%@指令(如page、include或taglib) 属性1="属性值"属性2="属性值" ... %>例如:<%@ page contentType = "text/html;charset=utf-8"%> 如果⼀个指令有多个属性,这多个属性可以写在⼀个指令中,也可以分开写。
例如:1 <%@page contentType = "text/html;charset=utf-8" %>2 <%@page import = "java.util.Date"%>或者写成: <%@page contentType="text/html;charset=utf-8" import="java.util.Date"%>include指令 include指令⽤于在本JSP中引⼊其他JSP页⾯。
语法格式:<%@include file=”/相对URL” %>其中“file”属性的值为相对于web应⽤下的地址(给服务器的地址,因为由服务器来处理将那些JSP包含进来)。
JSP填空题练习
三、填空题1. Jsp注释中一种是__Java注释_____,其注释语法为____// 或/*_____*/_______.另一种注释是___Jsp注释________,其语法为___<%----%>。
2.在本机上安装了Tomcat服务器,使用的均为默认安装选项,将自己编写的test.jsp 文件放在Tomcat安装目录\webapps\ examples目录里,那么在本机的浏览器中要访问test.jsp文件,应使用的url地址为。
3.当getParameter()方法的参数部分指定的输入控件不存在时,该方法的返回值为null。
4.列表框的name属性值为“city”,并且允许多选,若要一次读取所有的选中项并存放于数组str中,则对应的java语句为String[]str = request.getParameterVal ues(“city”);。
5.若要修改Tomcat服务默认使用的端口号,可以在___server.xml__文件中修改。
6. page指令中language属性的默认值是_java___;isErrorPage属性的默认值是____false____;buffer属性的默认值是___8kb____。
7.用response对象的___addCookie_____________方法可以将cookie对象写入客户端。
8. 已知文件look.jsp的路径为c:/myjsp/inc,文件login.jsp的路径为c:/myjsp。
若使用response的重定向方法由look.jsp跳转到login.jsp中,则正确的写法为response.sendRedirect(“../login.jsp”)。
9. 在Tomcat中,所有编译好的JavaBean都需要放在某个应用目录下的_WEB-INF/cla sses_目录之下。
50、控制一个Servlet的生命周期的方法有__Init______,___service_____和__destroy_____。
jsp三大指令标记,七大动作标记、详解。
jsp三⼤指令标记,七⼤动作标记、详解。
JSP的基本构成JSP页⾯主要由指令标签,注释,嵌⼊Java代码,JSP动作标签,HTML标记语⾔等五个元素组成。
3个指令标签1 、page指令page指令⽤户定义JSP页⾯中的全局属性,Eg:<%@ page attr1=”value1” atrr2=”value2”.......%>page指令对整个页⾯有效,包括静态的包含⽂件,但page指令不能⽤于被动态包含的⽂件,例如使⽤<jsp:include>包含的⽂件。
在⼀个JSP页⾯中可以使⽤多个page指令,但page指令中的属性只能出现⼀次(import属性除外)。
page指令的常⽤属性如下:(1) language属性该属性⽤于设置JSP页⾯使⽤的语⾔,⽬前只⽀持Java语⾔。
例:<%@ page language=”java” %>(2) extends属性该属性⽤于设置JSP页⾯所继承的Java类,JSP和Servlet都可以继承指定的⽗类,但该属性并不常⽤.(3) import属性该属性⽤于设置JSP所导⼊的类包,JSP页⾯可以嵌⼊Java代码⽚段,这些Java代码在调⽤API时需要导⼊相应的类包。
例: <%@page import=”java.util.*” %>(4) pageEncoding属性该属性⽤于定义JSP页⾯的编码格式,指定的⽂件编码格式。
例:<%@ page pageEncoding=”UTF-8” %>(5) contentType属性该属性⽤于设置JSP页⾯的MIME类型和字符编码,浏览器会根据些解释页⾯。
例:<%@ pagecontentType=”text/html;charset=utf-8” %>(6) session属性该属性⽤于定义JSP页⾯是否使⽤session会话对象,其值是boolean类型,默认值为true. Eg:<%@ page session=”true” %>(7) buffer属性该属性⽤于设置out对象所使⽤的缓冲区⼤⼩,默认⼤⼩是8KB,单位只能是8的倍数。
JSP三种常用注释
JSP三种常⽤注释
隐藏注释
隐藏注释是JSP的标准注释,写在JSP程序中,⽤于描述和说明JSP程序代码,在发布JSP⽹页时完全被忽略,也不会传送到客户浏览器上。
语法格式:<%--注释语句--%>
页⾯运⾏效果及查看源⽂件
HTML注释
HTML注释是在发布⽹页时可以在浏览器源⽂件窗⼝中看到,写在JSP程序中,即注释的内容会被传输到客户端浏览器中。
语法格式:<!--注释语句[<%=表达式%>]-->(注释语句是⽂字说明,表达式为JSP表达式)
页⾯运⾏效果及查看源⽂件
Java注释
在JSP程序中,也遵循Java语⾔本⾝的注释规则对代码进⾏注释,这样的注释和隐藏注释相似,在发布⽹页时完全忽略,在浏览器的源⽂件窗⼝也看不到注释内容。
语法格式:<%/*注释语句*/%>或<%//注释语句%>
页⾯运⾏效果及查看源⽂件。
JSP语法基础
JSP语法基础1、JSP基本概念JSP(Java Server Pages,Java服务器页面)是一种Web动态页面技术,JSP是嵌入了Java程序段的HTML 文件,由HTML元素(静态部分)、JSP元素(动态部分)和JSP注释组成。
JSP文件后缀名为.jsp。
JSP运行时会被容器翻译为Servlet源代码(xxx_jsp.java)、自动编译为.class文件(xxx_jsp.class)、载入.class文件,然后生成Servlet对象。
JSP和Servlet一样是服务器端技术,允许运行在Web服务器端。
JSP定义在JavaWeb工程中WebRoot根路径下或其下的某个目录,其访问方式和访问HTML文件一致。
注意:如果JSP文件放在WEB-INF目录中时,不能直接访问,需通过Servlet转发。
JSP在运行时会动态编译成一个Servlet,其本质上是就是一个Servlet,JSP是对Servlet技术的扩展。
Servlet完全由Java程序代码构成,擅长于流程控制和业务逻辑处理,一般用作控制器(Controller);JSP 由HTML元素和JSP元素构成,对页面的静态内容和动态内容进行了有效分离,擅长于内容的展示,一般用作视图(View)。
注:翻译生成的xxx_jsp.java和xxx_jsp.class文件的位置:Tomcat中,在apache-tomcat\work\Catalina目录需;在Eclipse中,在workspace下\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\XXX\org\apache\jsp。
2、JSP元素JSP元素包括脚本元素、指令元素和动作元素。
脚本元素(3种)用来声明类成员与方法。
使用<%!与%>声明变量时,必须小心数据共享与线程安全的问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
01 常用注释的种类及区别
常用注释的种类及区别
HTML的注释
格式:<!-- HTML注释--> 特点:属于显示注释,会被发送到客户端,客户可以通过查看页面的源代
码发现这些注释
JSP注释
格式:<%-- JSP注释--%> 特点:属于隐式注释,不会被发送到客户端,即不被服务器执行
所以在 HTML 中的注释同样可以在 JSP 文件中使用。
注释格式
特点:
<!-- HTML注释-->
使用该方法注释的内容在客户端浏览器中是看不到的
可以通过查看 HTML 源代码看到这些注释内容
HTML的注释实例
【例】练习HTML注释 JSP页面代码:
<!--欢迎提示信息!--> <table> <tr> <td>欢迎访问! </td> </tr> </table>
<!--当前用户:小明 --> <table> <tr> <td>欢迎登录:小明</td> </tr> </table>
03
JSP注释
JSP注释
注释属于隐式注释,使用JSP注释的内容,不仅在客户端浏 览时看不到,而且即使在客户端查看 HTML 源代码,也不会 看到,所以安全性较高,语法格式如下:
<%--注释内容--%>
JSP注释实例
【例】 练习使用带有 JSP 表达式的注释。 Jsp页面代码:
<%--获取当前时间--%> <table>
<tr><td>当前时间为:<% =(new java.util.Date()).toLocaleString() %></td></tr> </table>
特点: 包含该注释语句的 JSP 页面被请求后,服务器能够识别注释中的 JSP 表达式,从而来执行该表达式,而对注释中的其他内容不做任何操作。 当服务器将执行结果返回给客户端后,客户端浏览器会识别该注释语 句,所以被注释的内容不会显示在浏览器中可以通过查看 HTML 源 代码看到这些注释内容
HTML中带有JSP表达式的注释
浏览器对应效果:
当前时间为:2020-2-25 14:08:35
浏览器查看 HTML 源代码:
<table> <tr><td>当前时间为: 2020-2-25 14:08:35 </td></tr>
</table>
04
Java注释
Java 注释
分类: //单行注释 /*多行注释 */ /**文档注释 */
并且多行注释的开始标记和结束标记可以不在同一个脚本程序中同时出现。
JSP脚本(Java)中多行注释实例
【例】 练习多行代码注释,源代码:
<%@ page contentType="text/html;charset=UTF-8"%> <%
String state="0"; /* if(state.equals("0"))
Java注释
格式: //单行注释 格式: /*多行注释 */ 格式: /**文档注释 */ 特点:只能在【JSP的脚本】或者【声明】中使用,属于隐式注释,不被服务器执行
02
HTML 的注释
HTML的注释
HTML的注释概述
JSP 文件是由 HTML 标记和嵌入的 Java 程序段组成的,
特点: 只能在【JSP的脚本】或者【声明】中使ቤተ መጻሕፍቲ ባይዱ 属于隐式注释 不被服务器执行 客户端通过查看源代码是不可见的
Java 注释
1. 单行注释 单行注释的格式如下:
//注释内容
例如:给第二行代码进行说明注释 1.<% 2. int count=6; //定义一个计数变量 3.%>
JSP脚本(Java)中注释
{ //equals()方法用来判断两个对象是否相等 state="主版"; %> 将变量state赋值为“主版”。<br> <% } */ %> 变量state的值为:<%=state%>
JSP脚本(Java)中多行注释实例
【例】 练习多行代码注释。 运行结果:
05
总结
总结
注释简介以及区别 HTML的注释
【例】 练习使用带有 JSP 表达式的注释。 Jsp页面代码:
<%String name=“小明";%> <!--当前用户:<%=name%>- -> <table> <tr> <td>欢迎登录:<%=name%></td></tr></table>
浏览器对应效果:
欢迎登录:小明
浏览器查看 HTML 源代码:
浏览器对应效果:
浏览器查看 HTML 源代码:
<!--欢迎提示信息!--> <table> <tr> <td>欢迎访问! </td> </tr> </table>
HTML中带有JSP表达式的注释
HTML 注释中可以嵌入 JSP 表达式,注释格式如下: <!--comment<%=expression %>-->
2. 多行注释, 注释格式如下: /* 注释内容1 注释内容2 */
说明: 多行注释是通过“/*”与“*/”符号进行标记的,它们必须成对出现,在 它们之间输入的注释内容可以换行。
与单行注释一样,在“/*”与“*/”之间注释的所有内容,即使是 JSP 表 达式或其他脚本程序,服务器都不会做任何处理。
JSP注释(隐式注释) JAVA注释(隐式注释)
感谢聆听
THANKS
石家庄科技工程职业学院软件技术专业群教学资源库