• Tomcat使用,部署


    Tomcat服务器基本使用

    web服务软件,也叫web服务器软件,web服务器。

    基本使用

    1)下载

    apache官网下载。 http://www.apache.org

     安装版本:window  exe程序 msi。  linuxrpm

     压缩版本:  window zip  rar   linux  zip tar.gz     (学习使用)

    2)直接压缩可用!启动软件。关闭软件

     启动软件的步骤

    a)找到%tomcat%/bin/startup.bat命令,双击次命令

    b)弹出窗口,停止不动

    c)打开浏览器输入:

    http://localhost:8080/

       d)看到一只猫页面

    关闭软件:

    1)关闭窗口即可

    2)双击%tomcat%/bin/shutdown.bat

    启动tomcat服务器时遇到的问题

    1)双击闪退

    原因:tomcat软件是用java语言。运行需要jvmjdk内包含jvmtomcat运行时通过JAVA_HOME的系统环境变量查找jdk的。

    解决办法: 自行配置一个JAVA_HOME的环境变量

    JAVA_HOME= C:Program FilesJavajdk1.6.0_30  (注意:不要配置到bin目录下)

    2)端口占用

    原因:操作系统上有其他软件已经占用了tomcat软件启动时需要的端口(8080)。

    解决办法:

    a)关闭其他软件的进程

    b)修改tomcat启动时需要的端口

    找到%tomcat%/conf/server.xml文件

    修改以下内容:

    <Connector port="8081" protocol="HTTP/1.1"

                   connectionTimeout="20000"

                   redirectPort="8443" />

    3CATALINA_HOME环境变量问题

    原因:tomcat软件首先通过JAVA_HOME找到jdk,然后通过CATALINA_HOME环境变量加载tomcat的资源文件,最后启动成功。

    解决问题: 建议不要去配置CATALINA_HOME

    体验tomcat服务器作用

    把本地资源共享给外部访问。

    规则:把本地资源放到%tomcat%/webapps目录下,就可以共享给外部。且资源文件需要放到一个目录中,不能单独以一个文件形式共享。

    URL

    http://localhost:8080/myweb/test.html   统一资源定位符

    http://     协议。http协议。

    localhost   域名。本地域名。

    外部域名: www.baidu.com

    http协议执行过程:

    1)查找本地hosts文件(c:/windows/system32/drivers/etc/hosts

     ip地址  域名

    找是否存在一个域名对应的ip地址

    2)如果找到,进入对应的ip地址的PC机器。

    3)如果找不到,继续连接网络,到网络运营商的DNS服务器查找是否存在一个域名对 应的IP地址

    4)如果找到,则进入对应的ip地址的PC机器

    5)如果找不到。域名错误

     8080    端口。

    8080tomcat软件监听的端口

    3306mysql数据库软件的端口

    80 : 默认端口。访问此端口可以省略端口号不写。

             myweb   web应用的目录名称(俗称网站名称)

    test.html   资源名称(文件名称)

    tomcat服务器的目录结构

    |-bin  存在tomcat软件的命令。有两个操作系统的命令  

    startup.bat/sh       catalina.bat start

    shutdown.bat/sh     catalina.bat stop

    |-conf  存放tomcat软件的配置文件。其中server.xml是核心的配置文件。

    |-lib:   存在支撑tomcat软件运行的jar包。

    |-logs:  存放日志文件

    |-temp: 存放临时文件

    |-webapps:  存放所有的web应用(网站)。注意:一个web应用不能以单独一个文件存在!!!

    |-work  : 存放tomcat的运行文件,例如jsp文件运行过程中产生的临时文件。

      

    web应用(网站)的目录结构

    |-WebRoot  网站的根目录(一定有)

    |-静态文件(html+css+js)  文件

    |-WEB-INF  目录。(名称固定的)注意,WEB-INF目录下的文件是不能直接被访问的!!

    |-classes  目录,名称固定的。存在class字节码文件

    |-lib     目录,名称固定的。存在jar包,但不能存在子目录

    |-web.xml   文件。名称固定的。用于描述WEB-INF下的资源。网站描述文件。

    如果要访问WEB-INF目录下的资源文件,需要在web.xml文件中进行配置,配置以后才可以被访问!

    如何部署web应用

    1.webapps目录(学习时使用)

    web应用直接拷贝到%tomcat%/webapps目录下即可!!

    ROOT是默认网站,访问默认网站是不需要网站名称的。

    设置欢迎首页:访问欢迎首页不需要文件名称。

    配置web.xml文件

    <?xml version="1.0" encoding="utf-8"?>

    <web-app xmlns="http://java.sun.com/xml/ns/javaee"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

       version="2.5">

    <!--设置欢迎首页 -->

    <welcome-file-list>

    <welcome-file>news.html</welcome-file>

    </welcome-file-list>

    </web-app>

    2 虚拟web应用(虚拟网站)

    好处:可以让tomcat软件和web应用分离

    配置server.xml文件:

    <Host name="localhost"  appBase="webapps"

                unpackWARs="true" autoDeploy="true"

                xmlValidation="false" xmlNamespaceAware="false">

            <!-- SingleSignOn valve, share authentication between web applications

                 Documentation at: /docs/config/valve.html -->

            <!--

            <Valve className="org.apache.catalina.authenticator.SingleSignOn" />

            -->

            <!-- Access log processes all example.

                 Documentation at: /docs/config/valve.html -->

            <!--

            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  

                   prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>

            -->

    <!-- 配置虚拟web应用

    docBase: 表示web应用的绝对路径

    path: 表示访问该web应用的名称

    -->

    <Context docBase="C:mybbs" path="" />

          </Host>

    注意: 如果Context中也配置成默认应用,则Context的应用优先于ROOT的网站作为默认网站。

    3 添加独立的xml文件配置虚拟web应用(上线使用)

    好处:比直接修改server.xml风险低

    找到%tomat%/conf/Catalina/localhost目录下,建立一个xml文件。如gzitcast.xml

    内容如下:

    <?xml version="1.0" encoding="utf-8"?>

    <!-- docBase: web应用的绝对路径,

        访问web应用的名称就是xml的文件名 -->

    <Context docBase="C:mybbs"/>

    如何开发动态资源

    静态网站: 只有静态资源(html+css+js+images)的网站。

    动态网站: 既有静态资源,也有动态资源的网站。

    静态资源:当用户多次访问该资源时,资源的源代码永远不会发送改变的资源。

    动态资源:当用户多次访问该资源时,资源的源代码可能会发生改变的资源。

          Servlet技术:使用java语言开发动态资源的技术!!

    特点:

    1Servlet就是一个普通的java类,继承HttpServlet

    2servlet交给tomcat服务器运行!!!!

    ==============开发第一个servlet程序:=======================

    1)编写一个servlet类,继承HttpServlet

    /**

     * 第一个Servlet

     * @author APPle

     *

     */

    public class HelloServlet extends HttpServlet{

    /**

     * 向浏览器输入内容

     */

    @Override

    protected void doGet(HttpServletRequest req, HttpServletResponse resp)

    throws ServletException, IOException {

    resp.getWriter().write("current time:"+new Date());

    }

    }

      2)把servlet程序交给tomcat服务器运行!!!

    2.1 servletclass字节码文件拷贝到一个web应用的WEB-INF/classes目录下

    2.2 在这个web应用的web.xml文件中配置servlet

    <?xml version="1.0" encoding="utf-8"?>

    <web-app xmlns="http://java.sun.com/xml/ns/javaee"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

       version="2.5">

    <!--配置servlet -->

    <servlet>

    <!-- servlet的内部名称-->

    <servlet-name>HelloServlet</servlet-name>

    <!--servlet类的位置: 包名+简单类名 -->

    <servlet-class>gz.itcast.c_servlet.HelloServlet</servlet-class>

    </servlet>

    <servlet-mapping>

    <!-- servlet的内部名称-,和上面的名称保持一致 -->

    <servlet-name>HelloServlet</servlet-name>

    <url-pattern>/hello</url-pattern>

    </servlet-mapping>

    </web-app>

    3)访问servlet

    http://localhost:8080/gzitcast/hello

  • 相关阅读:
    Ext js必包含的几个文件
    设计模式之三:装饰者模式(简单实现(星巴兹咖啡))
    SQLSERVER排查CPU占用高的情况
    函数题练习52找两个数中最大者
    函数题练习53数字金字塔
    JavaScript面向对象tab栏增删改查操作
    JavaScriptObject.defineProperty方法
    Javascript面向对象迭代forEach、some、filter方法以及查询商品案例
    函数题练习51符号函数
    Javascript构造函数和原型
  • 原文地址:https://www.cnblogs.com/Coolkaka/p/5931941.html
Copyright © 2020-2023  润新知