文章目录
- 一、JavaWeb
- 应用程序架构
- B/S 架构
- C/S 架构
- B/S 与 C/S 对比
- MVC设计模式
- 二、MVC
- MVC 开发项目搭建
- Web 服务器
- tomcat 服务器
- Idea 集成 tomcat
- 第一个 JavaWeb 项目
- 三、JSP 技术
- jsp 与 servlet 联系与区别
一、JavaWeb
简介
JavaWeb 可以理解成使用 java 进行应用程序开发,也可以叫做服务器开发;即所有的程序 开发都是面向服务器;即是开发好的应用程序是能够在服务器上进行部署供他人进行访问;
应用程序架构
B/S 架构
B/S 架构指 Browser/server (浏览器/服务器) 结构;
在这里插入图片描述
B/S 架构主要特点是分布性强,维护方便,开发简单且共享性强、开发成本低; 缺点是数据安全性低,对服务器要求较高,数据传输较慢、个性化设计明显降低; 即使 B/S 架构有诸多缺点,但是它仍然是目前主流的应用程序开发架构;
C/S 架构
C/S 架构指 Client/Server (客户端/服务器) 结构;
该架构是一个相对来说比较成熟的架构,主要特点为交互性强、具有安全的数据存储、网络通讯量低,响应速度快、处理大数据能力强。缺点为适用范围较小,局限于小型的局域网络,扩展能力低、不灵活、维护和管理的难度较大、兼容性差,不能实现快速的安装和配置,使用也 需要有一定的技术,不通用;
B/S 与 C/S 对比
一般面向固定用户群,程序更加注重流程,对权限要求较高,数据的安全性能要求较高、对信 息安全的控制能力要求较高时使用 C\2 架构;
如果对用户群里没有特殊要求,客户机不需要进行程序维护,方便用户使用、想要更强的扩展 能力时,使用 B\2 架构;
MVC设计模式
MVC 设计模式是一种专门针对 B/S 架构应用程序开发提供的开发模式;
将整个项目划分为三个不同的模块:表示层、业务逻辑层、数据访问层;让编程人员进行分层 开发实现高类聚,低耦合的项目开发; 各层实现与功能:
表示层:一般使用 jsp(传统的项目) 或者 html(前后端分离项目) 页面进行开发,实现 数据的展示和用户录入数据的搜集;
业务逻辑层:用 java 代码编写的应用程序,主要负责功能模块的业务处理以及提供表示层数 据到数据访问层的通道; 数据访问层:一般使用
JDBC、mybatis等和数据库实现数据交互;主要是通过sql 语句实 现数据库的增删改查操作
二、MVC
MVC 全称为 Model-View-Controller 是一种软件开发架构模式; Model:模型 –
代表一个存取数据的对象,通常叫做 javabean/pojo View:视图 – 代表模型包含的数据的可视化界面,是模型数据的呈现;
Controller:控制器 – 作用域模型和视图,它控制数据流向模型,并在数据发生变化时更 新视图,控制器使模型和视图分离;
Model 不属于任何层,它可以在每个层中出现,是数据储存和传递的载体; V和C 都属于表示层,在某些情况下,我们可认为 MVC 模式是对表示层的进一步分离,通过 C 将数据显示与数据模型分离;同样起到了降低耦合的作用;
MVC 开发项目搭建
MVC 模式是一个分层的开发模式,在项目中一般使用包结构来实现分层;所以在创建项目时, 需要将项目中不同层次代码通过包结构来实现管理;Model (javabean-实体类) :com.oracle.entity DAO (数据访问层) :com.oracle.dao service (业务逻辑层) :com.oracle.service View (表示层 servlet + jsp) :servlet 位于 com.oracle.servlet 包下,jsp 在前端资源的 web 目录下; servlet 由服务器提供,是一个实现后面和前端页面连接的中间件;
Web 服务器
简介
web 服务器一般指网络服务器,是一种特殊类型的计算机程序;主要用于提供网络上信息的浏览服务,可以向发出请求的浏览器提供文档、图片、网站等业务服务,让全世界需要的用户进 来访问;当然也允许用户进行下载;目前市场上应用比较广泛的浏览器有:tomcat、webLogic、IIS等; webLogic 服务器是一个用于分布式 web应用进行项目部署的服务器; IIS 服务器应用与 .net 项目的部署; tomcat 服务器主要应用与学习和项目调试;
tomcat 服务器
简介
tomcat 服务器是一个免费开源的轻量级服务器,在中小型并发访问不大的项目中使用;是开 发 jsp 项目首选的服务器; tomcat服务器实际上就是 JSP 和 Servlet 容器,主要用来部署和运行 Web 应用,同 时它也具备处理 html 页面的功能;
omcat 服务器下载
官网:https://tomcat.apache.org
压缩包解压
服务器启动
Idea 集成 tomcat
第一个 JavaWeb 项目
搭建一个 web 项目,将项目部署到服务器上,再通过浏览器进行项目的访问
创建 JaveWeb 项目
① 创建一个普通的 java 项目
② 为创建项目添加 web 模块
添加 web 模块
选择 jdk 版本
添加 web.xml
tomcat 服务器 jar 包导入
项目部署到服务器
项目访问
打开浏览器在地址栏输入访问资源路径:
http://localhost:8080/JavaWeb_Demo/
其中 http://localhost:8080 是服务器的路径;
/JavaWeb_Demo 是发布到服务器上的项目路径;
/ 表示访问 JavaWeb_Demo 路径对应项目 web 目录下的 index.jsp 页面
控制台日志输出乱码解决
控制台乱码是服务器日志在输出时编码格式不匹配导致的中文乱码,不影响程序的执行,只是 看起来不太舒服;
解决方案找到服务器日志配置文件修改编码格式即可; 配置文件在 conf —> logging.properties 将内部的编码格式改为GBK
三、JSP 技术
jsp 简介
jsp 全称为 JavaServer pages – Java 服务器页面;是一种动态的网页技术标准。 jsp部署在服务器,可以根据用户的请求实时的进行页面的响应,响应的结果可以是 HTML、 xml 获取时其他格式文档的 web 页面; jsp 内部可以使用各种各样的言语,例如 java 语言可以以脚本的方式存在于jsp 中,也可 以是 html 语言; java作为脚本语言存在时,可以为用户提供前后的连接,也可以和服务器上其他的 java 程 序共同完成业务的处理;
jsp 页面的创建
jsp 页面跟 html 页面一样属于前端资源,创建时需要创建在 web 目录下;
创建好的 jsp 页面内部只有简单的 jsp 指令和 html 基本的结构标签;内部使用 html 提供的标签进行页面内容的书写; css 以及 js 的引入跟 html 文件一致;它除了具备 html 文件的功能以外,还具备一些 更强大的功能;比 html 更适合做一体式的 javaWeb 项目;
JSP 执行原理
jsp 页面在执行时可分为三个阶段: ① 翻译阶段:将 jsp 页面翻译成一个 .java 的源文件 ② 编译阶段:将 .java 的源文件编译为 .class 字节码文件 ③ 执行阶段:执行编译后的字节码文件 当首次进行 jsp 页面的访问时,运行原理如下图:
当 jsp 页面的内容发生改变,再次访问该页面时,省去翻译和编译过程,直接执行字节码文 件,运行原理如下图:
所以,当一个 jsp 执行后,tomcat 服务器的 work 文件夹中 root 目录下会生成对应 的 .java 源文件以及编译后的 .class 文件; 文件名使用 jsp文件名_jsp 的方式进行命名; 该生成的类继承了 HttpJspBase 类,类的内部与 Servlet 类基本一致,有初始化方法、 有销毁的方法、也有提供服务的方法;所以从某种角度来说,可以将 jsp 当做是一个 servlet 类;
jsp 与 servlet 联系与区别
联系
jsp --> 继承于 HttpJspBase --> 继承于 HttpServlet --> 实现了Servlet 接 口; 所以 jsp 本质就是一个 Servlet;
区别
① jsp 擅长视图的制作,Servlet 擅长于控制层,进行请求的处理和响应 ② jsp 会在执行时转换为 Servlet,会被 tomcat 容器赋予九大内置对象 ③ jsp 是简化版的 Servlet (只负责页面相关的内容) ,Servet 功能较全面 ④ jsp 需要依靠 tomcat 来创建 java 类;servlet 本身就是一个 java 类
JSP 内部组成
① 指令:通过声明去引入外部资源,常见的三大指令:page/include/taglib ② 脚本:java代码、el 表达式 ③ 动作:可以实现页面的动态引入 ④ html 标签:标签、css、js