欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  类库下载

JavaWeb之JSP基础小结

程序员文章站 2022-03-19 17:55:08
...
下面代码演示的是JavaFX进程命令行参数的实例。大家可以参阅一下。

1.概述

  JSP文件是通过三大指令,九大对象以及JSP表达式等与HTML语句结合形成的一个文件,其本质为Servlet。简单来说,即Java代码+HTML语句。

2.运行原理

  每个JSP页面被访问时,即被JSP引擎翻译为一个Servlet源程序,该源程序再被编译成Servlet的class类文件。之后的执行流程与普通Servlet的执行一致。Servlet引擎将class类文件装载并翻译执行。

3.九大对象

  JSP有9个内置对象,不需要声明就可以使用。

  (1)request:实际就是HTTPServletRequest。

  (2)response:实际就是HTTPServletResponse。

  (3)pageContext:代表当前JSP页面,几乎包含了当前JSP页面的所以信息,也可以从该对象中获取其它八个对象。

  (4)session:代表浏览器和服务器的一次会话,是HttpSession的一个对象。

  (5)out:可以直接通过该对象的方法在页面输出文字信息或者HTML代码。

  (6)application:代表当前WEB应用,是ServletContext对象。

  (7)exception:在声明了后可以通过该对象输出异常信息。 

  (8)config:当前JSP对应的Servlet的ServletConfig对象,若要访问当前JSP的配置参数,需要映射访问才可以。

  (9)page:指向当前Jsp对应的Servlet对象的引用 ,但是为object类型。

  其中最为常用也最为重要的四个对象按作用域范围如下:

    pageContext:作用域为当前JSP页面。通过引入的文件中的变量等当前页面也可以访问。但是通过pageContext.include("file")引入文件的变量和参数并不能直接在当前页面使用和修改,该方法的实质是将file中的内容原封不动地添加在当前页面,可以理解为将HTML页面直接拼接在该位置。

    request:作用范围在请求转发的过程中一直有效。

    session:作用域为浏览器和服务器的一次会话。直观表现在浏览器的一次打开与关闭。应用案例如购物网站中购物车的实现。

    application:当前应用装载在服务器中时有效。该应用从服务器卸载或者重新装载,以及服务器关闭等都会导致该对象失效。应用案例如网站统计访问人数。

  和属性相关的方法:

    Object getAttribute(String name)获取指定的属性

    Enumerration getAttributeNames()获取所有属性组成的Enumeration对象

    removeAttribute(String name)移除指定的属性

    setAttribute(String name, Object o)设置属性

4.三大指令

  (1)page:声明页面信息或导入内容

    ① 导入文件所需的jar包。外部添加的jar包一般存放在Web项目下 WEB-INF\lib、


  ② 关闭session,session默认打开。


    ③ 当前页面出错则跳转到"file"页面。并且该跳转方式为请求转发。


    ④ 上文的"file"页面,可以对页面错误做处理或说明,可以配合exception对象使用。


    ⑤ 当前JSP页面的字符编码(JSP文件编码)


    ⑥ 当前JSP页面的响应类型(服务器发送给浏览器的内容编码)


    ⑦ 是否使用EL表达式,通常为false


    ⑧ 指定JSP页面的信息,可以使用getServletInfo()方法获取到该字符串


  (2)include指令:将其它文件包含进来与当前页面进行合并。这类文件通常包括文本、JSP或其他格式的文件。

    ① 静态引入:通知JSP引擎在翻译JSP页面时,将其他源文件合并到当前JSP页面转换成的Servlet源文件中。两个源文件合并为一个Servlet源文件。"file"为相对路径。


    ②动态引入:该句被执行时程序通过请求转发跳转到"file",执行当中的内容之后再返回执行当前页面的剩余部分,实际是两个Servlet源文件

  (3) taglib: 能够让用户根据需求自定义新的标签,便于功能的实现,但因此也导致了代码易读性不高。

5.其它

  (1) JSP表达式:可以直接将表达式中的内容显示在浏览器中


  (2) 声明函数


  (3)注释