• jsp简介


    jsp是什么?

    sun公司制定的一种服务器端动态页面技术规范。
    JSP其实是一个以“jsp”为后缀的文件,该文件的内容主要是html和少量的java代码,容器会将jsp文件自动转换成一个servlet然后执行。

    • jsp的组成 
      • jsp = html + java脚本 + jsp标签(指令)
      • jsp中可直接使用的对象一共有9个,被称之为9大内置对象
    • 3种java脚本:  <%…%>:写java代码片段,(类似方法)  <%=…%>:用于输出,用于输出一条表达式(或变量)的结果。  <%!…%>:声明,用来创建类的成员变量和成员方法(类似与类)
    • jsp注释:<%– … –%>  当服务器把jsp编译成java文件时已经忽略了注释部分!

    Jsp与Servlet的关系

    jsp本质是servlet,jsp具有servlet的所有功能

    Jsp技术原理

    JSP的工作方式是请求/应答模式,客户端发出HTTP请求,JSP收到请求后进行处理,并返回处理结果。在一个JSP文件首次被请求时,JSP引擎首先把这个JSP文件转换成一个servlet,而该引擎本身也是一个servlet。

    Jsp三大指令

    (1)page:<%@page language=”java” info=”xxx”…%>**

      作用: 告诉tomcat服务器如何翻译jsp文件
      语法: <%@ page 
                    language=”java”   –告诉服务器使用什么动态语言来翻译jsp文件
                    import=”java.util.*” –告诉服务器java文件使用什么包,导入包时,多个包之间用逗号分割
                    pageEncoding=”utf-8”  –告诉服务器使用什么编码翻译jsp文件(成java文件)
                   contentType=”text/html; charset=utf-8” 服务器发送浏览器的数据类型和内容编码
        设置pageEncoding即可解决中文乱码问题
                    errorPage=”error.jsp”
                    isErrorPage=”false”
                    buffer=”8kb”
                    session=”true”
                    isELIgnored=”false”

          %>

    (2)include:静态包含

      作用: 在当前页面用于包含其他页面
      语法: <%@include file=”common/header.jsp”%>
      注意:
      1)原理是把被包含的页面(header.jsp)的内容翻译到包含页面(index.jsp)中,合并成翻译成一个java源文件,再编译运行,这种包含叫静态包含(源码包含)
            2)如果使用静态包含,被包含页面中不需要出现全局的html标签了!!!(如html、head、 body)

    (3)taglib:导入标签库

    • 作用:导入标签库
    • 语法:<%@taglib uri=”tld文件的uri名称” prefix=”简写” %>

    九大内置对象

    • 在jsp中无需声明即可直接使用的9个对象 
      • out(JspWriter):等同与response.getWriter(),用来向客户端发送文本数据;
      • config(ServletConfig):对应“真身”中的ServletConfig;
      • page(当前JSP的真身类型):当前JSP页面的“this”,即当前对象,引用为Object类型;
      • pageContext(PageContext):页面上下文对象,它是最后一个没讲的域对象;
      • exception(Throwable):只有在错误页面中可以使用这个对象;
      • request(HttpServletRequest):即HttpServletRequest类的对象;
      • response(HttpServletResponse):即HttpServletResponse类的对象;
      • application(ServletContext):即ServletContext类的对象;
      • session(HttpSession):即HttpSession类的对象,不是每个JSP页面中都可以使用,如果在某个JSP页面中设置<%@page session=”false”%>,说明这个页面不能使用session。
    • pageContext
      • Servlet中有三大域,而JSP中有四大域!  ServletContext:整个应用程序  session:整个会话(一个会话中只有一个用户)  request:一个请求链!  pageContext:一个jsp页面!这个域是在当前jsp页面和当前jsp页面中使用的标签之间共享数据!  域对象  代理其他域:pageContext.setAttribute(“xxx”, “XXX”, PageContext.SESSION_SCOPE);  全域查找:pageContext.findAttribute(“xxx”);从小到大,依赖查找!  获取其他8个内置对象:
  • 相关阅读:
    JTA
    JPA
    深度优先搜索与广度优先搜索
    http和https区别
    数据库系统阶段特点
    Java中定义和声明
    java之集合ArrayList实例
    java实例之商品库
    java之封装
    java之类和对象
  • 原文地址:https://www.cnblogs.com/funnn24/p/10660978.html
Copyright © 2020-2023  润新知