Servlet & JSP

Java EE

  • Servlet & JSP
  • Listener
  • Fileter
  • Cookie & Session
  • myBatis

Spring Boot

Spring Cloud


Servlet & JSP 规范

【主业】Apache Tomcat (应用程序服务器) 一个 Servlet & JSP 的容器 / 引擎,是官方一个参考实现,(【副业】web服务器)
管理组件的生命周期

Servlet — Server Let (服务端组件)

applet application let 浏览器 / 桌面
midlet mobile(J2ME) let 移动端
servlet server let 服务端组件

bootstrap:响应式的前端组件 / 样式和主题基于布局,可重复使用的【功能单元】

容器:管理组件的生命周期,创建、销毁及期间其他的【回调方法】的调用

  • Servlet(使用业务逻辑、数据访问、渲染HTML页面 – Java中嵌入HTML)(Web服务器运行的程序)
  • Filter 过滤器
  • Listener 监听器
  • JSP(是一种特殊的Servlet,负责在服务端渲染HTML页面的 Servlet )(JavaServer Pages,本质 Servlet)

Servlet(服务端组件,在容器中运行)

  • Servlet 接口:生命周期

  • GenericServlet 抽象类:实现了接口中与协议无关的部分抽象方法

  • HttpServlet 抽象类:完成了基于 HTTP 协议的实现

  • MyServlet 自定义:加入自己的具体的业务流程和规则

  • HttpServletRequest 接口:封装了 HTTP 请求,输入流,接收 浏览器或客户端发送的请求数据

  • HttpServletResponse 接口:封装了 HTTP 相应,输出流,发送 数据(各种格式)给客户端,完成相应

Servlet 组件生命周期

  • 当用户第一次访问时,容器调用 构造方法 创建 Servlet 实例
// 服务端组件,在容器中(Servlet 容器/引擎)
// loadOnStartup = 1:说到第一次访问,当添加这个参数时,项目运行时就实例化、初始化一个Servlet
@WebServlet(
		value = { "/hello", "/bye" }, 
		// =1 表示整个工程更新之后自动实例化、初始化
		loadOnStartup = 1)
  • 调用 init 初始化,加载其他资源
  • service(请求,响应) 响应请求
  • 调用 destroy 销毁组件
  • 垃圾回收 GC 完成资源释放

JSP - JavaServer Pages

生命周期

  • JSP 容器:JSP 转化为.Java (Servlet)
  • 当用户第一次访问时,容器调用 构造方法 创建 Servlet 实例
  • 调用 init 初始化,加载其他资源
  • service(请求,响应) 响应请求
  • 调用 destroy 销毁组件
  • 垃圾回收 GC 完成资源释放

JSP 本质上是 Servlet,用于渲染 HTML 页面的(在HTML 中嵌入了部分的 Java 代码),

语法

  1. JSP 指令 - <%@ %>

    • 页面:这是页面全局参数,语言、编码、导入库、错误页面
      <%@ page k1="" k2="" k3="" %>
    • 包含:静态包含,编译前引入(复制到)被包含文件:页眉、页脚
      <%@ include %>
    • 标签库:导入 JSTL JSP 标准标签库(tag lib)
      <%@ taglib %>
  2. JSP 脚本 - <% %>

    • 定义(声明):成员变量和方法,成员变量全局
      <%! %>
    • 脚本块:在 service() 方法中,相应请求提供服务,线程安全,每个请求一个线程(线程安全)
      <% Java %>
    • 表达式: 等号右侧是变量、常量、有返回值函数的调用,显示(渲染)内容,不用[ ; ]结束
      <%= %>
      	<% out.write(x); %>
      	<%= x %>
      	${x}     // EL:表达式语言,默认从作用域获得值
      
  3. JSP 动作 — action —> JSTL

    <jsp:out> </jsp>
    <jsp:set> </jsp>
    <jsp:useBean> </jsp>
    <jsp:include> </jsp>
    
  4. JSTL - 便签库

  5. 不使用 JSP 了,使用JavaScript (JQuery AJAX,easyUI,ExtJS,Vue,React)

概念

Java Web 作用域
  1. 作用域
    • application - ServletContext
      全局唯一,一份
    • session - HeepSession
      会话,多份,每个用户一份
    • request - HeepServletRequest
      请求,数据放在一次请求中,如果请求转发 A—>B—>C 存在于多个页面或组件
    • pageContext - PageContext
      页面,只在当前页面
  2. 内置对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值