美文网首页
JSP 简述

JSP 简述

作者: 旦暮何枯 | 来源:发表于2019-03-21 12:13 被阅读0次

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

  • 简化的 Servlet
  • JSP = HTML + JAVA + JSP tag

JSP vs Servlet

  • 侧重点

    • JSP 侧重试图
    • Servlet 侧重逻辑控制
  • 内置对象

    • JSP 有内置对象供选择
    • Servlet 没有

本质

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

JSP 处理流程

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

  • 客户端发送 JSP 请求到 JSP 容器 ->
  • 请求对应的 JSP 文件 ->
  • JSP容器载入对应的 JSP 文件,并转为对应的 Servlet 文件 ->
  • JSP 容器将 Servlet 文件编译为可执行的类(.class) ->
  • 将原始请求传递给 Servlet 容器 ->
  • web 服务器组件调用 Servlet 容器,载入 Servlet 实例 ->
  • Servlet 容器产出 html 页面输出到 HttpResponse 中交给 web 服务器 ->
  • web 服务器以静态页面的形式将 response 返回给客户端
JSP请求流程.png

JSP 基本语法

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

模板数据

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

JSP 元素

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

JSP 声明

参数变量声明

  • 一个声明语句可声明一个或多个变量、方法,供后面的 Java 代码使用

书写格式:

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

实例:

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

JSP 表达式

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

  • 表达式元素中可以包含任何符合 Java 语言规范的表达式,但是不能使用分号来结束表达式

书写格式:

<%= 表达式 %>

实例:

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

嵌入到 html 标签的表达式

JSP 脚本

  • 可以是任意量的 Java 语句、变量、方法或表达式

书写格式:

<% 代码片段 %>

实例:

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

JSP 注释

  • 主要为代码作注释以及将某段代码注释

书写格式:

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

JSP 指令

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

  • page 指令
    • 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
    • import、 errorPage 指令
  • include 指令
    • 向当前页面插入一个静态的文件内容
  • taglib 指令
    • 引入自定义标签库,并可指定前缀

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 依赖。

引入依赖包

  • File->
  • Project Structure->
  • Libraries ->
  • 点加号,选择 java ->
  • 将Tomcat安装路径下lib文件夹下的servlet-api, jsp-api, tomcat-api 包导入

JSP 编译后的 Java 文件位置

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

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

相关文章

  • 简述JSP

    一、jsp作用 通过Servlet进行整个网站的开发是可以的。 不过在Servlet中输出html代码,特别是稍微...

  • JSP简述

    在Servlet出现之后,随着使用范围的扩大,人们发现了它的一个很大的一个弊端。那就是为了能够输出HTML格式内容...

  • JSP简述

    JSP基本概念 JSP是英文(java server pages)的简称,由HTML页面中混合Java语句和JSP...

  • JSP 简述

    JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同...

  • JSP、Servlet简述

    JSP(Java Server Pages)是由Sun公司发布的用于开发动态Web应用的一项技术具有简单易学、跨平...

  • springboot配置thymeleaf与jsp共存

    简述 原项目是springboot 使用默认的thymeleaf模板新需求需要同时支持JSP代码 原有thymel...

  • Java篇-EL与JSTL

    一 : EL简述 在jsp实际开发中,为了获取servlet域对象中存储的数据,经常需要书写很多java代码,这样...

  • [JSP] 九大内置对象

    一、简述: 1.JSP九大内置对象分为四类: 输入输出对象:out对象、response对象、request对象 ...

  • java web 应用无法访问.html页面

    问题简述:可以访问以.jsp为后缀的页面,不能访问.html为后缀的页面 问题原因:【/】:它会拦截所有的url,...

  • 中级程序员必备面试题(无答案)

    如何创建一个有序集合用jdbc写一段有事务的代码简述servlet,jsp,Struts2,springMVC是否...

网友评论

      本文标题:JSP 简述

      本文链接:https://www.haomeiwen.com/subject/oldqvqtx.html