欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

JSP技术

时间:2023-08-05

   1.JSP概述:
    1.1什么是jsp:它的英文全称 java server pages ,java服务端页面,它是建立在servlet规范基础上的动态网页开发技术。
          *java 服务端页面:在jsp上可以写java代码,也可以写html标记,它运行在服务器端。
          *jsp = java + html + jsp自身的一些乐西。
           为什么会产生jsp技术:
        因为在早期,没有jsp时,需要servlet向页面写数据,比较麻烦,所以就产生了jsp技术
           jsp最大的特点:可以非常简单的书写页面。
    jsp其实它的本质是servlet

    1.2编写第一个JSP文件:jsp生成Java文件,编译成class文件,存在tomcat服务器的work目录。
        注意:修改jsp的默认编码格式: window--- ->perferenes----->搜索jsp选中编码进行修改


    1.3JSP运行原理
        1.通过浏览器首次访问jsp时
        2.JSP容器会生成对应的Servlet文件,也就是.java文件
        3.JSP容器,会把java文件编译对应的class文件
        4.JSP容器,会生成对应的servlet对象
        5.通过生成的servlet对象,去处理浏览器发送的请求,响应数据给浏览器。

2.JSP基本语法
    1.1JSP脚本元素
        在jsp页面书写Java的三种形式:
        1.可以声明语句和方法
        2.可以书写java代码段
        3.可以书写表达式
            1.JSP scriptlets
        在jsp页面里可以书写java代码片段(定义的变量是局部变量),
            基本语法:<%    java代码片段    %>

            2.JSP声明语句
        在jsp里面可以书写变量和方法(定义的变量是全局部变量)
            基本语法:
                <%!
                定义变量或者方法
                %>
            3.JSP表达式
        在jsp页面,一句只可以输出一个结果,基本语法: <%=表达式 %>,
        注意:表达式后面不能书写分号

    1.2 JSP注释
        在jsp里面,可以书写html,可以书写java,可以书写jsp自身的一些内容。
        在jsp里面写注释三种形式:
        >>> 1、html注释:   :在任何地方都存在了
        >>> 2.java注释:单行,多行,文档注释   :存在jsp页面,也存在java文件里面存在,对应生成的html就消失了
        >>> 3、jsp注释:<%-- jsp注释-->  :只存在jsp页面,在生成Java文件时它就消失了

3.JSP指令:page指令、include指令、taglib指令()
    1.1page指令
         page指令的用途是设置与jsp页面相关的信息,比如说设置jsp页面的编码,jsp页面的默认语言等
         基本语法格式:<% page 属性1="属性值” 属性2="属性值” 属性3="属性值"……%>
       比如: 
          <@page language="java" contentType="text/html; charset=UTF-8"
             pageEncoding="UTF-8"%>
    常用属性:
       language:默认语言java,也就是只有java一种语言。
       pageEncoding:设置jsp的编码格式
       session属性:值得类型是boolean,如果对应的值是true,在jsp页面可以使用session对象,反之就不能使用。
       import属性:到包,和在java里面使用一样,如果想使用某个类,前提导入某个类的包名。(唯一一个可多次使用的属性,之间用“,”隔开就行)
       errorPage="跳转的页面":出现异常就跳转页面,比如:1除0会出现异常然后发生跳转  
 

    1.2include指令:
        作用:在jsp页面通常会需要显示其它页面的信息,所以可以通过这个include指令把其它页面包含过来。
        基本语法:<%@include file="被包含文件的url”%>
             使用jsp的include指令实现的包含,又称为静态包含。
        静态包含的特点:
            1.把多个页面旳内容,合并输出,比如把date.jsp和include.jsp内容合并输出。
            2.多个页面对应生成一个java文件,编译后,对应一个class文件。
4.JSP隐式对象
    1.1隐式对象概述:
        H么是隐式对象:在jsp页面里面,jsp提供了一些对象,不用咱们自己创建,可以直接使用的对象。
        jsp常见的九大隐式对象:
            request: HttpServletRequest,请求对象,它同时也是域对象,作用范围一次请求
            response: HttpServletResponse,响应对象
            session: HttpSession ,会话对象,它同时也是域对象,作用范围一次会话
            application:ServletContext,上下文对象,它同时也是域对象,作用范围整个项目
            config: ServletConfig,配置对象
            out: Jspwriter,其实和PrintWriter作用差不多。
            page:0bject ,代表当前jsp的页面对象
            pageContext: PageContext ,jsp容器
            exception: Throwable,异常对象,用来捕获异常信息。
    *****注意*********只有当前jsp页面有isErrorPage="true"这个属性时,才能使用exception对象
        
    1.2out对象
        out对象在输出内容到网页上面去,最终是通过reponse缓冲区给输出。
        

    1.3pageContext对象
        第一个功能:获取其它八个隐式对象
            >>>1.获取请求对象:getRequest();
            >>>2.获取响应对象:getResponse();
            >>> 3.获取输出对象:getout();

        第二个功能:操作其它三个域对象:request、session、application
                   pageContext也是一个域对象:作用范围在当前jsp页面。
                   操作其它三个域对象的方法:
                1.存值:setAttribute(String key, 0bject obj,int scope);
            APPLICATION_SCOPE :对应的是application
            REQUEST_SCOPE: 对应的是request
            SESSION_SCOPE:对应的是session
            PAGE_SCOPE:对应的是自己pageContext
            
                2.取值:getAttribute(String key ,int scope);
        
        结论:在pageContext域对象使用findAttribute方法获取值,进行了全域查找,首先找域作用
               范围小的对象,如果有值,获取到,如果域作用范围小的对象,不存在对应的值,就继续向下寻找

        查找的范围: pageContext--->request----->session----->application(最大)


    1.4exception对象
        它用来捕获信息的。
        会用到两个属性:
        >>>errorpage:属性对应的值,处理异常信息的页面,就是说在当前页面发生了异常,跳转到异常处理异常信息的页面
        >>> isErrorPage:属性对应的值是true或者false,如果为true,在当前页面可以使用exception对象
1.5JSP动作元素
    1.1 动作元素:动态包含
          动态包含:把其它资源页面的内容,合并到当前要包含的页面,最后一块输出。
    基本语法格式:
    *动态包含特点:多个页面的内容合并输入,多个jsp页面生成多个java文件,编译成多个class文件
    *静态包含特点:多个页面的内容合并输出}多个jsp页面最终生成一个java文件,编译一个class文件。

    1.2 动作元素:请求转发。
        它的作用实现请求转发,效果等同于RequestDispathcer对象的forward方法。
        基本语法格式:
        转发页面的url地址:不需要携带项目名称,因为转发动作是服务器内部行为。
        

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。