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的路径

  1. 在jsp中资源路径可以使用相对路径完成跳转,但是:
    问题一:资源的位置不可随意更改
    问题二:需要使用../进行文件夹的跳出。使用比较麻烦。

  2. 使用绝对路径(必会):
    /虚拟项目名/资源项目路径
    在jsp资源中的第一个/表示的是服务器根目录,相当于localhost:8080

以上是关于jsp快速入门的主要内容,如果未能解决你的问题,请参考以下文章

struts2框架快速入门小案例

保姆级 tomcat 快速入门

Hibernate快速入门

jQuery UI 之 LigerUI 快速入门

Thymeleaf快速入门

Thymeleaf快速入门