1.关于JSP
1.什么是JSP
Java Server Page;
jsp是运行在服务器端的页面;
jsp本质上就是一个servlet;但语法更像html;在jsp中可以直接写任何html,css,js,同时也可插入java代码;
2.JSP工作原理
jsp->转换成servlet->编译成class;
所以实质上JSP是servlet。区别是servlet更适合做逻辑处理,JSP适合页面展示。
2.知识点
1.注释
html注释:<!--注释-->
隐式注释:<%-- 隐式注释 --%>
2.脚本元素:(在jsp中如何嵌入java代码)
声明:<%! 声明语句 %>
表达式:<%= %> 在网页中输出表达的内容
代码段<% %> 执行任何java代码
3.指令
作用:通过指令来告知web容器如何处理jsp文件;
指令的语法
<%@ 指令名 属性名=值 %>
4.指令的类别
jsp的指令一共有三种;分别是
page指令:jsp的页面配置
include指令:包含指令;
taglib:标记库
5.page 指令
作用:选择web服务器,如何将jsp转换成servlet;
这是最主要的指令
学用属性;
contentType="text/html;charset=UTF-8"
import:导包,只有些属性可重复
session:是否使用session
errorPage:当前页面如果出错,跳转的页面
isErrorPage:是否是错误处理页面
6.include指令
作用:在jsp包含另外一个资源(jsp,html,servlet..)
语法:<%@include file="uri"%>
7.taglib标记
作用:定义一个标签库以及其自定义标签的前缀.如之后的Jstl标记库
语法:<%@ taglib uri="" prefix="c"%>
3.JSP九大内置对象
1.什么是JSP的内置对象
内置对象,又名隐式对象;
即在jsp中不用定义,可直接使用的对象就是内置对象;
2.JSP的内置对象一共有9个
out,response,
request,session,application,page,
config,pageContext,exception;
3.out对象代表输出流,使用它可以向网页中输出文本信息;
4.request:请求对象,HttpServletRequest的实例
5.response:响应对象,HttpServletReponse的实例
6.作用域对象
page:this ;存在当前网页中
request: 当次请求
session: 会话
application: 上下文
7.如何向各作用域对象中存取数据?
两个方法;
1.request,session,application中的getAttribute(),setAttribute();
2.通过pageContext对象的setAttirubete和getAttribute()方法;
8.redirect与forward的区别?
redirect是两次请求,forward的是一次请求,因此forward可以获得在request中设置的数据;redirect则不可以;
redirect可以重定向到任何url(其它网站),而forward只能做站内转发;
redirect时,url会变,而forward不变
如果在地址中使用/时,redirect代表当前服务器,而forward代表当前应用;
9.config:ServletConfig的实例,代表配置信息
10.exception: 异常;必须在isErrorPage=”true”
11.request中getParameter与getAttribute的区别
getParameter获得的是客户端发送的数据,返回值类型是String,
而getAttribute获得是在服务内部通过setAttribute存储的数据;返回值类型是Object
getAttribute通常用作在Servlet和jsp中传递数据;