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,包含的意义:对于一般页面,都包含右图四个部分,其中

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

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

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

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

     

  • 相关阅读:
    Nginx进阶使用-负载均衡原理及配置实例
    代理服务技术-正向代理、方向代理、透明代理简析
    Docker入门教程-Linux环境安装Nginx及入门使用
    Mybatis进阶使用-一级缓存与二级缓存
    结对第2次作业——WordCount进阶需求
    团队展示
    原型设计(顶会热词统计)
    C++读取文件统计单词个数及频率
    软工实践第一次作业
    课程作业八
  • 原文地址:https://www.cnblogs.com/chenxd/p/7798523.html
Copyright © 2011-2022 走看看