网站项目流程表,制作房地产网站页面,昌邑市住房和建设局网站,如何在网上卖自己的产品一、Tomcat简介
1、简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器#xff0c;属于轻量级应用服务器#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用#xff0c;是开发和调试JSP 程序的首选。 当在一台机器上配置好Apache 服务器#xff0c…
一、Tomcat简介
1、简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器属于轻量级应用服务器在中小型系统和并发访问用户不是很多的场合下被普遍使用是开发和调试JSP 程序的首选。 当在一台机器上配置好Apache 服务器可利用它响应HTML标准通用标记语言下的一个应用页面的访问请求。际上Tomcat是Apache 服务器的扩展但运行时它是独立运行的所以当你运行tomcat 时它实际上作为一个与Apache 独立的进程单独运行的诀窍是。
当配置正确时Apache 为HTML页面服务而Tomcat 实际上运行JSP 页面和Servlet。另外Tomcat和IIS等Web服务器一样具有处理HTML页面的功能另外它还是一个Servlet和JSP容器独立的Servlet容器是Tomcat的默认模式。不过Tomcat处理静态HTML的能力不如Apache服务器。
2、web技术
1.http协议和 B/S Browser/Server结构
操作系统有进程子系统使用多进程就可以充分利用硬件资源。进程中可以多个线程每一个线程可以被CPU调度执行这样就可以让程序并行的执行。这样一台主机就可以作为—个服务器为多个客户端提供计算服务。
客户端和服务端往往处在不同的物理主机上它们分属不同的进程这些进程间需要通信。跨主机的进程间通信需要使用网络编程。最常见的网络编程接口是socket。
Socket称为套接字本意是插座。也就是说网络通讯需要两端如果一端被动的接收另一端请求并提供计算和数据的称为服务器端另一端往往只是发起计算或数据请求称为客户端。
网页是存储在WEB服务器端的文本文件浏览器发起HTTP请求后到达WNEB服务程序后服务程序根据URL读取对应的HTML文件并封装成HTP响应报文返回给浏览器端。
起初网页开发主要指的是HTML、CSS等文件制作目的就是显示文字或图片通过超级链接跳转到另一个HTML并显示其内容。
后来网景公司意识到让网页动起来很重要傍着SUN的ava的名气发布了JavaScript语言可以在浏览器中使用5引攀执行的脚本语言可以让网页元素动态变化。网页动起来了。
为了让网页动起来微软使用ActiveX技术、SUN的Applet都可以在浏览器中执行代码但都有安全性问题。能不能直接把内容直接在WEB服务器端组织成HTML然后把HTML返回给浏览器渲染呢?
2.前端三大核心技术
1.HTML
2.CSS
3.javascripts
Javascript简称S是一种动态的弱类型脚本解释性语言和HTML、CSS并称三大WEB核心技术得到了几乎主流浏览器支持。
4.同步和异步
同步
交互式网页用户提交了请求就是想看到查询的结果。服务器响应到来后是一个全新的页面内容哪怕URL不变整个网页都需要重新渲染。例如用户填写注册信息只是2次密码不一致提交后整个注册页面重新刷新所有填写项目重新填写(当然有办法让用户减少重填)。这种交互非常不友好。从代价的角度看就是为了注册的一点点信息结果返回了整个网页内容不但浪费了网络带宽还需要浏览器重新渲染网页太浪费资源了影响了用户体验和感受。上面这些请求的过程就是同步过程用户发起请求页面整个刷新直到服务器端响应的数据到来并重新渲染。
异步
1996年微软实现了iframe标签可以在一个网页使用iframe标签局部异步加载内容。
1999年微软推出异步数据传输的ActiveX插件技术太笨重了但是也火了很多年。有一个组件XMLHttpRequest被大多数浏览器支持。
传统的网页如果需要更新内容必需重数整个网页面。Ajax的出现改变这一切同时极大的促进了Javascript的发展。Ajax即Asynchronous Javascript AndXML”(异步JavaScript和XML)是指一种创建交互式、快速动态网页应用的网页开发技术最早起源于1998年微软的Outook Web Access开发团队。Ajax通过在后台与服务器进行少量数据交换可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下对网页的某部分进行更新。Javascript通过调用浏览器内置的WEB API中的XMLHttpRequest对象实现Ajax技术。早期Aijax结合数据格式XML目前更多的使用)SON。利用AAX可实现前后端开发的彻底分离改变了传统的开发模式。
二、java基础
1、web架构
1.web资源和访问 PC端或移动端浏览器访问
从静态服务器请求HTML、CSS、JS等文件发送到浏览器端浏览器端接收后渲染在浏览器上从图片服务器请求图片资源显示 从业务服务器访问动态内容动态内容是请求后有后台服务访问数据库后得到的最终返回到浏览器端。
手机 App访问
内置了HTML和]S文件不需要从静态WEB服务器下载JS或HTML。为的就是减少文件的发送现代前端开发使用的文件太多或太大了有必要就从图片服务器请求图片从业务服务器请求动态数据。
客户需求多样更多的内容还是需要由业务服务器提供业务服务器往往都是由一组服务器组成。
2.后台应用架构 1.单体应用架构
传统架构(单机系统)。一个项目一个工程:比如商品、订单、支付、库存、登录、注册等等统一部署一个进程
all in one的架构方式把所有的功能单元放在一 个应用里。然后把整个应用部署到一台服务器上。如果负载能力不行将整个应用进行水平复制进行扩展然后通过负载均衡实现访问。Java实现: JSP、 Servlet, 打包成-个jar. war部署好处易于开发和测试:也十分方便部署:当需要扩展时只需要将war复制多份然后放到多个服务器上再做个负载均衡就可以了。坏处如果某个功能模块出问题有可能全站不可访问修改Bug后、某模块功能修改或升级后需要停掉整个服务重新整体重新打包、部署这个应用war包,功能模块相互之间耦合度高相互影响,不适合当今互联网业务功能的快速迭代。特别是对于-一个大型应用我们不可能吧所有内容都放在一 个应用里面我们如何维护、如何分工合作都是问题。如果项目庞大管理难度大。web应用服务器:开源的tomcat. jetty. glassfish。 商用的有weblogic、websphere. Jboss
2.微服务
https://www.martinfowler.com/microservices/ 属于SOA (Service Oriented Architecture)的子集面 微服务化的核心就是将传统的一站式应用根据业务拆分成一个一个的服务彻底去掉耦合每一个微服务提供单个业务功能一个服务只做一件事。每个服务都围绕着具体业务进行构建并且能够被独立地部署到生产环境、类生产环境等。
从技术角度讲就是一种小而独立的处理过程类似与进程的概念能够自行单独启动或销毁 微服务架构分布式系统)各个模块/服务各自独立出来让专业的人干专业的事”独立部署。分布式系统中不同的服务可以使用各自独立的数据库。·服务之间采用轻量级的通信机制(通常是基于HTTP的RESTful API)。微服务设计的思想改变了原有的企业研发团队组织架构。传统的研发组织架构是水平架构前端、后端、DBA、测试分别有自己对应的团队属于水平团队组织架构。而微服务的设计思想对团队的划分有着一定的影响使得团队组织架构的划分更倾向于垂直架构比如用户业务是一个团队来负责支付业务是一个团队来负责。但实际上在企业中并不会把团队组织架构拆分得这么绝对垂直架构只是一种理想的架构微服务的实现框架有多种不同的应用架构部署方式也有不同
1.单体架构和微服务比较 2.微服务的优缺点微服务优点与缺点:
优点
每个服务足够内聚足够小代码容易理解。这样能聚焦一个只当的业务功能或业务需求。开发简单、开发效率提高一个服务可能就是专业的只干一件事微服务能够被小团队单独开发这个小团队可以是2到5人的开发人员组成开发简单、开发效率提高一个服务可能就是专业的只干一件事微服务能够被小团队单独开发这个小团队可以是2到5人的开发人员组成微服务能使用不同的语言开发易于和第三方集成微服务运行容易且灵活的方式集成自动部署通过持续集成工具如: Jenkins、Hudson、Bamboo·微服务易于被一个开发人员理解、修改和维护这样小团队能够更关注自己的工作成果无需通过合作才能体现价值。微服务允许你利用融合最新技术。微服务只是业务逻辑的代码不会和HTML/CSS或其他界面组件混合即前后端分离·每个微服务都有自己的存储能力可以有自己的数据库也可以有统一数据库
缺点
微服务把原有的一个项目拆分成多个独立工程增加了开发、测试、运维、监控等的复杂度微服务架构需要保证不同服务之间的数据一致性引入了分布式事务和异步补偿机制为设计和开发带来一定挑战·开发人员和运维需要处理分布式系统的复杂性需要更强的技术能力微服务适用于复杂的大系统对于小型应用使用微服务进行盲目的拆分只会增加其维护和开发成本
2、Java 1.java介绍
Java创始人之一的 James Gosling
2.java组成 语言、语法规范。关键字,如: if、for、class 等 源代码 source code 依赖库标准库(基础)第三方库(针对某些应用)。底层代码太难使用且开发效率低封装成现成的库 JVM虚拟机。将源代码编译为中间码即字节码后,再运行在JVM之上 由于各种操作系统ABl不一样采用编译方式需要为不同操作系统编译成相应格式的二进制程序才能运行。
3.java实现动态网页功能
①servlet
是Java Servlet 的简称可以理解为是一个服务连接器是用 Java 编写的服务器端程序具有独立于平台和协议的特性 简单的理解servlet 就是一个中间件包含了接口和方法将客户端和数据库连接从而实现动态网页的创建。
② jsp
用于将 JSP 动态网页翻译成 Servlet 代码。
全称 Java Server Pages是一种动态网页开发技术。它使用 JSP 标签在HTML网页中插入 Java 代码。标签通常以 % 开头以 % 结束。也是一种 Java servlet主要用于实现 Java web 应用程序的用户界面部分。 JSP 通过网页表单获取用户输入数据、访问数据库及其他数据源然后动态地创建网页。 优点架构简单比较适合小型项目开发缺点JSP 职责不单一职责过重不便于维护
4.jdk
①JDK和JRE
1.JDK和JRE关系 Java SE APl: Java 基础类库开发接口 JRE: Java Runtime Environment 缩写指Java运行时环境包含JVM Java 核心类库 JDK: Java Development Kit即Java语言的软件开发工具包JDK协议基于JRL(JavaResearch License)协议 ②JVM的各种版本
JVM市场份额 ③Oracle JDK版本 JDK也就是常说的J2SE在1999年正式发布了Java第二代平台发布了三个版本 J2SE标准版适用于桌面平台 J2EE企业版java在企业级开发所有规范的总和共有13个大的规范,Servlet、Jsp都包含在JavaEE规范中 J2ME微型版适用于移动、无线、机顶盒等设备环境
JDK7 JDK8、JDK11是LTSLong Term Support ⑤OpenJDK
OpenJDK是Sun公司采用GPL v2协议发布的JDK开源版本于2009年正式发布。
OpenJDK使用GPL v2可以用于商业用途。目前由红帽维护。OpenJDK也有在其基础上的众多发行版比如阿里的Dragonwell。
相对来说,Oracle jDK具有更好的响应能力和JVM性能更加稳定
在Centos 中默认的是openjdk