JSP部分内容
JSP和JSTL
Java Web 服务器端的动态资源。
许在页面中嵌套 java 代码,为用户提供动态数据。相比 servlet 而言,servlet 很难对数据进行排版,而 jsp 除了可以
用 java 代码产生动态数据的同时,也很容易对数据进行排版。
不管是 JSP 还是 Servlet,虽然都可以用于开发动态 web 资源。但
由于这 2 门技术各自的特点,在长期的软件实践中,人们逐渐把
servlet 作为 web 应用中的控制器组件来使用, 而把 JSP 技术作为
数据显示模板来使用。
其实 Jsp 就是一个 Servlet,当我们第一次访问 Jsp 的时候,Jsp 引
擎都会将这个 Jsp 翻译 成一个 Servlet,这个文件存放在
tomcat(源码目录) 中的 work 目录中。
在 JSP 中支持两种注释的语法操作:
一种是显示注释,这种注释是允许客户端看见的; 另一种是隐式注
释,此种注释是客户端无法看见的
① 显示注释语法:从 HTML 风格继承而来
② 隐式注释语法:从 JAVA 风格继承;JSP 自己的注释
1) // 注释,单行注释 /* 多行注释*/
2)<!-- HTML风格的注释 -->
3)<%-- JSP注释 --%>
JSP的指令标签
使用包含操作,可以将一些重复的代码包含进来继续使用,从正常
的页面组成来看,有时可能分为几个区域。而其中的一些区域可能
是一直不需要改变的,改变的就其中的一个具体内容区域。现在有
两种方法可以实现上述功能。
方法一:在每个 JSP 页面(HTML)都包含工具栏、头部信息、尾
部信息、具体内容
<%@ page language="java" contentType="text/html;
charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE >
<html><head><meta http-equiv="Content-Type"
content="text/html; charset=UTF-8"><title>Scriptlet</title></head><body><%String str = "Hello JSP";System.out.println(str);response.getWriter().write(str);%><%!String memberStr = "a member
String";%><%=memberStr%><h1>This is a JSP page!!</h1></body>
</html>
20方法二:将工具栏、头部信息、尾部信息都分成各个独立的文件,
使用的时候直接导入
很明显,第二种方法比第一种更好,第一种会存在很多重复的代
码,并且修改很不方便,在 JSP 中如果要想实现包含的操作,有两
种做法:静态包含、动态包含,静态包含使用 include 指令即可,
动态包含则需要使用 include 动作标签
四种属性范围在JSP中提供了四种属性的保存范围,所谓的属性保存范围,指的就
是一个设置的对象,可以再多少个页面中保存并可以继续使用
1. page范围
pageContext : 只在一个页面中保存属性,跳转之后无效
2. request范围
request : 只在一次请求中保存,服务器跳转后依然有效
3. session范围
session : 在一次会话范围中,无论何种跳转都可以使用
4. application范围
application : 在整个服务器上保存