jsp 入门解析
JSP
jsp 的书写与 html 的类似,但是不能直接访问,需要部署在服务器上,才能访问,但是 html 的语法规则在 jsp 中同样适用,可以得到同样的效果。jsp 可以显示动态资源,动态获取后台的传输的资源,动态的显示在页面上,更好的直观的显示在页面上。
路径
1.绝对路径
依靠自身就能唯一确定资源的路径,内容上以协议开头,如在 HTTP 请求中以 http 开头。
2.相对路径
必须依赖其他路径才能唯一确定资源的路径,内容上不以协议开头。
3.资源路径构成
访问路径+资源名称,资源名称是最后一个“/”后面的内容,其余是访问路径。
4.WEB-INF 路径
放在 WEB-INF 目录下的资源只能通过程序转发访问,无法通过浏览器直接访问,比较安全。重定向执行时是将地址发给浏览器,由浏览器发出请求,因此程序内部的重定向也无法直接访问 WEB-INF 目录下的资源。在 WEB-INF 目录下的资源内部只能采用相对于服务器的路径,不能采用相对于当前资源访问路径的路径,即只能采用如下路径形式:
5.重定向路径
所有的重定向只能采用相对于服务器的路径形式,因为重定向可以访问其他项目中的资源,路径的起点是服务器。根据地址栏地址的变化,HTML 页面、JSP 页面中的所有请求都可以看做重定向,所有的路径均必须采用相对于服务器的形式。
6.转发路径
所有的转发只能采用相对于项目的路径形式,因为转发只能访问同一项目内的资源。
JSP 的执行过程
浏览器发起请求 tomcat 解析请求地址,找到具体的位置做出相应的请求,找到后再做出相应的解析工作,编译成 Java 文件,得到数据。
JSP 语法
代码
JSP 指令
jsp 的指令是给 jsp 引擎看的,让 jsp 引擎在翻译 jsp 页面成 java 文件的时候,知道需要注意哪些地方的设置。比如页面中的编码、页面中脚本里面所用的编程语言、翻译的 java 文件中需要引入哪些包下的 java 类等等
写法:<%@指令名字 属性名="属性值" .. %>
分类:page 指令(最常用)include 指令、taglib 指令
page:
page 是常用的一个 jsp 指令,可以用来指定当前 jsp 的一些基本设置。
主要用到的属性有:
contentType:设定页面的 MIME 类型与编码方式。
isErrorPage:将页面设定为错误处理页面,通常与内置对象 exception 结合使用,用来处理另一个页面的错误信息。
errorPage:为页面指定错误处理页面,当页面运行出现错误时,跳转到指定页面。
include:
nclude 指令,可以将另一个页面的显示内容,引入到当前页面中的指定位置。
静态包含,用于将一个 JSP 页面包含在当前页面中。所谓静态包含指的是,被包含的 JSP 页面原样呈现在包含页面中,与包含页面生成同一 Servlet。
形式:<%@include file="" %>
taglib:
用于引入标签库到当前页面,使用指定的前缀引用标签库中的标签。
taglib 指令,在 jsp 中可以引入标签库,然后就可以使用标签库中的标签,来完成相应的功能了
加在开头的位置
例如,引入 JSTL 标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
例如,引入 spring 框架的标签库<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>
注意 1,引入标签库,需要先在项目中引入对应的 jar 包(将 jar 包粘贴到 WEB-INF 文件夹下的 lib 目录,如果在 Libraries 文件夹下有粘贴的 jar 包,那么 jar 包就生效了)
注意 2,uri 属性,指的是标签库的设置的 URI 地址
注意 3,prefix 属性,指的是给引入的标签库起一个别名,这样使用起来较为方便
版权声明: 本文为 InfoQ 作者【楠羽】的原创文章。
原文链接:【http://xie.infoq.cn/article/8632f6f4bb15975b2f2928349】。文章转载请联系作者。
评论