Tomcat配置和部署

1.简介

        Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet JSP
支持,并提供了作为 Web 服务器的一些特有功能,如 Tomcat 管理和控制平
台、安全域管理和 Tomcat阀等。它本身内含了一个HTTP服务器。也可以视它为一个单独的Web服务器。ApacheHTTP 服务器是一个用 C 语言实现的 HTTP Web 服务器,和Tomcat不是一个概念

Tomcat:web服务器软件
    1.安装:安装目录建议不要有空格
        ①先选择jre的路径

        -1的端口号改成其他的,比如8088、8081
        ②再选择安装路径
    2.卸载:直接删除目录就行
    3.启动:
        *bin/startup.bat 双击运行该文件即可
        *访问:浏览器输入:http://localhost:8080 回车访问自己
                                          http://别人的IP:8080 访问别人

         可能遇到的问题:
         1.黑窗口一闪而过:
                     原因:没有正确配置JAVA_HOME环境变量
                     解决方案:正确配置JAVA_HOME环境变量
         2.启动报错:
             ①暴力:找到占用的端口号,并且找到对应的进程,结束该进程 netstat -ano
             ②温柔:修改自身的端口号
                        conf/serveer.xml
                        <Connector port="8888" protocol="HTTP/1.1"
                          connectonTimeout="20000"
                          redirectPort="8445" />

                (一般会将Tomcat的默认端口号修改为80。80端口号是HTTP的默认端口号)
                好处:在访问时,就不用输入端口号
     
  3.启动乱码:
                ①DOS窗口查看系统编码:chcp 会看到一个数字代码,一般都是936
                ②在Tomcat安装目录下:conf->logging.properties 把utf-8改成
GBKGB2312(对应系统编码936)。可以把所有的utf-8都改了,也可以只改第47行就行:

    4.关闭:
                1.正常关闭:
bin/shutdown.bat
                                      ctrl+c
               
2.强制关闭:直接关闭启动窗口
    5. 配置  (部署项目的方式):
               
①直接将项目放到webapps目录下即可
                        */hello:项目的访问路径--->虚拟目录
                        *简化部署:将项目打成一个war包,再将war包放置到wbapps目录下。(war包会自动解压缩)
               
②配置conf / server.xml文件
                        在<Host>标签体中配置
                        <Context docBase="D:\hello" path="/hehe" />
                        docBase:项目存放路径
                        path:虚拟目录
               
③在conf \ Catalina \ localhost创建任意名称的XML文件。在文件中编写<Context docBase="D:\hello" />
                虚拟目录:XML文件的名称

注意点:
1.配置Tomcat的时候,Deployment下面的Artifact是编译好的项目源代码
2.Tomcat下面的webapps文件很重要,存放的是这个Tomcat服务器上面的资源,对资源进行了url映射,ROOT文件夹是Tomcat的根目录,我们在idea里面编译好的war包,就存放在这个webapps目录的ROOT文件夹下面,但是idea为我们虚拟化了一个Tomcat,我们对这个Tomcat做的操作不会影响到实际的Tomcat目录。
3.jar和war:普通的java项目打包成jar
war:因为一个web项目是没有man方法的所以不能像jar那样去打包,只能打成war包。 

    6.解决端口冲突问题
1.查看端口占用
        在windows命令行窗口下执行:
         netstat -ano | findstr "8080" 
       找到占用127.0.0.1:80的PID(进程号),查看端口“8080”被哪个应用占用,执行命令:
        tasklist | findstr "PID(进程号)"
2.关闭进程
        ①按进程号关闭进程
            taskkill /pid xxxx  (如需强制关闭加:-f)
            有多个时格式为:taskkill /pid xxx /pid xxx
        ②按进程名关闭进程
            taskkill /im 进程名(如:notepad.exe)
            指定多个的时候格式为:
taskkill /im notepad.exe /im java.exe
            如果要关闭所有的,则使用通配符*:taskkill /im *.exe
        ③有提示的关闭进程(有提示框,使用者确定后关闭)
            taskkill /t /im 进程名 
            taskkill /t /pid 进程号
        ④强行终止进程
            taskkill /f /im 进程名
            taskkill/f /pid 进程号
3.端口状态
①LISTENING状态(FTP服务启动后首先处于侦听状态)

②ESTABLISHED状态 (ESTABLISHED意思是建立连接,表示两台机器正在通信)
③CLOSE_WAIT(对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成该状态,我方要调用close()来使得连接正确关闭)。
④TIME_WAIT(我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。
        目前有一种避免TIME_WAIT资源浪费的方法,就是关闭socket的LINGER选项。但这种做法是TCP协议不推荐使用的,在某些情况下这个操作可能会带来错误。)
⑤SYN_SENT状态(SYN_SENT状态表示请求连接,当你要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为ESTABLISHED,此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出,那你的机器可能中了冲击波或震荡波之类的病毒了。这类病毒为了感染别的计算机,它就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出了同步请求,这也是出现许多SYN_SENT的原因。

7.Tomcat目录结构
1)bin:

bin目录主要是用来存放Tomcat的命令,主要有两大类,一类是以.sh结尾的(Linux命令),另一类是以.bat结尾的(windows命令)。
startup 用来启动Tomcat
shutdown 用来关闭Tomcat
修改catalina可以设置Tomcat的内存
2)conf
conf目录主要用来存放Tomcat的一些配置文件。

server.xml可以设置端口号、域名或IP、默认加载的项目、请求编码
web.xml可以设置Tomcat支持的文件类型,是每个web应用中web.xml文件的父类。
context.xml可以用来配置数据源之类的
tomcat-users.xml 用来配置管理tomcat的用户与权限
catalina目录下可以设置默认加载的项目
3)lib
lib目录主要用来存放tomcat运行需要加载的jar包
4)logs
目录用来存放tomcat在运行过程中产生的日志文件,非常重要的是在控制台输出的日志。
在windows环境中,控制台的输出日志在catalina.xxxx-xx-xx.log文件中
在Linux环境中,控制台的输出日志在catalina.out文件中

5)temp
用户存放tomcat在运行过程中产生的临时文件。
6)webapps
用来存放应用程序。当tomcat启动时会去加载webapps目录下的应用程序。可 以文件夹、war包、jar包的形式发布应用。
7)work
用来存放tomcat在运行时的编译后文件。

创建动态web项目
(在一个项目中:file->new->moudle->Java Enterprise->Web Application打钩->next)
目录介绍

src:存放自己编写的java源代码
web目录:专门用来存放web工程的资源文件(HTML、CSS、js文件等)
WEB-INF:是一个受服务器保护的目录,浏览器无法直接访问到此目录的内容
web.xml:它是整个动态web工程的配置部署描述文件,可以在这配置很多web工程的组件,比如:Servlet程序、Filter过滤器、Listener监听器、Session超时。。。等。

修改资源热部署
配置Tomcat窗口下的On frane deactivation选择:Update classes and resources。目的是在web.xml文件中做的页面修改在浏览器页面直接刷新就可以看到效果,不需要重新启动项目。
 

Wb服务器,Servlet容器和Servlet

web服务器
使用HTTP协议来传输数据。简单方式就是用户在浏览器端通过url获取网页,服务器的工作就是接收到这个url,然后将网页发送到浏览器,传输过程遵循HTTP协议,它指明了请求消息和响应消息的格式。(服务器就是将一台主机上的资源通过url映射提供给外界进行访问

Servlet容器
基本思想是在服务器端用java来动态生成网页。因此,Servlet容器是web服务器和Servlet进行交互的必不可少的组件。

Servlet (Servlet技术_01)

Servlet容器和web服务器如何处理一个请求?
①web服务器接收到HTTP请求
②web服务器将请求转发给Servlet容器
③如果容器中不存在所需的Servlet,容器就会检索servlet,并将其加载到容器的地址空间中,
④容器调用Servlet的init()方法对servlet进行初始化(只调用一次)
⑤容器调用servlet的service()方法来处理HTTP请求,即,读取请求中的数据,创建一个响应。servlet会被保留在容器的地址空间中,继续处理其他的HTTP请求。
⑥web服务器将动态生成的结果返回到正确的地址。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值