• java web----jsp语法


    JSP学习

    注意:jsp中${user},是在服务器上的,首先去request中找,没有去session中找。。。。。(自己总是错误的认识jsp是一个网页,在浏览器上进行的)

    Jsp的page指令学习
      <%@page属性名=“属性值”属性名=“属性值”...%>
    属性名:
      1anguage:声明sp要被转译的语言。
      import:声明转译的java文件要导入的包,不同的包使用逗号隔开。
      pageEncoding:设置jsp文件的数据编码格式。
      contentType="text/html;charset=utf-8"设置isp数据响应给浏览器时,浏览器的解析和编码格式。
      session:设置转译的servlet中是否开启session支持,默认开启,true表示开启。false表示关闭。
      errorPage:设置jsp运行错误跳转的页面。(里面传入跳转的jsp路径)
      extends:设置jsp转译的java文件要继承的父类(包名+类名)。
    作用:
      配置sp文件的转译相关的参数。
    

    jsp java代码块

    使用:<% java代码  %>局部代码块

      缺点:可阅读性极差

    局部代码块

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

      <body>
      <%
        int a =3;
        if (a>1){ %>  
          <b>"xx"</b><%  
        }
      %>
      </body>
    

    全局代码块

      声明的java代码作为全局代码转译到对应的servlet类中。(注意和局部代码块的转译后的位置是不一样的)

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

    <!--全局代码块-->
    <%!
      int b=5;
      public void test(){  //局部代码块不能写方法,原因_JspService方法中不能嵌套方法
        system.out.println("我是全局代码块声明");
      }
    %>
    

    总结

    <body>
      <%!public String test = "1";%>       //定义了全局变量,所有的方法都可以使用,全局代码块,主要为了定义方法体的。而所有的定义的方法都可以使用这个变量。
      <%
        String a ="3";                     //定义的变量只能在_JspService方式中使用
        if (a=="3"){ %>
          <b><%out.write(test);%></b>      
          <b><%out.write(a);%></b>         //它在_JspService方法中,是可以调用a的,但是其他的方法不可以调用a
          <b><%=a%></b>                    //简写,使用方法 <%=变量名或者方法%> 
      <%
        }
      %>
      </body>
    

      

    JSP引入

     静态引入

    引入的 jsp和当前的jsp转译成一个servlet(java文件)

    注意:如果引入的jsp和当前的jsp出现同名变量,在转译的时候就会报错

    <%@include file="index.jsp"%>

    动态引入

    引入的jsp会单独生成一个servlet,当前的jsp转译成的servlet会把请求发送给引入jsp转译后的servlet;

    注意:可以变量重名;

    <jsp:include page="index.jsp"></jsp:include>
    

      

    jsp请求转发

    使用forword标签

    <jsp:forward page="index.jsp">
        <jsp:param name="xx" value="xx"/>  //可以传递参数;如果不加参数,里面不能有空格
    </jsp:forward> 
    

    传递的参数是以?的形式拼接到转发路劲的后面

    通过<% request.getParameter("xx") %>取数据

    jsp九大内置对象

    isp的九大内置对象:
    内置对象:
      jsp文件在转译成其对应的Servlet文件的时侯自动生成的并声明的对象。我们在jsp页面中直接使用即可。
    注意:
      内置对象在jsp页面中使用,使用局部代码块或者脚本段语句来使用。不能够在全局代码块中使用。

    内容:九个对象
      pageContext:页面上下文对象,封存了其他内置对象。封存了当前jsp的运行信息。
        注意:每个jsp文件单独拥有一个pageContext对象。
        作用域:当前页面。
      request:封存当前请求数据的对象。由tomcat服务器创建。一次请求。

      session:此对象用来存储用户的不同请求的共享数据的。一次会话。

      application:也就是ServletContext对象,一个项目只有一个。存储用户共享数据的对象,以及完成其他操作。作用域:项目内

      response:响应对象,用来响应请求处理结果给浏览器的对象。设置响应头,重定向。
      out:响应对象,jsp内部使用。带有缓冲区的响应对象,效率高于response对象。
      page:代表当前]sp的对象。相当于java中的this。|
      exception:异常对象。存储了当前运行的异常信息。
        注意:使用此对象需要在page指定中使用属性isErrorPage="true"开启。
      config:也就是ServletConfig,主要是用来获取web.xml中的配置数据,完成一些初始化数据的读取。

    四个作用域对象:
      pageContext:当前页面,解决了在当前页面内的数据共享问题。主要作用:获取其他内置对象。
      request:一次请求。一次请求的servlet的数据共享。通过请求转发,将数据流转给下一个servlet。
      session:一次会话.一个用户的不同请求的数据共享。将数据从一次请求流转给其他请求。
      application:项目内.不同用户的数据共享问题。将数据从一个用户流转给其他用户。
      作用:都可以做数据流转。

    jsp路径问题

    如果有这两句(Eclipse工具创建的jsp有下面的代码,IDEA是没有的,如果没有,直接使用绝对路径即可(用 / 开头)。(或者加上下面的代码也可以.))

    表示下面这个链接的前面会直接加上 localhost:端口/虚拟项目名/

    JSP学习

    注意:jsp中${user},是在服务器上的,首先去request中找,没有去session中找。。。。。(自己总是错误的认识jsp是一个网页,在浏览器上进行的)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Jsp的page指令学习
      <%@page属性名=“属性值”属性名=“属性值”...%>
    属性名:
      1anguage:声明sp要被转译的语言。
      import:声明转译的java文件要导入的包,不同的包使用逗号隔开。
      pageEncoding:设置jsp文件的数据编码格式。
      contentType="text/html;charset=utf-8"设置isp数据响应给浏览器时,浏览器的解析和编码格式。
      session:设置转译的servlet中是否开启session支持,默认开启,true表示开启。false表示关闭。
      errorPage:设置jsp运行错误跳转的页面。(里面传入跳转的jsp路径)
      extends:设置jsp转译的java文件要继承的父类(包名+类名)。
    作用:
      配置sp文件的转译相关的参数。

    jsp java代码块

    使用:<% java代码  %>局部代码块

      缺点:可阅读性极差

    局部代码块

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

    1
    2
    3
    4
    5
    6
    7
    8
    <body>
    <%
      int a =3;
      if (a>1){ %> 
        <b>"xx"</b><% 
      }
    %>
    </body>

    全局代码块

      声明的java代码作为全局代码转译到对应的servlet类中。(注意和局部代码块的转译后的位置是不一样的)

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

    1
    2
    3
    4
    5
    6
    7
    <!--全局代码块-->
    <%!
      int b=5
      public void test(){  //局部代码块不能写方法,原因_JspService方法中不能嵌套方法
        system.out.println("我是全局代码块声明");
      }
    %>

     

    总结

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <body>
      <%!public String test = "1";%>       //定义了全局变量,所有的方法都可以使用,全局代码块,主要为了定义方法体的。而所有的定义的方法都可以使用这个变量。
      <%
        String a ="3";                     //定义的变量只能在_JspService方式中使用
        if (a=="3"){ %>
          <b><%out.write(test);%></b>     
          <b><%out.write(a);%></b>         //它在_JspService方法中,是可以调用a的,但是其他的方法不可以调用a
          <b><%=a%></b>                    //简写,使用方法 <%=变量名或者方法%>
      <%
        }
      %>
      </body>

      

    JSP引入

     静态引入

    引入的 jsp和当前的jsp转译成一个servlet(java文件)

    注意:如果引入的jsp和当前的jsp出现同名变量,在转译的时候就会报错

    1
    <%@include file="index.jsp"%>

    动态引入

    引入的jsp会单独生成一个servlet,当前的jsp转译成的servlet会把请求发送给引入jsp转译后的servlet;

    注意:可以变量重名;

    1
    <jsp:include page="index.jsp"></jsp:include>

      

    jsp请求转发

    使用forword标签

    1
    2
    3
    <jsp:forward page="index.jsp">
        <jsp:param name="xx" value="xx"/>  //可以传递参数;如果不加参数,里面不能有空格
    </jsp:forward>

    传递的参数是以?的形式拼接到转发路劲的后面

    通过<% request.getParameter("xx") %>取数据

     

    jsp九大内置对象

    isp的九大内置对象:
    内置对象:
      jsp文件在转译成其对应的Servlet文件的时侯自动生成的并声明的对象。我们在jsp页面中直接使用即可。
    注意:
      内置对象在jsp页面中使用,使用局部代码块或者脚本段语句来使用。不能够在全局代码块中使用。

    内容:九个对象
      pageContext:页面上下文对象,封存了其他内置对象。封存了当前jsp的运行信息。
        注意:每个jsp文件单独拥有一个pageContext对象。
        作用域:当前页面。
      request:封存当前请求数据的对象。由tomcat服务器创建。一次请求。

      session:此对象用来存储用户的不同请求的共享数据的。一次会话。

      application:也就是ServletContext对象,一个项目只有一个。存储用户共享数据的对象,以及完成其他操作。作用域:项目内

      response:响应对象,用来响应请求处理结果给浏览器的对象。设置响应头,重定向。
      out:响应对象,jsp内部使用。带有缓冲区的响应对象,效率高于response对象。
      page:代表当前]sp的对象。相当于java中的this。|
      exception:异常对象。存储了当前运行的异常信息。
        注意:使用此对象需要在page指定中使用属性isErrorPage="true"开启。
      config:也就是ServletConfig,主要是用来获取web.xml中的配置数据,完成一些初始化数据的读取。

     

    四个作用域对象:
      pageContext:当前页面,解决了在当前页面内的数据共享问题。主要作用:获取其他内置对象。
      request:一次请求。一次请求的servlet的数据共享。通过请求转发,将数据流转给下一个servlet。
      session:一次会话.一个用户的不同请求的数据共享。将数据从一次请求流转给其他请求。
      application:项目内.不同用户的数据共享问题。将数据从一个用户流转给其他用户。
      作用:都可以做数据流转。

     

    jsp路径问题

    如果有这两句(Eclipse工具创建的jsp有下面的代码,IDEA是没有的,如果没有,直接使用绝对路径即可(用 / 开头)。(或者加上下面的代码也可以.))

     

    表示下面这个链接的前面会直接加上 localhost:端口/虚拟项目名/

  • 相关阅读:
    [moka同学笔记]yii2.0缓存
    [moka同学笔记]yii2.0查询数据库
    [moka同学笔记]yii2.0数据库操作以及分页
    [moka同学笔记]yii2.0表单的使用
    [moka同学笔记]bootstrap基础
    yii2时间日期控件的使用[转]
    java基础练习[一]
    上传照片
    selenium截图功能
    pip更新报错问题
  • 原文地址:https://www.cnblogs.com/yanxiaoge/p/10910997.html
Copyright © 2020-2023  润新知