• JSP基础知识


    JSP的本质是Servlet源程序

    每个JSP页面在第一次被访问时,JSP引擎将它翻译成一个Servlet源程序,接着再把这个Serlvet源程序编译成Servlet的class类文件。

    然后再由Web容器(Servlet引擎)像调用普通Servlet程序一样的方式来装载和解释执行这个Servlet程序。

    JSP页面的隐含变量

    已经声明好的变量,不用我们自己声明。

    一共有9个隐含对象。

    1. HttpServletRequest request

    2. HttpServletResponse response

    在JSP页面中几乎不会调用response的任何方法

    3. PageContext pageContext

    页面的上下文,可以从该对象中获取其他8个隐含对象,也可以获取到当前页面的其他信息

    4. HttpSession session

    浏览器和服务器的一次对话

    5. ServletContext application

    代表当前Web应用

    6. ServletConfig config

    当前JSp对应的Servlet的ServletConfig对象(几乎不用)

    7. JspWriter out

    out.println() 可以直接把字符串打印到浏览器上

    8. Object page

    指向当前JSP对应的Servlet对象的引用,但因为Object类型,只能调用Object类的方法(几乎不用)

    9. Exception exception

    在声明了page指令的isErrorPage="true"时,才可以使用   <% page isErrorPage="true" %>

    域对象的属性操作

    1)方法

    Object getAttribute(String name):获取指定的属性

    Enumeration getAttributeNames():获取所有的属性的名字组成的Enumeration对象

    void removeAttribute(String name):移除指定的属性

    void setAttribute(String name, Object o):设置属性

    2)pageContext,request,session,application对象都有这些方法(所以这四个对象也被称为域对象)

    pageContext:属性的作用范围仅限于当前JSP页面。

    request:属性的作用范围仅限于同一个请求。

    session:属性的作用范围限于一次会话。

    application:属性的作用范围限于当前Web应用。

    JSP表达式

    <%= xxx %> 将里面的内容输出到页面。

    相当于out.println(xxx)

    JSP声明

    <%!  %>里的java代码将被插入Servlet的JspServlet方法外面,所以JSP声明可用于定义JSP页面转换成的Servlet程序的静态代码块、成员变量和方法。

    因为JSP隐式对象实在jspServlet方法内声明的,所以在JSP声明中不能使用这些隐式对象。

    JSP注释

    <%-- --%>

    可以注释java语句和JSP标签等。

    JSP指令

    告诉引擎如何处理JSP页面中的其余部分

    page指令

     1. <%@ page import="xxx" %>  :导入包

     2. <%@ page isErrorPage="false" %>  :若为true,则该页面是错误页面,可以使用exception隐含变量

    3. <%@ page errorPage="" %>  :为该页面指定错误页面,当发生错误就会跳转到错误页面

    4. <%@ page isELIgnored="false" %>  :该页面是否忽略EL表达式,默认为false(不忽略)

    5. <%@ page session="true" %>  :该页面是否可以使用session

    ...

    include指令

    <%@ include file="b.jsp" %>  :静态引入其他JSP,将被引入的JSP与原JSP融合到一起,只生成一个Servlet源文件

    taglib指令

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>  :引入自定义标签库

    JSP标签

    1. include

    动态引入JSP,生成两个Servlet源文件,然后通过一个方法的方式把目标页面包含进来,且可以传入参数

    <jsp:include page="b.jsp">
    <!-- 可在b.jsp页面通过 request.getParameter("username")获取参数 -->
    <jsp:param value="abcd" name="username" /> </jsp:include>

    2. forword

    转发。但可以传入参数

    <jsp:forward page="b.jsp">
    <!-- 可在b.jsp页面通过 request.getParameter("username")获取参数 -->
    <jsp:param value="abcd" name="username" /> </jsp:forward>
  • 相关阅读:
    随笔53 java存在继承关系的类之间的调用
    Servlet 与 CGI 的比较
    Angularjs导出数据到Excel
    JavaScript获得当前月份起止日期
    const与let
    JS判断浏览器类型及版本号(Web端)
    JSON怎么添加注释
    CSS中的特殊的选择器
    CSS界面友好显示的小技巧
    CSS3使用弹性盒子模型定义布局
  • 原文地址:https://www.cnblogs.com/CComma/p/7137468.html
Copyright © 2020-2023  润新知