JSP笔记

本文介绍了JavaServerPages (JSP) 的基本概念、原理、脚本元素、内置对象、指令、注释以及关键内置对象的使用。重点讲解了如何配置页面属性、处理异常和使用JSP的9个内置对象来实现动态内容输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、jsp:Java Server Pages ===>java服务器端页面

可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码
用于简化书写

2、原理:JSP本质上就是一个Servlet

3、JSP脚本:

(1)<%  代码%>:定义的java代码,在service方法中,service可以定义什么,
他就可以定义什么
(2)<%! 代码 %>:定义的java代码,在jsp转换后的成员变量位置,尽量少用,
有线程问题
(3)<%= 代码 %>:定义的java代码会输出到页面上,输出预计可以定义什么,
他就可以定义什么

4、JSP的内置对象:

(1)在JSP页面中不需要获取和创建,可以直接使用的对象
(2)JSP一共有9个内置对象。
(3)先了解3个:
	request
	response
	out :字符输出流对象。可以将数据输出到页面上。和response . getWriter()类似
(4) response.getwriter( )和out.write( )的区别:
	*在tomcat服务器真正给客户端做出响应之前,会先找response缓冲区数据,
		再找out缓冲区数据。
	*response.getwriter()数据输出永远在out.write()之前

5、指令:

*作用:用于配置JSP页面,导入资源文件
*格式:
	<%@指令名称属性名1=属性值1属性名2=属性值2 ... %>
*分类:
	1.page:用于配置JSP页面
		page的相关属性:
		(1)contentType :等同于response . setContentType( )
			1.设置响应体的mime类型以及字符集
			2.设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级
			工具,则需要设置pageEncoding属性设置当前页面的字符集)
		(2)import :导包
		(3)errorpage :当前页面发生异常后,会自动跳转到指定的错误页面
		(4)isErrorPage :标识当前页面是否是错误页面。
			true :是,可以使用内置对象exception
			false :否。(默认值)不可以使用内置对象exception
	2.include:导入其他jsp
		如:<%@include file="top.jsp"%>

	3.taglib:导入资源
		如:
		<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
		*prefix :指前缀,自定义的,到时候要使用标签库就要用这个前缀,比如:
		<c:if >

6、注释:

(1)html注释:<!--  -->  只能注释html
(2)jsp注释: <%--  --%>  可以注释所有

7、内置对象(9个,其中前四个为域对象 ):

(1)pageContext
	①真实类型:PageContext
	②作用:当前页面共享数据,还可以获取其他八个内置对象
(2)request
	①真实类型:HttpServletRequest
	②作用:一次请求访问的多个资源(转发)
(3)session
	①真实类型:HttpSession
	②作用:一个会话的多个请求间
(4)application
	①真实类型:ServletContext
	②作用:所有用户间共享数据
(5)response
	①真实类型:HttpServletResponse
	②作用:响应对象
(6)page
	①真实类型:Object
	②作用:当前页面(Servlet)的对象,即this
(7)out
	①真实类型:JspWriter
	②作用:输出对象,将数据输出到页面上
(8)config
	①真实类型:ServletConfig
	②作用:Servlet的配置对象
(9)exception
	①真实类型:Throwable
	②作用:异常对象

8、例子

<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    服务器崩溃啦。。。。。。。。。。。。
    <%
        String m = exception.getMessage();
        out.print(m);
    %>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值