page指令元素
page指令元素用来设置页面的一些具体参数,共有12个
language:页面脚本类型,一般为Java
contentType:页面软编码的一部分,相当于
response.setContentType(“text/html;charset=utf-8”);
一般在page指令元素外添加<% request.setCharacterEncoding(“编码”) %>
两句组合为软编码
pageEncoding:页面转换编码,当页面转换为servlet实例时的编码
默认为iso-8859-1不支持中文
import:表示页面编码的导包,多个包用逗号隔开,不推荐使用快捷键
session:当前页面是否支持session会话跟踪机制,注意,默认为true
支持,如果更改为false,则底层不再生成pageContext.getSession()
jsp页面在开启时不再创建session
info:用来添加作者的签名等,可以通过getServletInfo()
拿取
buffer:默认页面保存在本地的大小,保存的越多浏览器
再次打开本页面时越快
autoFlush:是否支持自动刷新,如果开启可以设置自动刷新的
频率,多用于聊天室 文字直播等
isELIgnored:是否忽略EL表达式,不忽略
isTheadSafe:当前线程是否安全,默认是true,单实例多线程
不安全,更改为false,则底层实现SingleThreadModel接口
单实例单线程,线程安全
errorPage:错误友好化,当前页面如果出现异常,自动跳转
到哪个页面
isErrorPage:是否开启JSP九个内置对象中的exception内置
对象,用来解析异常,默认不开启无法直接使用
Jsp<%%>书写方式
1)带!以;结尾
这种书写方式生成的源码在service()外,
成员变量
2)不带!以;结尾
这种书写方式生成的源码在service()内
局部变量
3)以=开头,不以;结尾
这种书写方式生成的源码在service()内
直接输出,又称之为表达式的书写方式
JSP内置对象
在jsp中为我们准备好了九个对象,这九个对象
中有八个可以直接使用,exception需要添加参数
pageContext
request
session
application
response
out
config
page
exception
el表达式(Express Language)
JSTL(Jsp Standard Tag Lib)
分页的种类:
1)假分页
用户一次将数据库中表中的所有记录拿取,用户需要
哪几条就显示哪几条
2)真分页
用户需要哪几条,就从数据库中取出哪几条
分页公式(mysql):
select 字段 from 表 limit x,y;
x:起始索引值y:一共显示多少条记录
分页四要素:
不管使用何种技术,如果要进行分页的业务逻辑,则一般
都要拿取分页四要素,也就是四个值,只要拿取了这四个值
则分页可解
1:总记录数 dao2:每页记录数 自己订3:总页数 (总记录数+每页记录数-1)/每页记录数4:当前页 默认是1,但是此值是一个变量,不断发生改变,必须每次更改之后都要重新拿取
分页四要素与分页公式:
select 字段 from 表 limit (当前页-1)*每页记录数,每页记录数;
eg:10条记录 每页3条 分4页page1: 1~3条 0,3 (1-1)*3,3page2: 4~6条 3,3 (2-1)*3,3page3: 7~9条 6,3 (3-1)*3,3 List<Computer> list = dao.queryPage((当前页-1)*每页记录数,每页记录数);
重定向
-
绝对路径
-
response.sendRedirect("/工程名/拦截路径");
-
response.sendRedirect("/工程名/XXX.html");
-
response.sendRedirect("/工程名/XXX.jsp");
-
相对路径
请求转发
-
绝对路径
-
往哪里跳就书写要被跳转的目的地的
-
@WebServlet("书写这里")
-
相对路径
-
在书写跳转路径时,不能根据本地工作空间和服务器中的
-
工程结构来判断如何跳转,而应该观察浏览器地址栏的路径
-
如果书写相对路径,默认只能修改浏览器地址栏显示的路径的最后一级
-
跳转前:
-
http://localhost:8080/JspDay2_page/test1
-
跳转后:
-
http://localhost:8080/JspDay2_page/test2
-
~~~~~~~~~~~~~~~~~~~
-
跳转前:
-
http://localhost:8080/JspDay2_page/happy/test1
-
跳转后:
-
http://localhost:8080/JspDay2_page/test2