ningbaoer

导航

JSP


概念
java server pages(java服务器页面),
本质上就是一个servlet,运行在服务器端.

作用
在html代码中嵌套java代码
将内容的生成和信息的展示相分离

后缀名 .jsp

jsp中组成部分
html + css + js + java+jsp特有的内容


jsp执行流程
第一次访问服务器中index.jsp的时候,
首先会加载服务器中的web.xml文件,
通过反射机制找到JspServlet来进行处理,
服务器会将(所有的.jsp) index.jsp转换为java文件(index_jsp.java这里是就转换称源码文件了),
服务器会把java文件转换为class文件(字节码文件),服务器执行class文件,
产生一个响应结果传递给服务器,
再由服务器响应给浏览器,由浏览器进行解析

jsp特有的内容

jsp的脚本

1. <%...%>:java程序片段
生成在service方法中,是局部位置


2. <%=...%>:输出表达式

生成在service方法中,
相当于调用了 out.print(...),就是输出到页面的out.print("...")中的... ,
就是输出语句中的输出内容

输出表达式不能以分号结尾


3. <%!...%>:声明成员
不会出现在service方法中,是成员位置

<!-- ctrl +shift + / 这是注释 java代码片段 这里相当于函数内部-->
<%
int i = 10;
System.out.println("i = " + i);
%>
<!--向叶面 输出内容 输出语句的实参 -->
<%= i %>
<!-- 定义成员变量 成员函数 -->
<%!
int i = 12;
int num ;
%>
<br>
<%=num %>

jsp的注释(了解)
1.html注释 <!-- -->
会在html源码和java源码中存在

2.java注释 //单行,/**/多行,/***/
只会在java的源码中存在

3.jsp注释 <%-- 注释内容 --%>
不会出现在java源码中和html源码中

 


jsp的指令

声明当前页面的一些属性和行为的
格式 <%@指令名称 属性=值 属性=值%>
指令可以出现多次
指令的位置随意 一般放在jsp最上面


指令的分类
重要的
page:声明当前页面的一些属性和行为

import:声明当前页面所需要的jar包

pageEncoding:声明当前的页面编码

contentType:设置当前文件mime类型,指定响应流的编码,通知浏览器用什么编码打开


需要了解的
buffer:设置缓冲区的大小 autoFlush:设置是否自动刷新缓冲区
extends:设置当前jsp继承那个类(保证必须是一个servlet)
errorPage:用来设置当前页面出现错误的时候 转发到页面
session:用来设置页面是否可以使用session内置对象
isELIgnored:是否忽略el表达式
isErrorPage:设置当前页面是否是错误页面,若是可以使用exception内置对象

 

jsp的内置对象(9个隐式对象)
request 页面请求对象 HttpServletRequest
response HttpServletResponse
out 就是getWrite JspWriter
session HttpSession
exception Throwable
page 当前页面 Servlet(this)
config 配置信息 ServletConfig
application 上下文管理者 ServletContext

域对象 四个
pageContext 当前页面
request 一次请求
session: 一次会话
xxxAttribute 当前项目

pageContext 多了一个功能
<!-- find 是pageContext的特有功能 进行查找 找完了 都找不到 就返回null-->
<%=pageContext.findAttribute("aaa")%><br>
<%=pageContext.findAttribute("sss")%><br>
<%=pageContext.findAttribute("rrr")%><br>
<%=pageContext.findAttribute("ppp")%><br>

 

include:包含(静态包含)
将被包含资源的所有内容复制过来,一并编译运行.
<%@include file="/include_static/i1.jsp" %>


动态包含
将被包含资源的运行结果包含进来
<jsp:动作标签 属性="值">
<jsp:include>
<jsp:include page="/jsp/header.jsp"></jsp:include>

posted on 2023-05-24 16:46  宁宝儿  阅读(10)  评论(0编辑  收藏  举报