JSP学习笔记

来源:互联网 发布:苹果手机清楚应用数据 编辑:程序博客网 时间:2024/05/02 23:58
  • JSP是什么
    Java Server Page

    • 响应客户端请求,根据需求生成相应的HTML/XML等web网页标准。
    • 为服务器端的Java库单元提供了一个接口来服务于 HTTP的应用。
  • JAVA环境变量的作用

    • JAVA_HOME
      顾名思义,就是JAVA所在的地方也就是我们把它安装在了什么地方,之所以设置这样一个变量的目的主要有两个:

      1. 方便,有了这样一个变量以后再进行引用的时候不必输入完整的安装路径,仅需要%JAVA_HOME%即可,并且在更换了JDK的时候,只需要更改JAVA_HOME的值即可,不需要再更改引用的地方。
      2. 这是诸多第三方软件(如eclipse、tomcat、weblogic)引用JAVA的时候默认使用的变量名称。
    • CLASSPATH
      这个变量标明的是JAVA字节码(.class)文件的路径,例如,在import其他类库中的类时,编译器就是通过这个变量的值来寻找类的,一般JDK的.class文件放在JDK/bin下,也就是.:%JAVA_HOME%/lib

    • PATH
      PATH是系统用来寻找相关命令(如cmd,javac)程序的变量值,在JAVA中经常用到的JAVAC一般位于JDK/bin下,也就是.:%JAVA_HOME%/bin
  • JSP文件处理流程

    Servlet,运行在服务器端的小程序。

    • 用户发送HTTP请求给服务器
    • web服务器识别出这是一个对JSP页面的请求,将其传递给JSP引擎(web应用中一个处理JSP的容器)
    • JSP引擎首先根据请求载入相应的JSP文件,然后将他们转化为Servlet,这种转化只是简单地将所有模板改println()语句,并将JSP元素转化为JAVA代码。
    • JSP引擎将Servlet编译成可执行类,并将原始请求传递给Servlet引擎.
    • Web服务器会调用Servlet引擎,然后载入并执行Servlet类。在执行过程中,servlet产生HTML格式的输出并将其置于Response中交给Web服务器。
    • Web服务器将HTML的形式Reponse回给用户。
    • 浏览器解释显示HTML文件。
  • JSP语法

    • <% 代码片段 %>
    • JSP声明:<%! int i = 0; %>
    • JSP表达式:<%= 表达式 %>
    • JSP注释:<%– JSP注释 –>
语法 描述 <%– 注释 –> JSP注释,不会被发送到浏览器甚至不会被编译 《!– 注释 –> HTML注释,在浏览器的源码中可以看到 <\% 代表静态<%常量 \’ 在属性中使用单引号 \” 在属性中使用双引号
  • JSP指令(用来设置页面信息)
指令 描述 <%@ page… %> 定义页面的依赖属性,比如脚本语言,error页面,缓存需求等 <%@ include… %> 包含其他文件 <%@ taglib… %> 引入标签库的定义,可以是自定义的
  • JSP行为

    JSP行为标签使用XML语法结构来控制servlet引擎.它能够动态插入一个文件,重用JavaBean组件,引导用户去另外一个页面,为Java插件产生相关HTML等。

语法 描述 jsp:include 用于在当前页面包含静态或动态资源 jsp:useBean 寻找和初始化一个javaBean组件 jsp:setProperty 设置Javabean组件的值 jsp:getProperty 将JavaBean的值插入output中 jsp:forward 从一个JSP文件传递一个包含用户请求的request对象 jsp:plagin 用于在生成的HTML页面中包含Applet和JavaBean对象 jsp:element 动态创建一个XML元素 jsp:attribute 定义动态创建的XML元素的属性 jsp:body 动态创建XML元素的主体 jsp:text 用于封装模板数据
  • JSP隐含对象

JSP支持九个自动定义的变量,称为隐含对象。

对象 描述 request HttpServletRequest类的实例 reponse HttpServletReponse类的实例 out PrintWriter类的实例,用于把结果输出到网页上 session HttpSession类的实例 application ServletContext类的实例,与应用上下文有关 config ServletConfig类的实例 pageContext PageContext类的实例,提供对jsp页面所有对象和命名空间的访问 page 类似于Java中的this关键字 Exception Exception类的对象,代表发生错误的jsp页面对应的异常对象
  • 1.request对象
    request对象是javax.servlet.http.HttpServletRequest类的实例。每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求,request对象提供了一系列方法来获取HTTP头信息,cookie,HTTP方法等。
  • 2.resoponse对象
    是javax.serclet.http.HttpServletReponse类的实例,当服务器创建request对象时会同时创建用于响应这个客户端的response对象。reponse对象也定义了处理HTTP头模块的接口,通过这个对象,开发者可以添加新的cookies,时间戳,HTTP状态码等等。
  • 3.out对象
    是javax.servlet.jsp.JspWriter类的实例,用来在response对象中写入内容。
    最初的JspWriter对象根据页面是否有缓存来进行不同的实例化操作。可以再page指令中使用buffered=”false”来关闭缓存。JspWriter类包含了大部分java.io.PrintWriter类中的方法。不过,JspWriter新增了一些专为处理缓存而设计的方法,还有就是JspWriter会抛出IOException异常而PrintWriter不会。
方法 描述 out.print(dataType, dt) 输出Type类型的数据 out.println(dataType, dt) 输出Type类型的数据,然后换行 out.flush() 刷新输出流
  • session对象
    session对象时javax.servlet.http.HttpSession类的实例。和Java Servlet中的session对象有一样的行为
    session对象用来跟踪在每个客户端请求间的对话。

  • application对象
    application对象直接包装了servlet的ServletContext类的对象。
    这个对象在JSP页面的整个生命周期都代表这个JSP页面,这个对象在JSP初始化时被创建,随着jspDestroy()方法的调用而被移除。
    通过向application中添加属性,则所有组成您web应用的JSP文件都能访问到这些属性。

  • config对象
    config对象是javax.servlet.ServletConfig类的实例。
    这个对象允许开发者访问Servlet或者JSP引擎的初始化参数,比如文件路径等。

config.getServletName();
  • pageContext对象
    用来代表整个JSP页面。
    这个对象主要用来访问页面信息。同是过滤掉大部分实现细节。
    这个对象存储了request对象和response对象的引用。application对象,config对象,session对象,out对象可以通过访问这个对象的属性来导出。

pageContext对象也包含了传给JSP页面的指令信息,包括缓存信息,ErrorPage URL,页面scope等。

PageContext类定义了一些字段,包括PAGE_SCOPE,REQUEST_SCOPE,SESSION_SCOPE, APPLICATION_SCOPE。它也提供了40余种方法,有一半继承自javax.servlet.jsp.JspContext 类。

其中一个重要的方法就是removeArribute(),它可接受一个或两个参数。比如,pageContext.removeArribute(“attrName”)移除四个scope中相关属性,但是下面这种方法只移除特定scope中的相关属性

  • page对象
    这个对象就是页面实例的引用,它可以被看做是整个JSP页面的代表。
    page对象就是this对象的同义词。

  • exception对象
    Exception对象包装了从先前页面抛出的异常信息,它通常被用来产生对出错条件的适当相应。

  • JSP客户端请求
    当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信息头的一部分来传送的。

  • JSP服务器响应
    Response响应对象主要将JSP容器处理后的结果传回客户端。可以通过response变量设置HTTP的状态和向客户端发送数据

  • HTTP状态码

  • JSP表单处理

    • GET方法
    • POST方法
    • JSP读取表单数据
      • getparameter():使用request.getParameter()来获取表单参数的值。
      • getParameterValues():获得如checkbox类(名字相同,但值有多个)的数据。
      • getParameterNames():该方法可以取得所有变量的名称。该方法返回一个Emumeration.
      • getInputStream():获取来自客户端的二进制数据流。
0 0
原创粉丝点击