• Tomat服务器学习


    Tomat服务器学习

    使用的是Redhat版本的Tomcat

    目录结构

    QKtZzq.png

    bin:可执行文件

    conf:配置文件

    lib:tomcat运行时依赖的jar包

    logs:日志文件

    temp:临时文件

    webapps:存放web项目,将自己的项目放置在这里的子文件夹里面

    work:存放运行时的数据

    启动

    /bin/startup.bat,我下载的这个redhat版本已经把启动做成了一个.exe文件,叫做tomcat7.exe,双击就可以启动:

    QKtAij.png

    Tomcat默认端口号为8080.浏览器访问本机127.0.0.1:8080(127.0.0.1也可以用“localhost”代替)就能看到页面了:

    QKtmQ0.png

    注意启动之后这个进程不能关掉

    用cmd中的ipconfig查看自己的ip地址可以查看自己的ip,通过内网ip访问

    启动问题分析

    1. 黑窗口一闪而过

      可能原因:没有正确配置JAVA_HOME这个环境变量

      因为Tomcat是用JAVA写的,所以它依赖于JRE环境

    2. 启动报错

      可能原因:

      1. 端口号被占用

        可能原因:启动了两次,或者被其他程序占用

        解决方法:找到占用端口号的进程并杀死,或者修改自身端口号

        • 杀死进程

        找到占用端口号的程序:windows和linux不一样,即用即查

        windows任务管理器默认不显示PID,需要设置一下:

        QKtnyV.png

        • 修改默认端口号

          修改conf/server.xml下的Connector标签的port属性以及其他所有涉及到的并且被占用的端口

    关闭

    有正常关闭和强制关闭

    正常关闭:像我这个Redhat版本的,直接ctrl+c就关闭了

    强制关闭:直接把进程关掉,后续处理程序没有完成(在redhat这个版本,即使是直接关掉窗口,也会做完后续操作)

    部署项目

    有三种方式:

    1. 直接将项目放到webapps目录下

      访问项目:/<项目名称/项目下的文件名称>

      也可以简化,使用war包!

      什么是war包呢?

      来源: https://www.jianshu.com/p/3b5c45e8e5bd

      war包是Sun提出的一种web应用程序格式,与jar类似,是很多文件的压缩包。

      war是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以Tomcat来说,将war包放置在其webapps目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。

      将项目打包为war包之后放到webapps这个目录下,tomcat会自动将其解压,相当于就完成了项目的部署。部署之后war包依然在。

      同样的,当我们删除war包之后,对应的项目也会被删除!相当于快捷地删除了项目

    2. 这种方式不需要将项目真正地拷贝到webapps目录下

      在conf/server.xml文件中输入以下配置内容:

      <Context docBase="<项目的路径>"  path="<虚拟目录,也就是访问的时候URL中的目录>"/>
      
    3. 第二种这种在全局配置文件中进行修改的方式有风险,容易把进程搞垮,这种方式对其进行了改进:

      在Tomcat目录的的conf/Catalina/localhost目录下创建一个xml文件,把我们在方法2中的内容写到这里,但是不要path:此时,虚拟目录就是这个xml文件的名称。这是最推荐的部署方式:

      1. 热部署:修改这个xml文件不需要重启服务器进程
      2. 不需要拷贝内容到文件夹,添加项目只需要一行
      3. 项目的删除直接注释就好,有记录

    项目的目录结构

    静态项目和动态项目

    静态项目只能放静态内容(htmlcssjs图片文本等),动态项目可以放动态资源(servletjsp等等)

    java项目的目录结构

    -- 项目根目录

    ​ --WEB-INF目录,只有动态项目有

    ​ --web.xml:web项目的核心配置文件

    ​ --classes目录:放置字节码文件的目录

    ​ --lib:放置依赖的jar包

    ​ ---静态资源

    将Tomcat集成到IDEA中

    run/Edit Configuration/Defaults/Tomcat Server/Local(本地的Tomcat服务)

    创建一个JavaEE的Web项目

    热部署:在上面的配置窗口中,修改on update action和on frame deactivation为update resources,这样修改了资源文件之后就会重新部署,不需要手动重启服务器,直接就可以访问

    另外:

    1. IDEA会为每一个tomcat部署的项目单独建立一份配置文件,配置文件的地址在控制台中可以看到

      QNzrF0.md.png

    2. 项目部署后存放的位置是项目下的outartifacts下面,关于这一点可以看第一点中说的配置文件的xml,里面有写

      我们在编写项目的时候往web文件夹下放资源,部署之后其下所有的内容会被拷贝到out文件夹

    3. WEB-INF下的文件不能被浏览器直接访问,就是说,即使我们输入了路径也没办法访问:

      QNz0wn.png

      所以我们一般不要把资源放到WEB-INF下

    4. 另外,WEB-INF目录下的classes存放的就是我们servlet类编译的字节码文件

    5. 断点调试:以调试的形式启动并部署,然后去访问要debug的资源

  • 相关阅读:
    druid-1.0.13 数据库配置文件密码加密
    PostConstruct注解
    easyui formatter 返回easyui组件
    小师妹问 easyUI mergeCells 行合并后表头和内容对不齐
    Java Split以竖线作为分隔符
    Integer比较值的时候小心使用
    js 关键字 in
    Asp.net中防止用户多次登录的方法
    C#取得站点跟目录
    解读支付宝接口实现步骤
  • 原文地址:https://www.cnblogs.com/jiading/p/11974935.html
Copyright © 2020-2023  润新知