jsp快速入门
Posted 新火且试茶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp快速入门相关的知识,希望对你有一定的参考价值。
一、page指令
<%@ page 属性名="属性值" 属性名="属性值" ...%>
- language:声明jsp要被转译的语言,只能是java
- import:声明转译的java文件要导入的包,不同的包使用逗号隔开
- pageEcoding:设置jsp文件的数据编码格式
- contentType="text/html;charset=utf-8"设置jsp数据响应给浏览器,浏览器的解析和编码格式。
- session:设置转译servlet中是否开启session支持,默认开启,true表示开启,false表示关闭。
- errorPage:设置jsp运行错误跳转的页面。
- extends:设置jsp转译的java文件要继承的父类(包名+类名)
作用:设置jsp文件转译相关的参数
二、jsp的静态引入和动态引入
优点:降低jsp代码的冗余,便于维护升级。
静态引入
<%@ include file="要引用文件名的相对路径" %>
- 特点:将当前的jsp文件和引入的jsp文件转译成一个java文件使用。在网页也就显示了合并后的显示效果。
- 注意:
静态引入的jsp文件不会单独转译成java文件。
当前文件和静态引入的jsp文件中不能够使用java代码块声明同名变量。
动态引入
<jsp:include page="要引入文件的相对路径"></jsp:include>
- 特点:会将引入的jsp文件单独转译,在当前文件转译号的java文件中调用引入的jsp文件的转译文件,在网页中显示合并后的显示效果。
- 注意:动态引入允许文件中声明同名变量。
三、jsp的转发标签forward
- 使用:
<jsp:forward page="要转发的文件的相对路径"></jsp:forward> - 特点:一次请求,地址栏信息不改变
- 注意:在转发标签的两个标签中间除了写<jsp:param value="" name="" />子标签不会报错,其他任意字符都会报错,包括空格
四、jsp的内置对象
jsp文件在转译成其对应的servlet文件的时候自动生成并声明的对象,在jsp页面可以直接使用
- pageContext:页面上下文对象,封存了其他内置对象。封存了当前jsp的运行信息。每一jsp文件单独拥有一个pageContext对象。作用域为当前页面
- request:封存当前请求数据的对象。有tomcat服务器创建。一次请求
- session:此对象用来存储用户的不同请求的共享数据的。一次会话
- application:也就是ServletContext对象,一个项目只有一个。存储用户共享数据的对象,以及完成其他操作。项目内
- response:响应对象,用来响应请求处理结构给浏览器对象。设置响应头,重定向
- out:响应对象,jsp内部使用。带有缓冲区的响应对象,效率高于response对象。
- page:代表jsp的对象,相当于java中的this
- excption:异常对象。存储了当前运行的异常信息。使用此对象需要在page指令中使用isErrorPage="true"开启
- config:也就是ServletConfig,主要用来获取web.xml中的配置数据,完成一些初始化数据的读取
五、四个作用域对象
- pageContext:当前页面。解决了当前页面内的数据共享问题。获取其他内置对象
- request:一次请求。一次请求的servlet的数据共享。将数据流转给下一个servlet
- session:一次会话。一个用户的不同请求的数据共享。将数据从一次请求流转给其他请求。
- application:项目内。不同用户的数据共享问题。将数据从一个用户流转给其他请求。
六、jsp的路径
-
在jsp中资源路径可以使用相对路径完成跳转,但是:
问题一:资源的位置不可随意更改
问题二:需要使用../进行文件夹的跳出。使用比较麻烦。 -
使用绝对路径(必会):
/虚拟项目名/资源项目路径
在jsp资源中的第一个/表示的是服务器根目录,相当于localhost:8080
以上是关于jsp快速入门的主要内容,如果未能解决你的问题,请参考以下文章