jsp简介

Posted kn4ve

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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个内置对象:

 

以上是关于jsp简介的主要内容,如果未能解决你的问题,请参考以下文章

JSP指令简介(转)

JSP简介和基础语法

Jsp第六课 Jsp简介和初步使用

雷林鹏分享:JSP 简介

JSP简介

JSP简介