欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JAVA之JSP详解

程序员文章站 2022-03-26 17:47:29
jsp 全称是java server pages,他和servlet一样,也是java所提供的一门用于开发动态web资源的技术, jsp也是javaee的规范之一,jsp的底层其实就是servlet...

jsp

全称是java server pages,他和servlet一样,也是java所提供的一门用于开发动态web资源的技术,

jsp也是javaee的规范之一,jsp的底层其实就是servlet。

jsp的特点

编写jsp就像编写html一样

jsp和html的区别

html只能向客户端提供静态数据

jsp技术允许我们在页面中嵌套java代码,从而可以向客户端提供动态的数据

jsp的原理

一个jsp文件第一次被客户端访问时(也包括jsp文件修改后的第一次被访问),web服务器会把jsp文件翻译成一个servlet,

客户端访问jsp文件,其实访问的就是jsp文件翻译后的servlet,

jsp的底层原理其实就是servlet。

设置jsp的默认编码

jsp的语法

模版元素

jsp页面中的html标签,css样式,以及js都称之为jsp的模版元素,模版元素定义了页面的结构和外观,

jsp翻译后的servlet中,模版元素会被输出流对象直接发送到客户端。

脚本片段:<% %>

jsp页面中可以嵌套java代码,java代码要定义在jsp的脚本片段中,也就是<%%>里面,

jsp页面中可以有多个脚本片段,

多个脚本片段之间,可以嵌套文本,嵌套html的标签,嵌套其他的jsp元素。

声明:<%! %>

在jsp页面里定义方法,定义成员变量等,<%! %>

脚本表达式

在jsp页面中将数据发送到客户端,替代jsp页面里的输出语句,

格式:<%=变量/常量/表达式%> //1 + 1

注意:在脚本表达式中不可以写分号

注释

html的注释:

java代码的注释://,/**/

脚本片段的注释:<%-- --%>

指令

指令并不会直接产生任何可见的输出,作用是告诉web服务器如何处理jsp页面的其他部分。

page

用于定义jsp页面的各种属性,无论定义在jsp页面的哪个位置,所影响的都是整个jsp页面,

建议:将page指令定义在jsp页面的起始位置

属性:

contenttype:设置响应的类型和编码

pageencoding:设置jsp页面的编码,也设置jsp页面翻译成servlet源文件的编码

import:导入jsp页面所需要使用的java类

默认已经导入的类

java.lang.*;

javax.servlet.*;

javax.servlet..*;

javax.servlet.http.*;

session:设置是否自动创建内置对象session,默认值是true

buffer:设置内置对象out的缓冲区大小,默认值是8k

autoflush:设置内置对象out是否会自动刷新,默认值是true

extends:设置jsp翻译后的servlet要继承哪个类,默认值是httpjspbase

language:设置脚本语言,只有一个值就是java,java也是默认值

isthreadsafe:设置jsp是否是多线程,默认值是true

include

用于在jsp页面中包含其他的web资源,把多个web资源一起翻译到了一个servlet中

属性:

file:设置要包含的web资源的路径

taglib

引入标签库

属性:

uri:设置引入标签库的路径

prefix:设置引入标签库的别名

基本格式:

<%@ 指令名称 属性="值" %>

<%@ page contenttype="text/html;charset=utf-8" %>

如果一个指令有多个属性,可以把多个属性写在同一个指令中,也可以把多个属性分开来写

<%@ page contenttype="text/html;charset=utf-8" import="java.util.date" %>

<%@ page contenttype="text/html;charset=utf-8" %>

<%@ page import="java.util.date" %>

jsp的九大内置对象

httpservletrequest request 请求对象

httpservletresponse response 响应对象

jspwriter out 输出流对象

httpsession session 会话对象

throwable exception 异常对象

servletcontext application 代表了整个web应用

servletconfig config 配置参数,用于获取servlet的配置参数

object page servlet的对象,方法中的this对象

pagecontext pagecontext jsp页面的上下文对象

pagecontext

pagecontext是jsp技术中最重要的一个对象,他代表了jsp页面的运行环境,

pagecontext封装了其他八个内置对象,

pagecontext也是一个域对象,可以用来保存数据,范围是当前页面,

pagecontext提供了一些web开发的常用功能,比如转发和包含,还可以操作检索其他域对象中的数据。

jsp的四大域对象

pagecontext 当前页面

request 当前请求

session 整个会话(整个的页面)

application 整个应用