栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JSP知识点-1

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JSP知识点-1

JSP知识点-1

文章目录
  • JSP知识点-1
  • 一、JSP是什么?
  • 二、JSP与servlet的区别
  • 三、JSP页面成分
    • 1.脚本元素
    • 2.指令
    • 3.动作
    • 4.普通HTML代码


一、JSP是什么?

JSP(Java Server Pages)是一种实现普通静态HTML和动态HTML混合编码的技术。JSP是servlet的扩展,是一种基于java的服务器端技术,其目的在于简化表示层的展示。

二、JSP与servlet的区别

JSP在本质上就是servlet,JSP提供了servlet能够实现的所有功能,JSP并没有增加任何本质上不能用Servlet实现的功能。
与servlet相比,JSP更加适合制作动态页面(因为使用servlet较繁琐)。

可以理解为:
servlet是在Java中嵌入了HTML,而JSP是在HTML中嵌入了Java。

JSP最终会被转换成标准的Servlet,该转换过程一般在出现第一次页面请求时。

三、JSP页面成分 1.脚本元素

脚本元素用来嵌入Java代码。
JSP脚本是<%与%>之间的用Java语言编写的代码块。代码块必须完全符合Java语法,但可以配合使用HTML文本。
这些Java代码最终转换为Servlet的一部分。一个JSP页面可以包含任意多个脚本。

输出表达式
<%=表达式%>
输出表达式的计算结果。
%与=之间不能有空格且表达式后面不需要分号。


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

这种注释在服务器端将被忽略,不会转化为HTML注释,也不发送到客户端,在客户端查看源码时是看不到的。一般用于开发人员对程序代码的说明,能有效保护代码的安全性。
而HTML注释会发送到客户端,且能在查看源码时看到。


声明变量、方法和类
<%! 声明代码 %>

声明变量——用于声明变量时,该变量为全局变量。而用<% 声明代码 %>声明变量时,该变量为局部变量。(可通过查看对应的servlet代码可知)

需要注意的是,%与!之间不能有空格,除Java表达式之外,其他的Java脚本代码都必须以分号结尾,不然会报错。


        <% int j=0; %>
        <% i++; %>
        <% j++; %>
        

<%= i%>

<%= j%>

<%! int i=0; %>

程序说明:
使用 <%! int i=0; %> 声明的变量i为全局变量,在整个页面的范围内都可以访问声明的变量,所以变量的声明可以放在变量引用之后。
而使用<% int j=0; %>声明的变量j为局部变量,只能在函数内部使用(查看servlet代码可查看到详细情况)。


声明方法——格式相同
该方法在整个JSP页面有效,但该方法内定义的变量只在该方法内有效。

<% String sayhello()
		{ return "Hello"; }
%>
<%= sayHello() %>

程序说明:
首先在脚本中来声明一个方法sayHello()来返回一个字符串,然后调用方法来获取执行结果。


声明方法——格式相同
该方法在整个JSP页面有效,但该方法内定义的变量只在该方法内有效。

<% String sayhello()
		{ return "Hello"; }
%>
<%= sayHello() %>

程序说明:
首先在脚本中来声明一个方法sayHello()来返回一个字符串,然后调用方法来获取执行结果。


声明类——格式相同
脚本中声明的类在JSP页面有效

<%! public class sayHello{ 
		boolean county;
		sayHello(boolean county){ 
			this.county = county; 
		}
		String Hello(){
			if(county) 
			return "hello";
			else return "你好";
		}
	}
%>

程序说明:首先在脚本中声明一个类sayHello,此类具有一个名称为Hello的方法,用来返回一个提示信息。在随后的代码中,生成类sayHello的实例,并且调用类的Hello方法来获取显示信息。

2.指令

指令用来从整体上控制Servlet的结构。
JSP指令是从JSP向Web容器发送的消息,它用来设置页面的全局属性,如输出内容类型等。
指令格式:<%@ 指令名 属性=“属性值”%>
指令名有page、include、taglib三种。


2.1 page指令
用来定义整个JSP页面的全局属性,常用的属性有:
language:用来指明JSP页面脚本使用的编程语言,目前只有一个合法值-java。
示例:<%@ page language=“java”%>

import:用来向JSP页面载入包。若用一个import载入多个包时,需用逗号隔开。
示例:<%@ page import="java.util.* , java.lang.* "%>

session:指定JSP页面是否支持会话。默认值为true。
errorPage:当JSP页面程序发生错误时,由页面的errorPage属性指定的程序来处理。
contextType:指定了MIME的类型(默认text/html)和JSP文件的字符编码方式(ISO 8859-1),它们都是最先传送给客户端,使得客户端可以决定采用什么方式来展现页面内容。
isThreadSafe:设置JSP文件是否能多线程使用。

说明:
1.<%@ page %>指令作用于整个JSP页面,同样包括静态的包含文件。但是<%@ page %>指令不能作用于动态的包含文件,如< jsp:include >。
2.可以在一个页面中引用多个<%@ page %>指令,但是其中的属性只能用一次,除了import属性,因为import属性和Java中的import语句类似。
3.无论把<%@ page %>指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面。(养成习惯放在顶部最好)


2.2 include指令
include指令向JSP页面内某处嵌入一个文件。通过include指令包含的文件是由JSP分析的,并且这部分分析工作是在转换阶段(JSP文件被编译为Servlet时)进行的。
示例:<%@include file=“relative url”%>


2.3 taglib指令(略)

3.动作

动作用于引入现有的组件以控制Web容器的行为。
JSP动作组件是一些XML语法格式的标记,被用来控制Web容器的行为。利用JSP动作组件可以动态地向页面中插入文件、重用JavaBean组件、把用户重定向到另外的页面等。
常见的JSP动作组件有以下几种。


3.1 include 动作组件
include动作组件把指定文件插入正在生成的页面。
格式:< jsp:include page=“文件名” flush=“true”/ >

include动作组件和include指令元素的区别:
1.形式不同
2.实现机制不同
——(动态)动作组件在执行时才对包含的文件进行处理,因此JSP页面和它所包含的文件在逻辑上和语法上是独立的,如果对包含的文件进行修改,那么运行时可以看到包含文件修改后的结果。
——(静态)include指令包含的文件如果发生变化,必须重新将JSP页面转译成Java文件,否则只能看到所包含的修改前的文件内容。


3.2 forward 动作组件
forward动作组件用于将浏览器显示的网页,导向至另一个HTML网页或JSP网页,客户端看到的地址是A页面的地址,而实际内容却是B页面的内容。
格式:< jsp:forward page=“网页名称” / >
注意:在使用forward之前,不能有任何内容已经输出到客户端,否则会有意外抛出。


3.3 param 动作组件
param动作组件用于传递参数信息,必须配合include动作组件或forward动作组件一起使用。
格式:< jsp:param name=参数名称,value=值 />

1.当该组件与< jsp:include >一起使用时,可以将param组件中的值传递到include动作组件要加载的文件中去。在被包含的页面中,通过调用request的getParameter()来获得传递的参数。
2.当该组件与< jsp:forward >一起使用时,将把参数导向要转到的页面。

3.4 plugin 动作组件
plugin动作组件用来执行一个Applet或Bean。
格式:< jsp:plugin type=“bean | applet” code=“classFileName” codebase=“classFileDirectoryName” >
其中,type属性用于指定将被执行的插件对象的类型是Bean还是Applet。
code属性指定将会被Java插件执行的Java类的名字,必须以“.class”结尾。
codebase属性指定将会被执行的Java类文件的目录或是路径。
< jsp:plugin >组件常与< jsp:fallback >动作组件联合使用,< jsp:fallback >与< /jsp:fallback >之间的部分为Java插件启动发生意外时执行的处理代码。

4.普通HTML代码

(略)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/445725.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号