zoukankan      html  css  js  c++  java
  • Jsp的语法和指令

    Jsp的三种注释
      前端语言注释:<!-- -->
        会被转译,也会被发送,但是不会被浏览器执行
      java语言注释:
        会被转译,但是不会被servlet执行
      Jsp注释:<%--  --%>
        不会被转译

      Jsp的page指令学习
        <%@ page 属性名="属性名" 属性名="属性值"...%>

        language:声明jsp要被转译的语言
        import:声明转译的java文件要导入的包,不同的包使用逗号隔开
        pageEncoding:设置jsp文件的数据编码格式
        contentType="text/html;charset=utf-8" 设置jsp数据响应给浏览器时,浏览器的解析和编码格式。
        session:设置转译的servlet中是否开启session支持,默认开启 sessIon=“true”开启 "false"关闭
        errorPage:设置jsp运行错误跳转的页面
        extends:设置jsp转译的java文件要继承的父类(包名+类名)。

      作用:
        配置jsp文件的转译相关的参数

      Jsp的局部代码块:

        特点:

          局部代码块中声明的java代码会被原样转译到jsp对应的servlet文件的_JspService方法中

          代码块中声明的变量都是局部变量

        使用:

          <% java代码 %>

        缺点:

          使用局部代码块在jsp中进行逻辑判断,书写麻烦,阅读困难

        开发:

          servlet进行请求逻辑处理,使用jsp进行页面展现

      <!-- 局部代码块 -->
            <%
                //声明java代码域    
                int a=9;
                if(a>10){
            %>
            <b>jsp学习很简单的。。。。。</b>
            <% } else {%>
                <i>jsp中使用逻辑检验很难受</i>
            <%test(); } %>

      Jsp全局代码块:

        特点:

          声明的java代码块作为全局代码转译到对应的servlet类中

        使用:

          <%! 全局代码 %>

        注意:

          全局代码块声明的代码,需要使用局部代码块调用

    <!-- 全局代码块 -->
            <%!
                int b=7;
                public void test(){
                System.out.println("我是全局代码块声明!!!");
            }
            
            %>

      

      Jsp的脚本段语句:
        特点:
          帮助我们快速的获取变量或者方法的返回值作为数据响应给浏览器
        使用:
          <%=变量名或者方法 %>
        注意:
          不要在变量名或者方法后使用分号
        位置:
          除Jsp语法要求以外的任意位置

      

    Jsp的静态引入和动态引入
      静态引入:
        <%@include file="要引入的jsp文件的相对路径" %>
      特点:
        会将引入的jsp文件和当前jsp我呢间转译成一个java(servlet)文件使用
        在网页中也就是显示了合并后的显示效果
      注意:
        静态引入的jsp文件不会单独转译成java(Servlet)文件
        当前文件和静态引入的jsp文件中不能使用java代码块声明同名变量
      动态引入:
        <jsp:include page="要引入的jsp文件的相对路径"></jsp:include>
      特点:
        会将引入的jsp文件单独转译,在当前文件转译好的java(Servlet)文件中调用引入的jsp文件的转译文件。
        在网页中显示合并后的显示效果 (在此方法中调用另一个方法)
      注意:
        动态引入允许文件中声明同名变量(在此方法中调用另一个方法)
      优点:
        降低jsp代码的冗余,便于维护升级

     Jsp的转发标签forward:

        使用:<jsp:forward page="要转发的jsp文件的相对路径">       </jsp:forward>

        特点:

          一次请求

          地址栏信息不改变

        注意:

          在转发的两个标签中间除了写<jsp:param name="str"  value="aaa"/>子标签不会报错,其他任意字符都会报错。

           <jsp:param name="str" value="aaa" />

           name属性为附带的数据的键名

            value为附带的数据内容

           注意:会将数据以?的形式拼接在转发路径的后面

              取数据的方式:requset.getParameter("")

      <!-- jsp的转发forward标签 -->    
                <jsp:forward page="forward.jsp">
                    <jsp:param value="aaa" name="str"/>
                </jsp:forward>

     Jsp的九大内置对象:

       内置对象:
         jsp文件在转译成其对应的Servlet文件的时候自动生成的并声明的对象。我们在jsp页面中直接使用即可。
       注意:
        内置对象在jsp页面中使用,使用局部代码块或者脚本端语句来使用。不能够在全局代码块中使用
      内容:
        pageContext:页面上下文对象,封存了其他内置对象,封存了当前jsp的运行信息
      注意:

        每个Jsp文件单独拥有一个pageContext对象
        作用域:   当前页面


      request:封存当前请求数据的对象。由tomcat服务器创建。一次请求
      session此对象用来存储用户的不同请求的共享数据的。一次会话
      application:也就是ServletContext对象,一个项目只有一个。存储用户共享数据对象,以及完成其他操作。项目内
      response:响应对象,用来响应请求处理结果给浏览器的对象,设置响应头,重定向。
      out:响应对象,jsp内部使用。带有缓冲区的响应对象,效率高于response对象。
      page:代表当前Jsp的对象。相当于java中的this。
      exception:异常对象。存储了当前运行的异常信息。
        注意:使用此对象需要在page指定中使用属性isErrorPage="true"开启。
      config:也就是ServletConfig,主要是用来获取web.xml中的配置数据,完成一些初始化数据的读取。

     Jsp的路径:

        在jsp中资源路径可以使用相对路径完成跳转,但是:

          问题一:资源的位置不可以随意更改

          问题二:需要使用 ../ 进行文件夹的跳出。使用比较麻烦

        使用绝对路径:

          /虚拟项目名/项目资源路径

          例如:

        <a href="/jsp/jspPro.jsp">jsppro.jsp</a>
        <a href="/jsp/jspPro.jsp">a.jsp</a>

          注意:在 jsp中资源的第一个/表示的是服务器根目录,相当于:localhost:8080

        使用jsp中自带的全局路径声明:

             <% 
                    String path=request.getContextPath();
                    String basePath=request.getScheme()+"://"+request.getServerName()+";"+request.getServetProt()+path
             %>
            
            <base href="<%=basePath%>">

            作用:

              给资源前面添加项目路径:  http://191.168.31.250:8080/虚拟项目名/

            

    <html>

    <head>

      <title>jsp基本语法学习</title>
      <meta charset="utf-8"/>
    </head>
    <body>
      <h3>jsp基本语法学习</h3>
      <hr />
      <%
      //声明java代码域
      int a=9;
      if(a>10){
        %>
      <b>jsp学习很简单的。。。。。</b>
          <% } else {%>
        <i>jsp中使用逻辑检验很难受</i>
        <%} %>
      </body>

    </html>

    好好学习,天天向上。 努力工作,给自己的和家人一个满意的答案。。。。
  • 相关阅读:
    宝塔跨域
    朵纳接口
    thinkphp5笔记
    phpstudy 配置域名访问无效
    如何在CentOS 下开放8080端口
    PHP:cURL error 60: SSL certificate unable to get local issuer certificate
    thinkphp6 项目使用composer安装好后提示控制器不存在:appcontrollerIndex
    DB2和MySql的区别是什么?
    idea 编辑工具
    Sublime text3最全快捷键清单
  • 原文地址:https://www.cnblogs.com/axu521/p/9906470.html
Copyright © 2011-2022 走看看