JSP-基础

JSP

Java Server Pages

是什么

JSP是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码,其根本是一个简化的servlet设计

为什么

JSP页面可以与处理业务逻辑的Servlet一起使用

工作原理

本质就是一个Servlet。服务器在管理JSP页面分为两个阶段 转换阶段和执行阶段。第一次访问会被Web容器(Tomcat) 翻译成Servlet, index.jsp -> index.jsp.java -> index.jsp.class

下一次访问的时候就先看页面有没有变化,如果变化了就重新翻译

基本模板

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>

<html>
  <head>
    <title>JSP-Demo</title>
  </head>
  <body>

  </body>
</html>

语法

变量的三种表达方式

  • <% Java_Code %> 代码会被翻译成service方法内部
  • <%= 变量或表达式 %> 代码会被service方法内部print()
  • <%! Java_Code %> 代码会成为servlet成员变量

<%= %> JSP表达式

<%= new Date()%>

<% %> JSP脚本片段

注意:

  • <% %> 中可以定义变量、语句 不能定义方法
  • 严格遵循Java语法;每个语句后都有一个分号结束
  • 多个脚本片段可以互相访问
<%
    for(int i=0; i<5; i++) {
        out.print(i);
    }
%>

<%! %> JSP声明

JSP声明可用于定义JSP页面转换成的Servlet程序的静态代码块、成员变量和方法

注释

  • html代码注释
  • // 或 /**/ 可见范围:jsp源码、翻译后的servlet源码。页面时看不到的
  • <%– –%> 可见范围:仅在jso源码可见

JSP指令

设置页面的相关信息,用于与其他jsp文件的通信

基本语法

<%@指令 属性名=”值”%>

page 指令设置页面的属性和相关信息

  • contentType=”text/html;charset=UTF-8” 编码格式
  • pageEncoding文件编码
  • import引入Java的包和类
  • session
  • errorPage发生错误会跳转
  • isErrorPage
  • language
  • extends
  • buffer设置缓冲区
  • autoFlush
  • isThreadSafe
  • info
  • isELIgnored
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

import 属性

自动导入包

  • java.lang.*
  • javax.servlet.*
  • javax.servlet.jsp.*
  • javax.servlet.http.*

手动导包

<%@ page import=”java.util.,java.io.,java.sql.*”%>

errorPage属性

  • 在web.xml文件中使用元素为整个Web应用程序设置错误处理页面
  • 元素有3个子元素,
  • 子元素指定错误的状态码,例如:404
  • 子元素指定异常类的完全限定名,例如:java.lang.ArithmeticException
  • 子元素指定以“/”开头的错误处理页面的路径,例如:/ErrorPage/404Error.jsp

include 指令 插入包含文件

<%@
    include file="/book.jsp"
%>

taglib 指令 声明使用了那些标签库

  • JSP标签库
  • 第三方库
  • 自定义标签库

标签库

  • 页面包含
    // 静态包含
/*
    将两个jsp页面拼接在一起,然后翻译servlet
*/
<%@
    include file="/header.jsp"
%>
<%@
    include file="/footer.jsp"
%>

// 动态包含
/*
    各自翻译自己的页面 然后引入
*/
<jsp:include page='/header.jsp'></jsp:include>
  • 请求转发
<jsp:forward page="404.jsp"></jsp:forward>

  转载请注明: linis JSP-基础

 上一篇
JSP-内置对象 JSP-内置对象
Jsp翻译成servlet之后,有9个对象定义并且初始化完毕,可以直接使用这些对象 request 请求对象 response 响应对象 out 向客户端输出内容 session 会话信息 application 共享信息servletC
2019-04-22
下一篇 
Cookie与Session Cookie与Session
CookieCookie是一种在客户端保存信息的技术。Servlet使用java.servlet.Cookie 封装一个Cookie信息。在ServletResponse接口中定义了addCookie方法 在ServletRequest接口
2019-04-22
  目录