JSP学习笔记——DAY2

1.jsp声明和jsp代码的区别:
jsp页面中编写的所有代码,默认会翻译到servlet的service方法中,而jsp声明中的java代码被翻译到方法的外面。
<%%> 在这里面写的代码叫做java代码块,当在这里面定义一个方法的时候,就会报错。因为这段代码被翻译到了serlet的service中,而方法里面可以定义内部类,但是不能定义方法。在这个时候,前面加上一个!即可。
2.jsp声明:
  1.jsp声明可用于定义jsp页面转换成的servlet程序的静态代码块、成员变量和方法。
  2.多个静态代码块、变量和函数可以定义在一个jsp声明中,也可以分别单独定义在多个jsp声明中。
  3.jsp隐式对象的作用范围仅限于servlet的_jspService方法,所以在jsp声明中不能使用这些隐式对象。
3.两种注释方法:
  1.<%–xxxx–%>用html打开时看不到注释的内容。jsp里面用它注释。
  2.<!–xxxx–>为html,xml的注释,用这种方法注释,当用html打开时会显示注释的内容。只是浏览器能够识别这个注释,而不显示这个注释的内容。
3.jsp指令
  1.jsp指令是为jsp引擎而设计的,他们并不直接产生任何可见输出,而只是告诉引擎如何处理jsp页面中的其余部分。指令有page、include和taglib指令。
  2.jsp指令的基本语法格式:
  ①<%@ 指令 属性名=“值” %>
  举例:<%@ page contentType=“text/html; charset=UTF-8”%>告诉tomcat这个页面是什么页面,采用什么编码。
  ②如果一个指令有多个属性,这多个属性可以写在一个指令中,也可以分开写。
3.jsp指令的详细介绍
  1.page指令用于定义jsp页面的各种属性,无论page指令出现在jsp页面中的什么地方,它作用的都是整个jsp页面,为了保持程序的可读性和遵循良好的编程习惯,page指令最好是放在整个jsp页面的起始位置。
  page指令语法中各属性的含义:
  ①language=“java”  表示jsp页面中所嵌套的是java代码。
  ②extends=“package.class”  表明jsp编译时需要加入的javaclass的全名。
  ③import“{package.class|package.},…“  导入java类。可以在一条page指令的import属性中引入多个类或包,之间用逗号分隔,也可以分开写,拆分为多条page指令。
   以下四个是jsp默认导入的:
    java.lang.

    javax.servlet.*
    javax.servlet.jsp.*
    javax.servlet.http.*
   ④session=“true|false”  表示是否创建session对象。session的生命周期很长,即使浏览器关了,它还会保留30min。可能会导致服务器内存的压力很大,因此在不用session对象的时候应把它设置为false,避免浪费服务器资源。当关了之后还可以手动获取session对象:request.getSession();
   ⑤buffer=“none|8kb|sizekb”  默认8kb的缓冲。
   ⑥autoFlush=”true|false”  缓冲满了是否需要刷新。
   ⑦isThreadSafe=“true|false”  设置jsp文件能否多线程使用,默认值是true。如果设为false,一个jsp一次只能处理一个请求。
   ⑧info=“text”  一个文本在执行jsp时将会逐字加入jsp中。
   ⑨errorpage=“relativeURL”  设置处理异常事件的jsp,当抛出异常时会跳转到该页面。设置属性必须使用相对路径,如果以“/”开头,表示相对于当前web应用程序的根目录(注意不是站点根目录),否则,表示相对于当前页面。

猜你喜欢

转载自blog.csdn.net/qq_41536360/article/details/89001653
今日推荐