JavaWeb 学习笔记 day07 JavaEE项目的三层架构 JSP(已经过时,了解思想即可)

本文探讨了JavaEE项目的三层架构,强调了解耦的重要性。重点讲解了JSP的本质、三种语法、九大内置对象以及四大域对象,并对比了out输出和response.getWriter输出的区别。此外,还简单介绍了监听器,特别是ServletContextListener在项目中的应用。

JavaEE项目的三层架构

在这里插入图片描述
分层的目的是为了解耦。解耦就是为了降低代码的耦合度。方便项目后期的维护和升级。

项目第一阶段(注册与登录已实现)

项目链接

JSP

简介:jsp 的全换是 java server pages。Java 的服务器页面。 jsp 的主要作用是代替 Servlet 程序回传 html 页面的数据。 因为 Servlet 程序回传 html 页面数据是一件非常繁锁的事情。开发成本和维护成本都极高。

JSP 的本质

jsp 页面本质上是一个 Servlet 程序。当我们第一次访问 jsp 页面的时候。Tomcat 服务器会帮我们把 jsp 页面翻译成为一个 java 源文件。

JSP 的三种语法

  1. jsp 头部的 page 指令
    jsp 的 page 指令可以修改 jsp 页面中一些重要的属性,或者行为。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
/*
i. language 属性 表示 jsp 翻译后是什么语言文件。暂时只支持 java。
ii. contentType 属性 表示 jsp 返回的数据类型是什么。也是源码中 response.setContentType()参数值
iii. pageEncoding 属性 表示当前 jsp 页面文件本身的字符集。 
iv. import 属性 跟 java 源代码中一样。用于导包,导类。 
========================两个属性是给 out 输出流使用============================= 
v. autoFlush 属性 设置当 out 输出流缓冲区满了之后,是否自动刷新冲级区。默认值是 true。 
vi. buffer 属性 设置 out 缓冲区的大小。默认是 8kb 缓冲区溢出错误: 
========================两个属性是给 out 输出流使用============================= 
vii. errorPage 属性 设置当 jsp 页面运行时出错,自动跳转去的错误页面路径。
  1. jsp 中的常用脚本
    ① 声明脚本(极少使用) :格式 <%! java代码 %>
    ② 表达式脚本(常用):格式 <%= 表达式 %> 作用:在 jsp 页面上输出数据
    ③ 代码脚本(可读性差,已经被弃用)
  2. jsp 中的三种注释
    ① html注释:html 注释会被翻译到 java 源代码中。在_jspService 方法里,以 out.writer 输出到客户端
    ② java注释:java 注释会被翻译到 java 源代码中。
    ③ jsp注释:jsp 注释可以注掉 jsp 页面中所有代码。

jsp 九大内置对象

在这里插入图片描述

jsp 四大域对象

  1. pageContext (PageContextImpl 类) 当前 jsp 页面范围内有效
  2. request (HttpServletRequest 类)、 一次请求内有效
  3. session (HttpSession 类)、 一个会话范围内有效(打开浏览器访问服务器,直到关闭浏览器)
  4. application (ServletContext 类) 整个 web 工程范围内都有效(只要 web 工程不停止,数据都在)

注意:四个域在使用的时候,优先顺序按照作用范围从小到大使用,不用的资源及时销毁,节省资源。

jsp 中的 out 输出和 response.getWriter 输出的区别

在这里插入图片描述

jsp 的常用标签

  1. 静态包含
/*<%@ include file=""%> 就是静态包含 file 属性指定你要包含的 jsp 页面的路径 
地址中第一个斜杠 / 表示为 http://ip:port/工程路径/ 映射到代码的 web 目录 
静态包含的特点: 1、静态包含不会翻译被包含的 jsp 页面。 
2、静态包含其实是把被包含的 jsp 页面的代码拷贝到包含的位置执行输出。
*/

<%@ include file="/include/footer.jsp"%>
  1. 动态包含(不常用)
  2. 转发标签
/*<jsp:forward page=""></jsp:forward>
 是请求转发标签,它的功能就是请求转发 page 属性设置请求转发的路径 */ 
 <jsp:forward page="/scope2.jsp"></jsp:forward>

Listener 监听器

简介:

  1. Listener 监听器它是 JavaWeb 的三大组件之一。JavaWeb 的三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监 听器。
  2. Listener 它是 JavaEE 的规范,就是接口
  3. 监听器的作用是,监听某种事物的变化。然后通过回调函数,反馈给客户(程序)去做一些相应的处理。

目前由于技术迭代,常用到的就只有 ServletContextListener 监听器一种,只需了解即可。

/*ServletContextListener 它可以监听 ServletContext 对象的创建和销毁。 
ServletContext 对象在 web 工程启动的时候创建,在 web 工程停止的时候销毁。
 监听到创建和销毁之后都会分别调用 ServletContextListener 监听器的方法反馈。
 */
 public interface ServletContextListener extends EventListener { 
	 /*** 在 ServletContext 对象创建之后马上调用,做初始化 */ 
 	public void contextInitialized(ServletContextEvent sce); 
 	/*** 在 ServletContext 对象销毁之后调用 */ 
 	public void contextDestroyed(ServletContextEvent sce); 
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值