一、什么是JSP
JSP全名为Java Server Pages ,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网⻚技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.JSP)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
*.html 静态页面(包含固定的页面内容)
*.jsp 动态页面(页面数据可以动态更新,支持嵌套java代码和html代码)
二、JSP为什么会出现
- servlet展示信息的不方便,引入了JSP
- JSP本质也是一个servlet
- JSP就是在HTML页面中嵌入了java代码
三、JSP中如何嵌套Java代码
答案:小脚本(<%java代码%>)
声明标签:<%! 变量或者方法声明 %>
表达式标签:<%= 表达式%> 在页面上显示的效果
程序代码标签 <%代码%> 页面上动态展示内容
page指令:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<body>
//编写代码
<%
int a = 20;
int b = 15;
%>
<h1>
a+b=<%=a+b%>//输出变量
</h1>
//定义方法
<%!
public void show(){
System.out.println(a+b);
}
%>
</body>
jsp中的注释:
<%-- JSP注释,查看页面源码时看不到 --% >
四、JSP原理
JSP处理流程:当浏览器访问index.jsp,服务器发现后缀为jsp,他会根据路径找到index.jsp,会将其翻译成index_jsp.java文件,对这个java文件进行编译,产生一个index_jsp.class文件,将class文件加载运行。
将jsp翻译成java文件,它是将jsp中的所有HTML代码通过流进行输出,也就是说最终翻译成class,被虚拟机加载,它本质是servlet,他就会往回响应,响应回去就是把JSP中的HTML代码以流的方式写回浏览器。所以在jsp中展示出了HTML代码
五、JSP的九大内置对象
JSP中一共预定义了9个这样的对象,分别是:request、response、session、application、page、pagecontext、out、config、exception
-
request(请求对象)
request对象是javax.servlet.httpServletRequest类型的对象。该对象代表了客户端的请求信息,主要是用于接收通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求 -
response(响应对象)
response代表的是服务器对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。所属类型:HttpServletResponse -
session(会话对象)
session对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为"Key/value"。session对象的value可以是复杂的对象类型,而不仅仅局限于字符串类型。它的作用域为一次会话所属类型:HttpSession -
application(程序对象)
application对象可以将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象的生命周期更长,类似于系统中的“全局变量”
作用域区别:
request:单词请求
session:浏览器访问期间(会话期间)
application:服务器启动期间,所存数