JavaScript是一种基于对象和事件驱动的、并具有安全性能的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
JSP技术是基于Java Servlet和整个Java体系的Web服务器端开发技术。JSP(Java Server Pages)表示它是用Java写的Web服务页面程序。这是因为所有的JSP程序在运行时都会转换为与其对应的Java Servlet类,由该类的实例接收用户请求并做出响应。
JSP网页是在传统的HTML文件里加人JSP标记或Java程序片断构成,JSP页面文件以jsp为扩展名进行保存。
JavaScript发展史
JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
JavaScript的标准是ECMAScript 。截至 2012 年,所有浏览器都完整的支持ECMAScript 5.1,旧版本的浏览器至少支持ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为ECMAScript 6 或者ES6。
JavaScript的特性
- JavaScript是脚本语言
- JavaScript是一种轻量级的编程语言
- JavaScript是可插入HTML页面的编程代码
- JavaScript插入HTML页面后,可由所有的现代浏览器执行跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)
JavaScript的用途
- 嵌入动态文本于HTML页面。
- 对浏览器事件做出响应。
- 读写HTML元素。
- 在数据被提交到服务器之前验证数据。
- 检测访客的浏览器信息。
- 控制cookies,包括创建和修改等。
- 基于Node.js技术进行服务器端编程。
JavaScript工作原理
当一个JSP页面第一次被访问的时候,JSP引擎将执行以下步骤:
- (1)将JSP页面翻译成一个Srvet这个Servler是一个Java文件,同时也是一一个完整的Java程序。
- (2)JSP引擎调用Java编译器对这个Servlet进行编译,得到字节码文件cass
- (3)JSP引擎调用Java虚拟机来解释执行class,主要调用jspService方法,对用户请求进行处理并做出响应,生成向客户端发送的应答,然后发送给客户端。
以上三个步骤仅仅在JSP页面第一次被访问时才会全部执行,因此,首次访问JSP页面速度会稍慢些,但以后的访问不再创建新的Servlet,只是新开一个服务线程,访问速度会因为Servlet文件已经生成而显著提高。调试时,如果JSP页面被修改,则对应的JSP需要重新编译。
网页使用JavaScript的三种方式
1.使用<script>标签
<script>alert("hello world");</script>
2.外部JS文件
<script src="export.js" type="text/javascript"></script>
3.直接在HTML标签中
<input name="btn" type="button" value="信息框" onclick="javascript:alert("hello world");"/>
JavaScript标准语法
JSP表达式
语法格式: <%=表达式%>
表达式在求值后被当作字符串在表达式所在的位置显示。该表达式可以使用的预定义的内部对象,例如request, response、out、ssion. ppication. config和pageContext,也可以调用JavaBean的方法。注意表达式中不使用“;”。
例如: <% = (new java. util. Date()). toLocaleString() %>
JSP程序段
语法格式: <% Java代码段%>
程序段是符合Java语法规范的程序,可以用于变量声明、表达式计算以及JavaBean的调用等。
JSP声明
语法格式: <%! Java变量或方法声明%>
一次可以声明多个变量,但所有声明的变量或方法仅在本页面内有效。声明需要用“;”结束。如果期望每个页面都用到一些声明,可以把这些声明写成一个单独的文件,然后用include指令把该文件包含进来。
例如: <%! int i=2014; %>
JSP page指令
语法格式: <%@ page 属性= "属性值" %>
涉及页面总体的设定,由JSP容器负责解释,作用范围为整个页面。
例如: <% @ pageimport= "java. util. * ,java. lang. *"%>
JSP include指令
语法格式: <%@ include file=”相对URL地址"%>
file属性所指的URL地址可以是一个表达式,但必须是相对地址。include 是在JSP页面被转换成Servlet时引人本地文件而不是在用户请求提交时。
实例: < jsp: include page="bar. html" flush= true >
JSP tatlib指令
语法格式:<%@ aglib url=”相对URL地址”prefix= ”tagPrefix" %>
url属性用来指明自定 义标记库的存放位置。tagPrefix是为了区分不同标记庞中的相同标记名。
例如: <%@ taglib url="/tds/ menuDB. tld”prefx= ”menu" %>
JSP注释
语法格式: <%-注释内容--%>
JSP注释在JSP页面被转换成Servlet时会被忽略,在客户端也不会显示。如果希望注释显示在客户端浏览器中,可以使用HTML注释的语法。
< jsp:include >动作
语法格式: < jsp:include page= "相对URL地址”flush= "true" />
page属性必须是相对URL地址,flush的值必须设为true。和include 指令不同,< sinelude>动作是在请求被提交时即引人所包含的文件。如果这个包含文件是动态的,那么还可以用< jsp:param >传递参数名和参数值。
< jsp:useBean>动作
语法格式: < jsp:useBean属性一"属性值"/>或< jsp:useBean属性=”属性值">…指向对JavaBean的引用
指向对JavaBean的引用
< jsp:seProprty>动作
设定JavaBean 的属性,可以直接设定,也可以通过reguest 对象所包含的参数指定
< jsp: gtPropety >动作
获取 bean的属性,然后转换成字符串并输出
< jsp: param >
语法格式: < jsp:param name“属性名称" value= "属性值”>
< jsp: param>用来提供参数信息,经常和< jsp: include>.< jsp: forward >以及-起使用。name属性就是参数的名称,value属性就是参数值。例如:
< jsp:include page= "/index. html"/>
< jsp:include page= " scripts/ login. jsp">
< jsp: param name=”username" value= "jsmith"/>
< jsp:forward>动作
语法格式: < jsp:forward page= "相对url 地址"/>
< jsp:forward>从一个JSP文件转向page属性所指定的另一个文件,并传递-个包含用户请求的request对象,< jsp:forward >动作后面的代码将不能被执行。page属性可以是计算类型,但必须是相对URL地址。例如:
< jsp:forward page=”/utils/ errorReporter. jsp"/>
< jsp: forward page= "<% = someJavaExpression %>" />
< jsp:plugin>动作
语法格式: < jsp:plugin 属性= "属性值">...</jsp:plugin>
在客户端浏览器中执行一个Bean或者显示一个Applet。根据客户端浏览器的不同类型会产生OBJECT或EMBED标记,Java Applet的运行需要利用这此标记。
写在最后
