第八章:Jsp

8.3Jsp的三种语法

8.3.1jsp 头部的 page 指令

jsp 的 page 指令可以修改 jsp 页面中一些重要的属性,或者行为。
第八章:Jsp
errorPage 表示错误后自动跳转去的路径。这个路径一般都是以斜杠打头,它表示请求地址为 http://ip:port/工程路径/ 映射到代码的 Web 目录。
第八章:Jsp

8.3.2jsp 中的常用脚本

1、声明脚本(几乎不使用):
声明脚本的格式是:<%!声明脚本代码%>
作用:可以给 jsp 翻译出来的 java 类定义属性和方法甚至是静态代码块。内部类等。

1.	<%--1、声明类属性--%>  
2.	<%!  
3.	private Integer id;  
4.	private String name;  
5.	private static Map<String,Object> map;  
6.	%>  
7.	<%--2、声明 static 静态代码块--%>  
8.	<%!  
9.	static {  
10.	map = new HashMap<String,Object>();  
11.	map.put("key1", "value1");  
12.	map.put("key2", "value2");  
13.	map.put("key3", "value3");  
14.	}  
15.	%>  
16.	<%--3、声明类方法--%>  
17.	<%!  
18.	public int abc(){  
19.	return 12;  
20.	}  
21.	%>  
22.	<%--4、声明内部类--%>  
23.	<%!  
24.	public static class A {  
25.	private Integer id = 12;  
26.	private String abc = "abc";  
27.	}  
28.	%>  

2、 表达式脚本(推荐使用):
表达式脚本的格式是:<%=表达式%>
表达式脚本的作用是:的 jsp 页面上输出数据
表达式脚本的特点:
(1) 所有的表达式脚本都会被翻译到_jspService() 方法中;
(2) 表达式脚本都会被翻译成为 out.print()输出到页面上;
(3) 由于表达式脚本翻译的内容都在_jspService() 方法中,所以_jspService()方法中的对象都可以直接使用;
(4) 表达式脚本中的表达式不能以分号结束。

1.	<%=12 %> <br>  
2.	<%=12.12 %> <br>  
3.	<%="我是字符串" %> <br>  
4.	<%=map%> <br>  
5.	<%=request.getParameter("username")%>  

3、 代码脚本
代码脚本的格式是:<% java语句 %>
代码脚本的作用是:可以在 jsp 页面中,编写我们自己需要的功能(写的是 java 语句)。

代码脚本的特点是:
代码脚本翻译之后都在_jspService 方法中;
1、 代码脚本由于翻译到_jspService()方法中,所以在_jspService()方法中的现有对象都可以直接使用;
2、 还可以由多个代码脚本块组合完成一个完整的 java 语句;
3、 代码脚本还可以和表达式脚本一起组合使用,在 jsp 页面上输出数据。

8.3.3jsp 中的三种注释

1、HTML注释: ,html 注释会被翻译到 java 源代码中。在_jspService 方法里,以 out.writer。
2、jsp注释:<%-- 这是jsp注释 --%>,jsp 注释可以注掉,jsp 页面中所有代码。
3、java注释:单行注释、多行注释,java 注释会被翻译到 java 源代码中。

8.4jsp 九大内置对象

jsp 中的内置对象,是指 Tomcat 在翻译 jsp 页面成为 Servlet 源代码后,内部提供的九大对象,叫内置对象。第八章:Jsp

8.5jsp 四大域对象

第八章:Jsp
域对象是可以像 Map 一样存取数据的对象。四个域对象功能一样。不同的是它们对数据的存取范围。虽然四个域对象都可以存取数据。在使用上它们是有优先顺序的。
四个域在使用的时候,优先顺序分别是,他们从小到大的范围的顺序:
pageContext ====>>> request ====>>> session ====>>> application

8.6jsp 中的 out 输出和 response.getWriter 输出的区别

response 中表示响应,我们经常用于设置返回给客户端的内容(输出);
out 也是给用户做输出使用的。
第八章:Jsp
由于 jsp 翻译之后,底层源代码都是使用 out 来进行输出,所以一般情况下。我们在 jsp 页面中统一使用 out 来进行输出。避免打乱页面输出内容的顺序。
out.write() 输出字符串没有问题;
out.print() 输出任意数据都没有问题(都转换成为字符串后调用的 write 输出)。
在 jsp 页面中,可以统一使用 out.print()来进行;

上一篇:在eclipse打开jsp文件变成文本的解决:


下一篇:Java Server Pages