Java Server Pages,服务器端负责页面展现的技术,能够嵌套java语言,以取代使用Servlet生成页面的方式,底层被转化为Servlet。java
依靠自身就能惟一肯定资源的路径,内容上以协议开头,如在HTTP请求中以http开头。浏览器
必须依赖其余路径才能惟一肯定资源的路径,内容上不以协议开头。安全
访问路径+资源名称,资源名称是最后一个“/”后面的内容,其他是访问路径。服务器
放在WEB-INF目录下的资源只能经过程序转发访问,没法经过浏览器直接访问,比较安全。重定向执行时是将地址发给浏览器,由浏览器发出请求,所以程序内部的重定向也没法直接访问WEB-INF目录下的资源。
在WEB-INF目录下的资源内部只能采用相对于服务器的路径,不能采用相对于当前资源访问路径的路径,即只能采用以下路径形式:session
${pageContext.request.contextPath}/xxx
全部的重定向只能采用相对于服务器的路径形式,由于重定向能够访问其余项目中的资源,路径的起点是服务器。根据地址栏地址的变化,HTML页面、JSP页面中的全部请求均可以看作重定向,全部的路径均必须采用相对于服务器的形式。app
全部的转发只能采用相对于项目的路径形式,由于转发只能访问同一项目内的资源。jsp
用于设定在整个JSP页面内都有效的信息,指令标识的语法格式:编码
<%@ tagName attr="value"...%>
JSP中有三种指令标识:url
主要用到的属性有:spa
<%@ include file="path"%>
静态包含,用于将一个JSP页面包含在当前页面中。所谓静态包含指的是,被包含的JSP页面原样呈如今包含页面中,与包含页面生成同一Servlet。
<%@ taglib prefix="c"uri=""%>
用于引入标签库到当前页面,使用指定的前缀引用标签库中的标签。
JSP中有3个动做标识:
动态包含,用于将一个JSP页面包含在当前页面中。所谓动态包含指的是,被包含页面经编译后呈如今当前页面中,包含页面与被包含页面各自生成一个Servlet。
<jsp:forward page="url"/>
用于页面跳转。
<jsp:param name="paramName"value="paramValue>
与<jsp:forward>标识结合使用,用于在页面跳转时传递请求参数。
在JSP页面能够插入java代码,插入的3种形式: