目录
一、关于Web的简介
1.Web前端
Web应用被分类归为分布式应用,一般是客户端——服务器结构,所以我们有一部分的代码运行在客户端,另一部分代码运行在服务器。那些在客户端上的应用就是前端,通常指的就是我们的浏览器。最常用于前端开发的技术是HTML+CSS+JavaScript,高级的前端开发人员通常使用这些技术的组合开发应用的前端,另一个前端的常用技术就是使用Photoshop设计,配合其他技术共同完成Web页面的制作。
2.Web后端
后端开发者编写那些运行在服务器上的代码,通常来说,这部分的工作需要和数据库打交道,比如读写数据、读写文件、实现业务逻辑等。有些时候,业务逻辑存储在客户端,这时后台就是用来以Web服务的形式提供数据库中的数据。后端开发者一般需要掌握一种Web编程语言和一个数据库管理系统。
3.Web客户端开发技术
HTML、CSS、脚本、XML/XHTML/Ajax/ JSON
Javascript特性主要包括:
①通过JavaScript的XMLHttpRequest对象实现异步请求与调用。
②通过JavaScript对XML进行解析和处理。
③通过JavaScript操作DOM来实现客户端的动态显示。
二、Web开发环境
1.步骤概述
-
选择开发语言和框架: 根据您的项目需求选择适当的编程语言和Web框架。
-
安装开发工具: 安装用于编写和管理代码的集成开发环境(IDE),例如Visual Studio Code、IntelliJ IDEA等。
-
安装数据库: 根据项目需要选择并安装合适的数据库。例如,可以使用MySQL、PostgreSQL、MongoDB等。
-
创建项目: 使用选择的框架创建项目结构。具体操作取决于框架和语言,可以使用框架提供的命令行工具或IDE。
-
编写代码: 开发应用程序的业务逻辑、路由、控制器等功能。
-
配置数据库: 根据项目需求配置数据库连接,执行数据库迁移等操作。
-
安装依赖项: 使用项目的包管理工具安装依赖项。例如,对于Node.js项目,可以使用npm;对于Java项目,可以使用Maven或Gradle。
-
启动Web服务器: 启动您选择的Web服务器,确保它能够运行您的应用程序。
-
测试: 编写并运行单元测试、集成测试,确保应用程序的正确性。
-
部署: 部署到生产环境。这可能包括将应用程序打包成可执行文件、配置生产数据库等。
三、Web创建项目框架
1.创建Web项目
①使用Spring Initializer创建项目,建议使用IDE创建
(若官网start.sprint.io无法链接,可切换到阿里云镜像start.aliyun.com,但spring boot的版本可能存在差异 )
②构建工具:Maven
(对于构建Java程序,Maven出现时间早,支持范围更广,使用xml编码更易阅读;Gradle支持增量构建,性能更强,使用groovy或kotlin语言,对于初学者有一定的要求)
③JDK版本,根据个人安装的情况选择,本项目使用jdk1.8,Java语言版本8
(高级的语言版本具有更多的语言特性,尤其是集合API上,更方便易用,但新版本对于反射增加了限制,本项目的自定义授权机制因为要使用反射,因此选择8具备更高的灵活性)
④打包方式Jar(官方推荐)
(spring boot内置了web容器,jar包直接运行;若已存在外部web容器可使用war打包)
⑤spring boot版本(2.7.6),在官网当时提供的版本中选择,尽量选择发行版本
⑥选择依赖
2.配置相关文件
①pom.xml
作用:项目对象模型(Project Object Model)是Maven工程的基本工作单元,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖。
(项目对象模型(Project Object Model)是Maven工程的基本工作单元,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖。若需要添加其他依赖,可在pom中添加。)
<!-- 项目的基本信息 -->
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-project</artifactId>
<version>1.0.0</version>
<!-- 项目的依赖配置 -->
<dependencies>
<!-- 例子:Spring Boot Starter Web 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.6.1</version>
</dependency>
②应用程序配置文件(application.properties 或 application.yml)
作用: 用于配置 Spring Boot 应用程序的属性,如数据库连接、日志级别等。
位置: 通常位于 src/main/resources 目录下。
( ①application.properties→application.yml,应用程序配置文件的格式由properties修改为yml, yml文件的结构更为清晰
②yml中配置数据源,包括驱动类、数据库地址、用户名、密码等
③yml中配置数据库架构变化时的更新策略为update:必要时才更新。其他还有全部删除后更新、④每次会话删除更新等。开发时配置为update;在项目部署后,可将该项配置为none,避免在生产数据库中更新造成数据丢失
⑤yml中配置jpa的show-sql为true,方便开发时在控制台查看和定位问题)
# 例子:数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=user
spring.datasource.password=pass
③为不同的环境添加个性化的应用程序配置文件
(比如开发环境下的application-dev.yml和生产环境下的application-prd.yml,将共同的配置留在application.yml中)
④不同环境的yml文件,指定个性化配置
(比如端口号生产环境80、开发环境8xxx,比如不同的数据源地址、用户名密码等)
⑤在默认的yml配置文件中,指定当前生效的配置文件,只需要指定后缀
3.启动Web测试
①可在控制台看输出,出现Started XXXApplication in xxx seconds,表示运行成功。
②可在yml中配置日志级别,开发时输出详细信息,生产环境根据需要记录关键信息。
③应用启动并测试成功后,将创建的项目框架推送到远程仓库。
四、Web异常处理
1.定义错误页面
①添加首页(resources/templates/index.html)及相应Controller
②添加404和500页面
③运行测试,分别访问首页、制造错误访问其他两个页面
2.自定义错误处理
①添加自定义异常类(业务异常类BusinessException和资源不存在异常类NotFoundException)
②添加统一的异常处理类PracticeExceptionHandler
3.自定义错误页面
①添加Thymleaf依赖
②完成error页面
全局异常处理:
服务器端全局异常处理: 在服务器端设置全局异常处理器,捕获应用程序中未处理的异常。这可以通过框架提供的机制来实现,例如在Spring框架中使用 @ControllerAdvice 注解。
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<ErrorResponse> handleException(Exception ex) {
// 返回自定义错误响应
return new ResponseEntity<>(new ErrorResponse("Internal Server Error"), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
五、Web知识总结
1. 前端开发
HTML/CSS/JavaScript: 基础前端技术,HTML定义网页结构,CSS负责样式,JavaScript则用于交互和动态内容。
前端框架/库: 如React.js、Angular、Vue.js等,简化和加速开发过程,提供组件化、状态管理等功能。
UI/UX 设计: 用户界面和用户体验设计,包括响应式设计、可用性测试等。
Ajax/RESTful API: 通过Ajax进行异步请求,使用RESTful API进行客户端与服务器端的通信。
2. 后端开发
后端语言和框架: 如Java(Spring Boot)、Python(Django/Flask)、Node.js(Express)等,处理服务器端逻辑和数据交互。
数据库: 关系型数据库(如MySQL、PostgreSQL)或非关系型数据库的设计和管理。
API 设计: 设计和管理服务器端的API,包括RESTful风格的API设计、路由、控制器等。
安全性: 处理认证、授权、数据加密等安全问题,防范常见的网络攻击。
3. Web服务器和部署
Web服务器: 如Apache、Nginx等,用于处理HTTP请求和响应。
容器化技术: 如Docker和Kubernetes,用于打包、部署和管理应用程序。
4. 性能优化和监控
性能优化: 前端性能优化和后端性能优化(数据库查询优化、缓存)。
监控和调试: 使用工具监控应用程序性能、日志记录和分析、错误追踪等。