web部分知识总结

概括

Web是指World Wide Web(万维网),是一种基于互联网的信息系统,通过超文本链接和多媒体资源实现全球范围内的互联和信息共享。Web由若干个网页组成,每个网页都由HTML、CSS、JavaScript等技术编写而成,通过Web浏览器访问。

Web的诞生可以追溯到1989年,由英国计算机科学家蒂姆·伯纳斯-李(Tim Berners-Lee)提出。他设计了一种使用超文本链接连接不同信息资源的方式,并在1991年发布了第一个Web服务器和Web浏览器。从此,Web得到快速发展和普及,成为人们获取各种信息、交流和合作的重要平台。

Web的基本结构包括:

  1. 网页:Web上的信息资源单元,通常采用HTML格式编写,包括文本、图像、视频、音频等多种形式。

  2. 超链接:用于将不同网页之间相互连接起来的链接。用户可以通过点击链接跳转到其他网页或特定的信息资源。

  3. Web浏览器:用于访问和显示Web页面的软件,如Chrome、Firefox、Safari等。

  4. Web服务器:用于存储和提供Web页面和其他信息资源的服务器软件,如Apache、Nginx等。

Web已经成为人们日常生活和工作的重要组成部分,与移动设备、云计算、人工智能等技术相结合,正不断推动着社会的数字化和信息化发展。


一、开发环境

  1. JDK安装
    ①也可使用idea自带jdk,可能与open jdk存在一些区别
    ②傻瓜式安装,完成后配置环境变量

  2. Intellij IDEA安装
    傻瓜式安装,完成后在“文件→设置→插件”中搜索①Alibaba Java Code Guidelines②Gitee并安装

  3. 克隆项目
    ①Fork教学项目
    ②在非中文目录下clone项目“git clone https://gitee.com/xxx/api-practices.git”

  4. 安装mysql-installer-community-8.0.22.0
    ①仅安装Server即可(Server only)
    ②检测安装,可能会有一些依赖安装,按提示安装即可
    ③安装完会有配置,其中密码验证方式,必须选择传统验证(Legacy),强密码方式navicat无法连接
    ④root根用户密码要牢记,开发环境建议使用123456或654321,生产环境不要使用易于猜测的密码
    ⑤其他配置一般按默认即可
    参考:https://www.modb.pro/db/53520

  5. 安装Navicat,并打补丁
    ①安装完成后打开navicat,点击连接输入root用户密码并连接到mysql
    ②创建practices数据库。字符集utf8 -- UTF-8 Unicode,排序utf8_bin

  6. 接口测试工具
    ①一般的接口测试,请在Edge或Chrome上安装postwoman插件
    ②涉及到文件上传,需要安装和使用postman应用
    ③要测试接口需要提交复杂json作为参数时,可使用>>>在线json编辑器<<<


二、搭建项目框架

(1)、开发一个Web RESTful API项目通常需要以下步骤:

  1. 需求分析:明确项目的功能和需求,了解API的用途和目标用户,确定所需的数据模型和接口设计。

  2. 技术选型:选择适合的后端框架和数据库,如Express.js、Django、Ruby on Rails等,并根据项目需求选择合适的其他技术组件,如认证机制、缓存策略等。

  3. 数据库设计:设计和规划数据库结构,包括表和字段的设计,关系模式的建立,索引和约束的定义等。

  4. 接口设计:基于需求和数据模型,设计API的URL路径、请求方法、请求参数和响应格式。采用RESTful风格的设计原则,如使用合适的HTTP方法(GET、POST、PUT、DELETE),采用语义化的URL路径等。

  5. 编码实现:根据接口设计和技术选型,使用选择的后端框架和编程语言进行编码实现。根据需要,实现路由、控制器、数据模型、中间件和其他业务逻辑。

  6. 单元测试:编写单元测试用例,对每个API进行测试,确保其功能正常并返回期望的结果。可以使用测试框架和工具,如Mocha、JUnit等。

  7. 接口文档:编写详细的接口文档,包括API的使用说明、请求参数、响应格式和示例等。可以使用工具生成文档,如Swagger、Postman等。

  8. 接口实现与调试:在开发过程中,可以使用工具如Postman来测试和调试API接口,确保其正确性和可用性。

  9. 部署和发布:将项目部署到服务器上,配置环境变量、数据库连接等。可以使用云平台(如AWS、Azure、Heroku)或自建服务器进行部署。

  10. 监测和优化:监控API的性能指标、错误日志等,对性能瓶颈进行优化,可以采用缓存、负载均衡等技术手段提升系统性能。

  11. 安全性处理:考虑API的安全性,如身份验证、访问控制、数据加密等。可以采用OAuth、JWT等认证机制,避免安全漏洞。

  12. 持续集成和持续交付:使用持续集成(CI)和持续交付(CD)工具,如Jenkins、Travis CI等,自动化构建、测试和部署流程。

这些步骤并不是一成不变的,根据具体项目需求和团队实际情况,可能会有所调整。同时,良好的代码规范、版本管理和团队协作也是项目开发过程中重要的考虑因素。

(2)、创建一个Web项目通常需要以下步骤:

  1. 选择开发语言和技术栈:根据项目需求和团队熟悉的技术选择合适的开发语言和技术栈,如JavaScript/TypeScript、Python、Ruby等。

  2. 确定项目需求和功能:明确项目的目标和需求,了解用户的需求和期望,确定要实现的功能和特性。

  3. 确定项目结构:设计项目的目录结构,包括源代码、配置文件、静态资源等组织方式。

  4. 初始化项目:创建项目的基本框架和文件结构,可以使用命令行工具、脚手架或IDE插件来快速生成初始项目结构。

  5. 配置环境:设置开发环境和生产环境的相关配置,包括数据库连接、API密钥、日志输出等。

  6. 安装依赖:根据项目需求,在项目目录下使用包管理工具(如npm、pip、gem等)安装所需的依赖库和框架。

  7. 开发和编码:根据项目需求,开始编写代码实现功能。按照项目结构和最佳实践组织代码,包括路由、控制器、模型、视图等。

  8. 测试和调试:编写单元测试用例,对代码进行测试和调试,确保功能的正确性和稳定性。

  9. 集成和部署:将项目部署到服务器或云平台上,配置环境变量、数据库连接等。可以使用版本控制工具(如Git)进行代码管理和版本控制。

  10. 监测和优化:在项目发布后,根据用户反馈和系统监测,持续监测和优化项目的性能、安全性和稳定性。

  11. 文档编写:编写项目文档,包括安装说明、使用手册、API文档等,方便其他开发人员和用户理解和使用项目。

  12. 持续集成和持续交付:使用持续集成(CI)和持续交付(CD)工具,如Jenkins、Travis CI等,自动化构建、测试和部署流程。

以上步骤可以根据具体项目需求和团队实际情况进行调整。同时,良好的代码规范、版本管理和团队协作也是项目开发过程中重要的考虑因素。

(3)、在Web开发中,常见的配置文件包括:

  1. package.json:对于使用npm作为包管理器的项目,package.json是必需的。它包含了项目的名称、版本号、依赖库以及各种脚本命令等信息。

  2. .env:环境变量配置文件,用于存储敏感或特定于环境的配置,如数据库连接字符串、API密钥等。通过读取.env文件,将这些配置加载到应用程序中。

  3. .gitignore:Git版本控制系统的忽略文件配置,用于指定哪些文件或目录不被Git跟踪和提交。通常包含一些临时文件、日志文件、依赖库文件等。

  4. webpack.config.js:Webpack打包工具的配置文件,用于定义项目的打包规则、插件配置、入口文件等。通过修改webpack.config.js文件,可以自定义构建过程。

  5. babel.config.js:Babel转译工具的配置文件,用于定义项目的JavaScript转译规则、插件配置等。通过修改babel.config.js文件,可以支持更高版本的JavaScript语法。

  6. tsconfig.json:TypeScript编译器的配置文件,用于定义TypeScript项目的编译选项和类型检查规则。通过修改tsconfig.json文件,可以自定义TypeScript编译过程。

  7. nginx.conf:Nginx服务器的配置文件,用于定义服务器的监听端口、代理规则、缓存策略等。通过修改nginx.conf文件,可以进行HTTP服务器的配置和优化。

  8. database.yml:数据库连接配置文件,用于定义数据库的连接信息、用户名、密码等。不同的数据库系统有不同的配置文件格式,如MySQL的my.cnf、PostgreSQL的pg_hba.conf等。

以上是常见的一些Web开发中的配置文件,具体的配置文件可能根据项目需求和使用的技术栈而有所不同。在实际开发中,根据项目需要,可能还会有其他自定义的配置文件。

(4)在Web开发中,启动应用程序进行测试通常需要以下步骤:

  1. 安装依赖:在项目目录下运行包管理工具(如npm、pip、gem等)安装项目所需的依赖库。可以使用类似于npm install的命令来安装所需的依赖项。

  2. 配置环境:根据项目需求,配置开发环境和测试环境的相关配置,如数据库连接、API密钥等。可以通过修改.env文件或其他配置文件来设置这些配置。

  3. 运行应用:使用命令行工具,在项目目录下执行启动命令,以启动应用程序。具体的启动命令取决于使用的开发框架和技术栈,例如npm startpython app.py等。

  4. 访问应用:打开Web浏览器,输入应用程序的URL地址,以访问应用程序。可以在本地开发环境中使用localhost:port进行访问,其中port是应用程序监听的端口号。

  5. 进行测试:在浏览器中测试应用程序的各个功能和特性,确保它们正常工作。可以模拟用户的操作,检查页面的布局、表单的提交、数据的展示等。

  6. 调试问题:如果遇到问题或错误,可以使用浏览器的开发者工具来调试和查看错误信息。开发者工具提供了调试JavaScript、查看网络请求和响应等功能。

  7. 编写单元测试:编写单元测试用例,对应用程序的各个组件进行测试。可以使用单元测试框架(如Jest、Mocha等)来编写和运行测试用例,确保代码的正确性和稳定性。

  8. 运行单元测试:在项目目录下执行运行单元测试的命令,以运行测试用例并生成测试报告。具体命令取决于所使用的单元测试框架和工具。

  9. 持续集成:将测试过程自动化集成到持续集成(CI)系统中,例如Jenkins、Travis CI等。在每次代码提交或推送后,自动运行测试用例并生成测试报告。

以上是启动Web应用程序进行测试的一般步骤。具体的步骤和命令可能因项目的实际情况而有所不同。在实际开发中,还可以使用其他工具和技术来进行更全面的测试,如端到端测试、性能测试等。


三、异常处理

  1. 定义错误页面
    ①添加首页(resources/templates/index.html)及相应Controller
        --添加控制器注解
        --添加index方法
        --添加路由注解
    ②添加404和500页面
    ③运行测试,分别访问首页、制造错误访问其他两个页面

  2. 自定义错误处理
    ①添加自定义异常类(业务异常类BusinessException和资源不存在异常类NotFoundException)
    ②添加统一的异常处理类PracticeExceptionHandler
        --使用ControllerAdvice注解把所有Controller作为切面统一提供错误处理功能
        --添加专门处理业务异常的方法,使用ExceptionHandler注解
        --添加通用的异常处理方法,使用ExceptionHandler注解
        --还可使用ModelAttribute注解添加全局数据

  3. 自定义错误页面
    ①添加Thymleaf依赖
    ②完成error页面

  4. 接口专用错误处理类
    ①添加handlers文件夹,并添加专用于RESTful接口异常的处理类ApiExceptionHandler
    ②使用注解指定处理的类型为RestController
    ③在内部定义一个类型ExceptionWrapper专用于包装异常信息
    ④添加异常处理方法,同样使用ExceptionHandler注解,返回异常包装类对象
    ⑥在完成接口开发后,制造异常以测试该异常处理类


    四、业务分析

Web业务分析是指对Web应用程序的业务需求和用户行为进行分析,以便更好地理解和满足用户的需求,并优化Web应用程序的功能和性能。

以下是一些常见的Web业务分析方法和技术:

  1. 用户调研:通过问卷调查、访谈或观察用户行为等方式收集用户的反馈和需求。这样可以了解用户对Web应用程序的期望、喜好和痛点,从而为业务分析提供依据。

  2. 用户行为分析:通过使用Web分析工具(如Google Analytics、Mixpanel等),可以跟踪和分析用户在Web应用程序中的行为,包括访问量、页面浏览、点击量、转化率等指标。这些数据可以揭示用户行为和偏好,为业务决策提供数据支持。

  3. 竞品分析:分析竞争对手的Web应用程序,了解其功能特点、用户体验和市场占有率等方面。通过与竞品进行对比,可以发现自身Web应用程序的优势和改进的空间,为业务决策提供参考。

  4. 数据挖掘和机器学习:利用数据挖掘和机器学习技术,挖掘和分析大量的用户行为数据,以发现隐藏的模式、趋势和关联性。这些分析结果可以用于推荐系统、个性化营销等业务决策。

  5. A/B测试:通过在Web应用程序中同时运行两个或多个版本的实验,比较它们在用户行为和业务指标上的差异。A/B测试可以评估不同功能、设计或内容对用户体验和业务目标的影响,从而优化Web应用程序。

  6. 可用性测试:通过让用户执行特定任务或使用特定功能,观察他们的行为和反馈,以评估Web应用程序的易用性和用户体验。可用性测试可以发现用户遇到的问题和障碍,并提供改进建议。

  7. 数据分析报告:根据收集到的数据和分析结果,生成数据分析报告,向业务决策者和相关团队传达关键发现和建议。数据分析报告可以帮助业务团队做出合理的决策,优化Web应用程序。

通过综合运用以上的业务分析方法和技术,可以深入了解用户需求、优化Web应用程序的功能和用户体验,从而提升用户满意度和业务成果。


总结

Web知识总结如下:

  1. 前端开发:前端开发主要涉及HTML、CSS和JavaScript。HTML用于创建网页的结构,CSS用于设计和样式化网页,JavaScript用于添加交互和动态功能。

  2. 后端开发:后端开发主要涉及服务器端编程语言和数据库。常用的后端编程语言包括Python、Java、PHP和Node.js,用于处理业务逻辑和与数据库进行交互。

  3. 前后端通信:前端和后端之间的通信可以使用HTTP协议进行数据传输。前端通过发送HTTP请求(GET、POST等)向后端请求数据或提交表单,后端则返回相应的数据或处理结果。

  4. 数据库:数据库用于存储和管理Web应用程序的数据。常见的关系型数据库有MySQL、PostgreSQL和Oracle,非关系型数据库有MongoDB和Redis。

  5. 客户端-服务器架构:Web应用程序采用客户端-服务器架构。客户端通常是浏览器,通过发送请求获取并显示服务器端提供的网页或数据。

  6. 前端框架和库:前端开发中常用的框架和库有React、Vue.js和AngularJS等。它们提供了可重用的组件、状态管理、路由等功能,加速开发过程。

  7. 后端框架:后端开发中常用的框架有Django(Python)、Spring(Java)、Express(Node.js)等。这些框架提供了处理请求、路由、数据库集成等功能,简化后端开发。

  8. 安全性:Web应用程序的安全性至关重要。常见的安全问题包括跨站脚本攻击(XSS)、跨站请求伪造(CSRF)和SQL注入等。开发人员需要采取一系列措施来保护应用程序的安全。

  9. 响应式设计:响应式设计是指根据用户设备的屏幕大小和分辨率,自动调整网页的布局和样式,以适应不同的设备和屏幕。这可以提供更好的用户体验。

  10. 测试和调试:测试和调试是开发过程中不可或缺的环节。常见的测试方法包括单元测试、集成测试和端到端测试。开发者还应使用浏览器的开发者工具来调试和排查错误。

  • 49
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值