zoukankan      html  css  js  c++  java
  • 01.JSP基础语法

    一、JSP注释及scriptlet

    1,  JSP注释

    <!--这种风格的注释客户端可以看见-->

    <%

         //java中提供的单行注释,客户端无法看见

         /*java中提供的多行注释,客户端也无法看见

         */

    %>

    <%--这种注释方法客户端也无法看见--%>

    2,  scriptlet:表示脚本小程序,所有嵌入在html中的java程序必须用scriptlet标记,一共三种标记方式

    <%%>,在此scriptlet中可以编写局部变量、执行语句

    <%!%>,在此scriptlet中可以编写全局变量、类、方法(这里面的变量都是全局变量)

    <%=%>,用于输出一个变量或一个具体内容

     

    第一种:定义局部变量并执行语句

     

       

    第二种:编写全局变量、类、方法

    <%!
    
    public static final String INFO="HAHA";
    
    public int a=10;//也为全局变量
    
    %>
    
    <%!
    
     
    
    public int add(int x,int y){
    
          return x+y;
    
       }
    
    %>
    
    <%!
    
    class Person{
    
          private String name;
    
          private int age;
    
          public Person(String name,int age){
    
               this.name=name;
    
               this.age=age;
    
          }
    
          public String toString(){
    
               return "姓名:"+this.name+" 年龄:"+this.age;     
    
          }
    
       }
    
    %>
    
    <%
    
       out.println("<h2>INFO="+INFO+"</h2>");
    
       out.println("<h2>INFO="+a+++"</h2>");//每刷新一次,a自加一
    
       out.println("<h2>1+3="+add(1,3)+"</h2>");
    
       out.println("<h2>"+new Person("小明",12)+"</h2>");
    
    %>

     

    第三种,输出一个变量或一个具体的内容

     

     

    3,  out.println()与<%=%>输出选择

    .    web开发中一般选择<%=%>作为html语言的输出,例如下面输出10行10列

    <body>
    
    <%
    
        int rows=10;
    
             int cols=10;
    
    %>
    
    <table border="1" width="50%">
    
    <%
    
        for(int i=1;i<=rows;i++){
    
    %>
    
       <tr>
    
    <%
    
       for(int j=1;j<=cols;j++){
    
    %>
    
       <td><%=i*j%></td>
    
    <%
    
       }
    
    %>
    
       </tr>
    
    <%
    
       }
    
    %>
    
    </tabel>
    
    </body>

    这种方式比较繁琐且不规范,以后应该都使用标签完成显示功能

     

    二、page指令

    1,  作用:定义一个jsp页面的相关属性,包括设置MIME类型,错误页的指定,文件编码,定义需要导入的包,如果导入的是一个sql包,还可以进行数据库的连接

    2,  语法:<%@page 属性=“值”%>

    MIME

    多用途互联网邮件扩展类型,用于告诉浏览器邮件中的多媒体类型,并启用相应插件或应用程序读取文件

    被http协议支持后,浏览器就通过附加在文档之前的MIME数据类型信息来识别数据。即在把输出结果传送到浏览器上的时候,浏览器必须启动适当的应用程序来处理这个输出文档。这可以通过多种类型MIME来完成。在HTTP中,MIME类型被定义在Content-Type header中。

     

    说明:对于浏览器自身不能处理的文件类型,浏览器会以文件下载的方式,让适当的应用程序打开文件。以后如果想让一个jsp页以变种的形式显示,则配置相应的MIME

    3,  文件编码: Charset用于设置文件编码,pageEncoding也可以设置文件编码。pageEncoding存在时则按pageEncoding编码,否则按照charset编码,都不存在时,按默认ISO8859-1编码

    4,  错误页的设定

     

    说明:当页面一出错时,调用errorPage页,前提是errror.jsp的isErrorPage必须设置为true

    但有时候跳转之后,浏览器会认为error.jsp也是一个错误的页面,然后就直接不显示了,如下左。

            解决方案,在error.jsp中回应浏览器告诉浏览器这是个正确的页面

           

    注意:出错之后地址栏没有没有发生改变,这种地址不发生改变的跳转称为服务器端跳转

    错误页集中处理:不单独处理每个jsp文件,想要集中处理404,500等错误,就需要修改web.xml配置文件

          

    三、 包含

    1,包含的意义:对于一般页面,都包含右图四个部分,其中

    经常改变的部分只有具体内容。所以可以讲工具栏,页面头部,

    页面尾部分成独立的四个部分,以后写页面时直接导入进来就

    可以。这样方便修改,同时也避免重复造轮子。

    包含分为静态包含动态包含

     

  • 相关阅读:
    【Lintcode】112.Remove Duplicates from Sorted List
    【Lintcode】087.Remove Node in Binary Search Tree
    【Lintcode】011.Search Range in Binary Search Tree
    【Lintcode】095.Validate Binary Search Tree
    【Lintcode】069.Binary Tree Level Order Traversal
    【Lintcode】088.Lowest Common Ancestor
    【Lintcode】094.Binary Tree Maximum Path Sum
    【算法总结】二叉树
    库(静态库和动态库)
    从尾到头打印链表
  • 原文地址:https://www.cnblogs.com/chenxd/p/7798523.html
Copyright © 2011-2022 走看看