JSP 简述

2019-03-21  本文已影响0人  旦暮何枯

JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准

JSP vs Servlet

本质

JSP 是对 Servlet 的简化。
使用 JSP 只需要开发完成需要输出到客户端的内容;JSP 中的 Java 脚本如何内嵌到类中是由 JSP 容器完成的;
Servlet 是一个完整的 Java 类。

JSP 处理流程

Tomcat 既是一个 Servlet 容器,也是一个 JSP 容器。

JSP请求流程.png

JSP 基本语法

JSP 语法主要包含JSP元素模板数据两类。

模板数据

JSP 引擎不处理的地方,如 html 页面。
主要为:静态内容

JSP 元素

主要为: 指令、注释、表达式、声明、脚本

JSP 声明

参数变量声明

书写格式:

<%! declaration;[declaration;]+ ... %>

实例:

<%! int a, b, c; %>

JSP 表达式

包含了脚本语言的表达式,先转换为 String,然后被插入在表达式出现的地方;所以可以在文本行中使用表达式,不用管是否是 html 标签

书写格式:

<%= 表达式 %>

实例:

<p> Today's date: <%= ( new java.util.Date()).toLocaleString()%></p>

嵌入到 html 标签的表达式

JSP 脚本

书写格式:

<% 代码片段 %>

实例:

<%= out.println("your ip address is" + request.getRemoteAddr());%>

JSP 注释

书写格式:

<%-- 注释内容 --%>

JSP 指令

设置 JSP 页面相关属性,不会有可见的相关输出

JSP 内置对象

JSP 对每个页面提供的 Java 对象;开发者可以直接使用,而不用先进行显式声明。
亦称为预定义变量;

对象 描述
request HttpServletRequest 类的实例
response HttpServletResponse 类的实例
out printWriter 类的实例,用于把结果输出至网页
session HttpSession 类的实例
application ServletContext 类的实例,与应用上下文有关
Config ServletConfig 类的实例
page 类似于 Java 类中的 this 关键字
pageContext PageContext 类的实例,提供对 JSP 页面所有对象以及命名空间的访问
Exception Exception 类的对象,代表发生错误的 JSP 页面中对用的异常对象

创建一个 JSP 项目

1.创建 maven web 项目

项目目录.png

2.选中 web app 右键创建 JSP 文件。

<%--
  Created by IntelliJ IDEA.
  User: fuyiweng
  Date: 2019-03-21
  Time: 10:36
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%-- JSP page 配置指令 --%>
<html>
<head>
    <title>hello JSP</title>
</head>
<body>
<%! String name; %>
<!-- 变量声明 -->
request uri is <%=request.getRequestURI() %>
<!-- 内置对象的使用 -->
</br>
<%
    name = "abc";
    out.println("name is " + name);
%>
<!-- JSP 脚本 -->
</body>
</html>

在使用内置对象的时候,发现没有引用内置对象的方法;

原因是没有引用 Tomcat 目录下的servlet-api.jar,jsp-api.jartomcat-api.jar 依赖。

引入依赖包

JSP 编译后的 Java 文件位置

一般来说,编译后的 java 文件位置是在 Tomcat 目录下的
/apache-tomcat-8.5.37/work/Catalina/localhost
但我找不到我的编译文件。

『项目地址』:https://github.com/wengfe/JAVA/tree/master/JSPTest/src/main/webapp
上一篇 下一篇

猜你喜欢

热点阅读