Tomcat

Tomcat

1. 概念

  1. JavaWeb是基于请求响应来开发的。

    请求?是指客户端给服务器发送数据,Request

    响应?是指服务器给客户端回传数据,Response

    关系?它们是成对出现的

  2. Web资源的分类?

    按照技术和呈现的效果不同,分为静态和动态两种。

    静态资源:html页面,css样式,js代码,text文本,mp4视频,jpg图片…

    动态资源:jsp页面,servlet程序…

  3. 常用的Web服务器?

    Tomcat ⭐:由Apache组织提供的,开源免费,提供对jsp和servlet的支持,是一种轻量级的JavaWeb容器(服务器)

    Jboss:遵循JavaEE规范,开源免费,纯Java的EJB服务器,支持所有的JavaEE规范

    GlassFish:是Oracle公司的,强健的商业服务器,达到产品级重量(收费,应用不多)

    Resin:是CAUCHO公司的,也流行,也对提供对jsp和servlet的良好支持,性能比较优良,Java语言开发(收费,应用较多)

    WebLogic:是Oracle公司的,收费中应用最广泛的Web服务器,支持JavaEE,还在不断完善,适合大型项目(收费,用的不多,适合大公司)

  4. Tomcat服务器和Servlet版本的对应关系

    TomcatServlet/JSPJavaEE运行环境
    7.03.0/2.26.0JDK6.0
    8.03.1/2.37.0JDK7.0

    一般企业都是用 7.0/8.0 版本

    Servlet程序2.5版本是现在市面使用最多的版本(xml配置)。到了3.0之后,就是注解版本的Servlet使用了


2. Tomcat安装

官网找到对应版本下载解压就行,官网:Apache Tomcat® - Welcome!

目录结构:

  • bin 目录:存放tomcat服务器的可执行程序

  • conf目录:存放tomcat服务器的配置文件

  • lib目录:存放tomcat服务器jar包,对JavaEE规范的实现类

  • logs目录:存放tomcat服务器运行时输出的日记信息

  • temp目录:存放tomcat服务器运行时产生的临时数据

  • webapps目录:存放部署的web工程。一个目录一个工程

  • work目录:是tomcat服务器工作时的目录,用来存放tomcat运行时jsp翻译为Servlet的源码和Session动画的目录


3. 启动/停止

启动Tomcat服务器?

  1. 找到tomcat/bin/startup.bat 双击打开

  2. 打开命令行,cd到Tomcat的bin目录下,敲 catalina run

  3. 测试是否启动成功? 在浏览器中输入 http://localhost:8080 出现🐱就说明启动成功

    启动不成功可能是JAVA_HOME环境变量没配置好

停止Tomcat服务器?

1.关闭启动时的那个窗口,直接点❌ ,或者 ctrl + c

2.找到tomcat/bin/shutdown.bat 双击!


如何修改Tomcat端口号?

默认端口号是8080,tomcat/conf/server.xml, 打开找到Connector标签,修改port属性就行了(范围1-65535)

插曲:http协议默认端口号是80,写不写都是80,例如http://www.baidu.com:80


4. 部署工程

  1. 第一种:只需要整个web工程的目录拷贝到 tomcat/webapps/ 目录下即可。

    如何访问我们的工程?输入http://localhost:8080/项目名

    http://localhost:8080是到webapps目录下,/项目名是到我们的工程(默认访问项目下的 index.html

    把localhost改为本机的ip,这样所有人都能访问这个页面了,http://192.168.177.xxx:8080/mybook/index.html

  2. 第二种:tomcat/conf/Catalina/localhost 在这个目录建立一个xml文件,例如abc.xml,里面写:

    <!-- path代表工程的访问路径
    	 docBase代表你的工程目录在哪里 (使用这种方式,工程就不用放到webapps里面了)
    	 输入:http://localhost:8080/abc  ->  代表访问docBase中的项目(默认访问index.html)
    -->
    
    <Context path="/abc" docBase="D:\book" />
    

    ROOT工程的访问?以及默认 index.html页面 的访问??

    当输入 http://ip:port/ 没有输入工程名时,默认访问ROOT工程,默认是那个🐱头

    同时当输入 http://ip:port/工程名 没有输入资源名时,默认访问工程中的 index.html 页面


把文件直接拖到浏览器打开,和在浏览器输入 http://ip:prot/工程名 访问有什么区别

  1. 手托html页面到浏览器,浏览器显示 file://D:/工程名/资源名 ,是file协议,表示告诉浏览器直接读取file协议后面的路径,解析展示在浏览器上即可,完全不走网络。

  2. 后者,浏览器显示http://ip:port/工程名/资源名 ,是http协议,背后的原因和前者完全不同。客户端(浏览器)请求发给服务器,服务器收到请求后,读取你要访问的资源文件,然后回传给客户端的页面内容,客户端(浏览器)得到资源文件/页面内容,解析展示在浏览器上


5. IDEA整合Tomcat服务器

(作者用的是IDEA2020.1版本)

整合:

File | Settings | Build, Execution, Deployment | Application Servers | +号 添加 Tomcat Servers,选中当初解压的路径到 apache-tomcat-8.5.73 就行了

创建的工程的适合就能选中服务器了

File | New | Project | Java Enterprise | Application Servers选择你需要的服务器 | Next


6. IDEA创建动态WEB工程

创建工程/创建模块 -> 选择JDK,JavaEE,Application Servers的版本 -> 下面勾选上 Web Application

动态WEB工程目录介绍:

工程/web 目录:存放web工程的资源文件,例如html页面,css文件,js文件…

工程/web/WEB-INF 目录:是受服务器保护的目录,浏览器无法直接访问到此目录的内容

工程/web/WEB-INF/web.xml: 它是整个web工程的配置部署描述文件,可以在这里配置很多web的组件,例如Servlet程序,Filter过滤器,Listener监听器,Session超时…

我们习惯在工程/web/WEB-INF 目录下,创建一个lib目录,专门存放第三方的jar包,记得Add library

工程/src 目录:存放自己编写java源代码


7. 将在IDEA创建的WEB部署

  1. 右上角,点锤子右边的那个矩形🐱,点Edit Configurations -> Name(修改web工程对应的Tomcat运行实例名称,要不然多个工程就分不开了,建议和当前模块名/工程名一致)

  2. Edit Configurations -> Deployment (在Name下面), 可以修改当前Tomcat运行实例跑的web工程(可以将需要部署的web工程添加/删除到Tomcat运行实例中),

    最下面是它默认生成的工程路径。Application context :/dynamicobject_war_exploded,一般改为和模块名/工程名一致,即/dynamicobject

  3. Edit Configurations -> Service (在Name下面),Service 的里面的 url 是启动Tomcat运行实例时默认打开访问的地址,里面的 On frame deactivation 可以改为 update classes and resource(热部署),当页面发送变化时,刷新就会看到。

  4. 点右上角绿色的箭头 启动Tomcat运行实例(启动后自动访问上面那个url地址),点红色方块是 停止运行实例

  5. 运行后,有个循环的箭头是重启,有下面四个选择:

    • update resource 是更新web工程中的资源到Tomcat运行实例中
    • update classes and resource 是更新资源和Class字节码。前面两个都是热部署
    • Redeploy是重新部署web模块,但不重启Tomcat运行实例
    • Restart Service重启Tomcat实例,并更新web模块内容
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值