web服务器部署以及各组件简介

Web服务器

web资源的分类:

静态的web资源:

内容是一成不变的

动态的web资源:

内容有可能在不同的时间或者不同的人访问的时候会发生改变的

web技术分类:

静态的web技术:

eg: html css js .....

动态的web技术: ​ eg:servlet jsp

软件的架构:

网络中有很多的计算机,它们直接的信息交流,我们称之为:交互。 在互联网交互的过程的有两个非常典型的交互方式——B/S 交互模型和C/S 交互模型。

B/S 交互模型(B/S架构)

就是浏览器和服务器交互模型。

C/S 交互模型(C/S架构)

就是客户端和服务器交互模型

相同点:

1.都是基于请求和响应的

请求: 浏览器发送给服务器的内容

响应: 服务器返回给浏览器的内容

2.必须先有请求后有响应

3.一次请求对应一次响应,请求和响应必须成对出现.

不同点:

c/s:需要客户下载客户端,页面比较炫,和服务器交互少,可以在客户端处理部分业务逻辑,可降低服务器的压力.需要维护客户端和服务器端

b/s:只需要客户有一个浏览器,一切页面从服务器加载,和服务器交互频繁,由服务器处理业务逻辑,服务器压力较大.只需要维护服务器端.

扩展: 架构选型

用户角度 开发角度 后期维护

web服务器:

概述:

本质上就是一台提供服务的电脑,将我们编写好的web项目发布出去,别人就可以通过网络访问到我们的项目(资源)

我们给服务器安装了什么样的软件,就可以提供什么样的服务,我们管它叫什么什么服务器

常见的web服务器软件:

服务器软件名称 厂商 特点
Weblogic oracle 大型的收费的支持javaEE所有规范的web服务器(servlet和jsp)
websphere ibm 大型的收费的支持javaEE所有规范的web服务器(servlet和jsp)
JBoss JBoss 开源,支持JavaEE规范,占用内存、硬盘小,安全性和性能高
tomcat apache组织 小型的免费的支持servlet和jsp规范的"web服务器"

Tomcat服务器★★★

下载:

http://tomcat.apache.org

core:

zip:可以在window上运行的(我们今天使用)

tar.gz:运行在linux上的

安装:

安装路径不要有中文

解压缩即可

目录结构

bin:存放可执行的文件 ​ 批处理文件(*.bat)

★conf:存放配置文件

lib:存放的是tomcat运行时和项目运行时必须的jar包

logs:存放的是日志文件(catalina.out)

temp:存放临时文件(不用管)

★★webapps:存放要发布的web项目

★work:存放项目运行时jsp转成的java文件和class文件

启动

双击 tomcat目录下/bin/startup.bat

关闭

方式1:点 x ​ 方式2:ctrl + c ​ (记住)方式3:双击 tomcat目录下/bin/shutdown.bat

访问tomcat服务器的格式:

浏览器和服务器的数据交互需要遵循http协议

tomcat服务器默认端口为 : 8080

http默认访问端口 : 80

格式:http://ip地址:端口号

eg: http://localhost:8080

配置:常见问题

一闪而过:

查看JAVA_HOME是否配置正确

端口占用: 可以修改Tomcat的端口号

修改 tomcat目录下/conf/server.xml 大约70行 ​ ​ 需要将 8080 修改成其他的端口号 ​ 端口号:0~65535 ​ 0~1024:系统预留的端口号 一般不要使用 但是可以使用80端口 ​ 80端口是http协议的默认端口号,访问的时候可以不写端口号

 

web项目

目录结构:★

myweb(目录名:项目名) ​ | ​ |---资源文件 html img css js ​ |---WEB-INF(目录:特点,通过浏览器直接访问不到) ​ | | ​ | |---lib(目录:项目运行的jar包) ​ | |---classes(目录:存放的class文件) ​ | |---web.xml(核心配置文件,在servlet2.5版本中必须有,serlvet3.0版本以后不是必须的) ​ |-----------|--js css html

项目访问路径:

http://localhost:80/myweb/1.html ​ 协议://ip地址:端口/项目名称/资源

部署web项目到tomcat服务器

方式1: 直接将项目放到tomcat的webapps目录下

方式2:使用虚拟路径 (配置完毕后需要重启服务器)

a:自定义项目存放位置

b:更改tomcat配置文件(server.xml)

在server.xml的最后添加

写在Host标签中

path: 浏览器访问时的项目(该名称和项目名称一致)

docBase: 自定义项目存放的路径

方式3:配置独立xml文件 (无需重启服务器自动加载和卸载项目)

a:创建项目的xml文件

b:在tomcat/conf/Catalina目录中配置xml文件

tomcat和idea整合

Servlet

Servlet的概述:

Servlet就是运行在web服务器上的java程序,本质上就是一个java类.

一个类要想通过浏览器被访问到,那么这个类就必须直接或间接的实现Servlet接口

作用:

接收浏览器的请求

处理请求

生成响应信息

Servlet入门★

Servlet2.5:

1.编写一个类

实现servlet接口 ​ 重写Service(request,response)方法

2.编写配置文件(web.xml) ​ 注册servlet ​ 绑定路径

3.测试 ​ http://localhost:8080/项目名称/绑定路径

Servlet3.0:

注解方式实现

1.编写一个类

实现servlet接口 ​ 重写Service(request,response)方法

2.在servlet类上添加 @WebServlet(name = "Demo" ,urlPatterns = "/demo")

name: 起名称

urlPatterns: 访问路径

Servlet API

对象 方法/描述
Servlet:接口 (掌握★)init:初始化 (掌握★)service:提供服务 (掌握★)destroy:销毁 (理解)getServletConfig():获取当前Servlet的配置对象 (了解)getServletInfo():获取Servlet信息
GenericServlet:(通用Servlet) 实现了servlet接口的抽象类,实现servlet中除service方法之外的所有方法
HttpServlet:抽象类 继承GenericServlet,实现了Servlet的所有方法.

编写servlet的最终方式: 继承HttpServlet,重写service方法

Servlet执行流程

Servlet的生命周期★

从创建到死亡的过程

控制生命周期的三个方法:

init:初始化

service:提供服务

destroy:销毁

面试题总结:

当浏览器第一次访问该servlet的时候,服务器会给我们创建该servlet的对象,并调用init()方法进行初始化,init()方法执行完毕后service方法会跟着执行. 以后再访问该servlet的时候,直接调用service()方法提供服务,并且是访问一次调用一次.(服务器不会再创建该servlet的对象,也不会调用init()方法进行初始化) 当服务器正常关闭的时候或项目从服务器中移除的时候,服务器会的调用destroy()方法,将该servlet的对象销毁 ★: 不论访问多少次只有一个servlet对象

单实例,多线程

你可能感兴趣的:(日常总结)