JSP
程序员文章站
2022-03-11 19:14:40
...
1.jsp是什么?
sun公司制订的一种服务器端动态页面技术规范。
因为虽然使用servlet也可以生成动态页面,但是过于繁琐(需要使用out.print输出),并且不利于页面的维护(要修改页面, 就需要修改java代码),所以,sun才制订了jsp技术规范。
jsp是一个以".jsp"为后缀的文件,该文件的主要内容是html和 少量的java代码。容器会将jsp转换成一个对应的servlet然后执行。 也就是说,jsp的本质就是一个servlet。
2.如何写一个jsp文件?
step1.添加一个以.jsp后缀的文件。
step2.在该文件中,可以添加如下内容:
html(css,js)
直接写即可。
java代码
-
java代码片断。
<% java代码 %> -
jsp表达式
<%= java表达式 %>
隐含对象
a.什么是隐含对象?
可以直接使用的对象,比如out,request,response。
b.为什么可以直接使用这些隐含对象?
因为容器会自动添加获得这些对象的代码。
指令
-
什么是指令?
可以通过指令告诉容器,在将jsp转换成servlet代码时,额外
做一些处理,比如导包。 -
指令的语法
<%@ 指令名 属性=值 %>
如果有多个属性,用空格隔开。 -
page指令
import属性:导包,比如
<%@ page import=“java.util.,java.text.”%>
contentType属性:设置response.setContentType的内容。
pageEncoding属性:告诉容器,在读取jsp文件的内容时,使用指
定的字符集来解码。 -
include指令
告诉容器,在将jsp转换成servlet代码时,将file属性指定的文件
的内容插入到该指令所在的位置。
file属性: 指定文件的位置。
注:
被包含的文件,如果是jsp,不会执行。
3. jsp是如何运行的?
step1. 容器将jsp转换成一个servlet(.jsp–>.java)。
html(css,js) ------> 在service方法里面,使用out.write输出。
<% %> ------> 照搬到service方法里面。
<%= %> ------->在service方法里面,使用out.print输出。
step2. 容器再调用该servlet。
容器需要对其进行编译,然后实例化、初始化、调用、销毁。