zoukankan      html  css  js  c++  java
  • jsp概述

    一 概述

    1.什么是JSP?

    Java Server Pages,服务器端负责页面展示的技术,可以嵌套java语言,以取代使用Servlet生成页面的方式,底层被转化为Servlet。

    二 路径

    1.绝对路径

    依靠自身就能唯一确定资源的路径,内容上以协议开头,如在HTTP请求中以http开头。

    2.相对路径

    必须依赖其他路径才能唯一确定资源的路径,内容上不以协议开头。

    3.资源路径构成

    访问路径+资源名称,资源名称是最后一个“/”后面的内容,其余是访问路径。

    4.WEB-INF路径

    放在WEB-INF目录下的资源只能通过程序转发访问,无法通过浏览器直接访问,比较安全。重定向执行时是将地址发给浏览器,由浏览器发出请求,因此程序内部的重定向也无法直接访问WEB-INF目录下的资源。
    在WEB-INF目录下的资源内部只能采用相对于服务器的路径,不能采用相对于当前资源访问路径的路径,即只能采用如下路径形式:

    ${pageContext.request.contextPath}/xxx

    5.重定向路径

    所有的重定向只能采用相对于服务器的路径形式,因为重定向可以访问其他项目中的资源,路径的起点是服务器。根据地址栏地址的变化,HTML页面、JSP页面中的所有请求都可以看做重定向,所有的路径均必须采用相对于服务器的形式。

    6.转发路径

    所有的转发只能采用相对于项目的路径形式,因为转发只能访问同一项目内的资源。

    三 指令标识

    用于设定在整个JSP页面内都有效的信息,指令标识的语法格式:

    <%@ tagName attr="value"...%>

    JSP中有三种指令标识:

    1.page

    主要用到的属性有:

    • contentType:设定页面的MIME类型与编码方式。
    • isErrorPage:将页面设定为错误处理页面,通常与内置对象exception结合使用,用来处理另一个页面的错误信息。
    • errorPage:为页面指定错误处理页面,当页面运行出现错误时,跳转到指定页面。

    2.include

    <%@ include file="path"%>

    静态包含,用于将一个JSP页面包含在当前页面中。所谓静态包含指的是,被包含的JSP页面原样呈现在包含页面中,与包含页面生成同一Servlet。

    3.taglib

    <%@ taglib prefix="c"uri=""%>

    用于引入标签库到当前页面,使用指定的前缀引用标签库中的标签。

    四 动作标识

    JSP中有3个动作标识:

    1.<jsp:include>

    动态包含,用于将一个JSP页面包含在当前页面中。所谓动态包含指的是,被包含页面经编译后呈现在当前页面中,包含页面与被包含页面各自生成一个Servlet。

    2.<jsp:forward>

    <jsp:forward page="url"/>

    用于页面跳转。

    3.<jsp:param>

    <jsp:param name="paramName"value="paramValue>

    与<jsp:forward>标识结合使用,用于在页面跳转时传递请求参数。

    五 九大内置对象

    • request:用于获取请求信息,比如请求参数及客户端信息。
    • response:用于响应客户端请求。
    • out:用于输出响应信息。
    • session:代表浏览器与服务器的一次会话。HTTP协议是无状态协议,响应结束后,会话终断,不会保存会话信息,session
    • 就是为了保存会话信息产生的。
    • application:代表应用程序,主要用于保存整个应用层面的信息。
    • page:代表当前页面。
    • pageContext:页面上下文,通过该对象可以获取其他对象,比如request/session/application等。
    • config:用于获取服务器的配置信息,初始化Servlet。
    • exception:用于获取页面的错误信息。

    六 java代码

    在JSP页面可以插入java代码,插入的3种形式:

    • <%! xxxxxx %>:声明代码块,用于声明全局变量或方法。
    • <% xxxxx %>:java代码块,可以在其中编写任何java代码,该代码块最终被编写在方法中。
    • <%= xxxxx %>:输出代码块,用于向JSP页面输出内容。
  • 相关阅读:
    LeetCode 252. Meeting Rooms
    LeetCode 161. One Edit Distance
    LeetCode 156. Binary Tree Upside Down
    LeetCode 173. Binary Search Tree Iterator
    LeetCode 285. Inorder Successor in BST
    LeetCode 305. Number of Islands II
    LeetCode 272. Closest Binary Search Tree Value II
    LeetCode 270. Closest Binary Search Tree Value
    LeetCode 329. Longest Increasing Path in a Matrix
    LintCode Subtree
  • 原文地址:https://www.cnblogs.com/wangyage/p/7198824.html
Copyright © 2011-2022 走看看