JSP中各种元素
来源:互联网 发布:网络十大美女主播排名 编辑:程序博客网 时间:2024/06/15 10:13
一、脚本元素
符号:<%%>
在该脚本段中所以的内容,最终会出现在一个java方法中。所以,在java的方法中能写什么内容,在<%%>中就能写什么内容
Java方法中能写的内容
局部变量,局部内部类,各种程序结构(if for..)
Java方法中不能写的内容
方法,static,4种访问修饰符
符号:<%!%>该脚本段中写的内容,会出现在类之内,方法之外。所以,在java的类之内,方法之外能写什么内容,在<%! %>中就能写什么内容
java的类之内,方法之外能写
属性 方法 块 内部类
java的类之内,方法之外不能写
程序结构 表达式
符号:<%= %>
在该脚本端中所写的内容,最终会成为out.print()的参数。所以在java的方法参数中,能写什么,<%=%>就能写什么。
java的方法参数能写
表达式
java的方法参数不能写
除了表达式以外,都不能写
符号:<%----%>
该脚本用于告诉web服务器,在把一个jsp文件解析出一个java源文件的过程中,忽略该脚本中的内容,也就是说,<%-- --%>脚本中的内容根本不会出现在java源文件中。
2个术语:
客户端注释: <!-- --> (不但会出现在java源文件中。而且还会被web服务器发送给客户端浏览器)
服务器端注释 <%-- --%> // /* */ (// /* */ 注释的内容会出现在java源文件中)
注意:jsp页面只有在第一次访问的时候才会实例化对象,在之后访问的同一个jsp页面时,都使用的是第一次已经创建好的实例
测试方法:在jsp页面使用<!%%>方法创建一个变量,同时调用它,同时开启多个客户端观察变量值,是不是在多个客户端累加的,如果是则说明是调用了一个实例
二、指令元素
符号:<%@%>
page指令元素属性.
import
用于引入外包的class
<%@ page import="java.util.*" %>
Buffer
用于控制当前jsp页面的缓冲区大小,默认值为8kb
缓冲区的作用:提高读写速度。
缓冲区就是用来积攒数据的地方。
缓冲区中的数据,何时会被发送到目的地
1. 缓冲区已经放满数据了,再多放一个字节。
2. 强制发送缓冲区中的数据。
利用flush()方法
contentType
用于告诉浏览器,服务器给你发送的是什么格式的数据。
errorPage
当当前jsp页面中抛出异常的时候,指定的跳转页面
<%@page errorPage="error.jsp"%>
isThreadSafe
控制web服务器是否对该jsp页面支持并发,取值为true就表示支持并发
<%@page isThreadSafe="true"%>
pageEncoding
1 .Jsp-->java过程中,就是使用该属性指定的码表来生成java源文件的。
2.告诉浏览器使用什么码表。
include:静态包含
三、动作元素
符号:<jsp:xxx>
1、<jsp:useBean /> 等价于实例化对象
了解javabean:
javabean就是一个普通的java类而已,不过要符合一些规范
1、所有属性必须私有化
2、必须为私有化属性提供公共的getter(获取器)和setter(设置器)
3、必须提供一个公共的无参的构造器
4、必须实现序列化接口:java.io.Serializable
使用<jsp:useBean />,先在src目录下定义一个java类,这个类最终能在WebRoot目录下的jsp文件中使用。
实际上,在一个web应用的src下定义的java源文件,会被编译,编译出来的字节码文件会自动被部署到tomcat服务器下,路径就是/web应用名/web-inf/classes
而web应用的类路劲是有3部分组成的,也就是收,web应用在找一个字节码文件的时候,会在一下3个范围中查找:1、/web应用名/web-inf/classes,2、JRE System Libary,3、Java EE 5 Libaries/
2、<jsp:setProperty />等价于给对象的属性赋值
3、<jsp:getProperty />等价于获取对象的属性
注意:
<jsp:useBean/> 会回调公共的无参构造器
<jsp:setProperty /> 会回调对应的setter方法。
<jsp:getProperty /> 会回调对应的getter方法。
4、<jsp:include />动态包含
经典面试题: 静态包含与动态包含的区别:
(1)静态包含是先包含,后编译; 最终只能生成一个java源文件!class也是一个
动态包含是先编译,后包含。最终生成多个java源文件!class也是多个
(2)静态包含不能用变量名作为路径; 动态包含就可以用变量名作为路径。
(3) 静态包含不能给被包含的目标jsp页面传递参数;动态包含就可以!
(4)一个页面上的多个静态包含的页面中,不能有同名的变量;动态包含就可以!
5、<jsp:forword >转发
不用点击可以直接跳转到某个jsp页面
6、<jsp:param />
给服务器传递参数的,但是该标记必须搭配<jsp:include />或者<jsp:forward/>
注意:
如果没有给被动态包含的页面传递参数,
<jsp:include>和</ jsp:include>之间不能有任何内容,必须贴紧
<jsp:forward>和</ jsp: forward>之间不能有任何内容,必须贴紧
- JSP中各种元素
- jsp中动作元素
- JSP中各种内置对象
- JSP学习笔记(2)_JSP各种元素(1)
- Java学习【web基础-JSP1-JSP中的各种元素】
- java(jsp)中各种概念的比较
- java(jsp)中各种概念的比较
- java(jsp)中各种概念的比较
- JSP中获取各种路径的方法
- jsp中灵活使用各种标签库
- JSP页面<% ...%>中各种符号的区别
- 【$、%】JSP页面中各种标签的使用
- 关于JSP中setProperty动作元素
- jsp中taglib标签 prfix元素介绍
- Web.xml中jsp-config元素简述
- JSP元素
- JSP元素
- JSP元素
- Java核心之接口、继承与多态
- Unrecognized Selector Sent to Instance问题
- 快速排序
- Atlantis POJ 1151 HDU 1542
- spring-data-jpa的使用详解,全方位,无死角
- JSP中各种元素
- Mogodb中使用save和insert方式插入数据的区别
- 边缘分布
- orcale sql 去除字段中的 换行符
- IOS中获取各种文件的目录路径的方法
- 为什么java要实现对象序列化
- 一次非常有意思的 SQL 优化经历
- pyspider 初探
- IDEA使用记录