zoukankan      html  css  js  c++  java
  • Tomcat安装与使用

    主要讲解Tomcat的 安装与使用,讲解ubuntu版本和windows。

    下载与安装:

    1)到apache官网。www.apache.org http://jakarta.apache.org(产品的主页)
    2)
    安装版:window (exe、msi) linux(rmp)
    压缩版:window(rar,zip) linux(tar,tar.gz)建议下载压缩版
    3)下载压缩版,解压到本地
    解压后的文件夹如下:windows和linux下都是一样的。
    1

    运行和关闭tomcat

    windows启动软件:

    到/bin目录下找到startup.bat ,双击这个文件
    弹出命令窗口,显示如下:表示运行正常
    2

    ubuntu下启动软件:

    到/bin目录下打开终端,输入命令:./startup.sh
    显示信息如下:
    3

    打开浏览器,输出以下地址

    http://localhost:8080
    显示如下
    4

    关闭软件

    windows下到/bin目录下找到/shutdown.bat,双击这个文件即可!
    ubuntu下在终端输入(在bin目录下):./shutdown.sh

    Tomcat常见问题:

    闪退问题

       原因:tomcat软件是java语言开发的。 tomcat软件启动时,会默认到系统的环境变量中查找一个名称叫JAVA_HOME的变量。这个变量的作用找到tomcat启动所需的jvm。
    windows下:
       解决办法: 到环境变量中设置JAVA_HOME的变量
       JAVA_HOME= C:Program FilesJavajdk1.6.0_30 (注意别配置到bin目录下)
    ubuntu下:
       解决办法:

    $ sudo gedit /etc/environment 
    #在environment中修改PATH,追加JDK路径,添加CLASSPATH与JAVA_HOME后如下:
    export JAVA_HOME=/usr/lib/jvm/jdk8 
    export JRE_HOME=${JAVA_HOME}/jre 
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib PATH="/usr/lib/jvm/jdk8/bin:/usr/local/sbin:/usr/local/bin: /usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
    

    端口占用的错误

       原因: tomcat启动所需的端口被其他软件占用了!
       解决办法:
       a)关闭其他软件程序,释放所需端口
       b)修改tomcat软件所需端口
       c)找到并修改/conf/server.xml文件

      <Connector port="8081" protocol="HTTP/1.1"
                  connectionTimeout="20000"
                  redirectPort="8443" />
    

    Tomcat的目录结构:

    |-bin: 存放tomcat的命令。
    catalina.bat(sh) 命令:
    startup.bat(sh)  -> catalina.bat(sh) start
    shutdown.bat - > catalina.bat(sh) stop
    |- conf: 存放tomcat的配置信息。其中server.xml文件是核心的配置文件。
    |-lib:支持tomcat软件运行的jar包。其中还有技术支持包,如servlet,jsp
    |-logs:运行过程的日志信息
    |-temp: 临时目录
    |-webapps: 共享资源目录。web应用目录。(注意不能以单独的文件进行共享)
    |-work: tomcat的运行目录。jsp运行时产生的临时文件就存放在这里
    

    配置文件的修改:

    server.xml的修改

    端口,和编码的修改:

      <Connector port="8080" #这里修改端口
                 protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443"  URIEncoding="UTF-8" useBodyEncodingForURI="true" #解决大多数中文编码问题/>
    

    修改host主机

     <Host name="localhost"#默认的主机名,这里修改后,还需修改系统的host文件
           appBase="webapps"#默认存放工程的文件夹
                unpackWARs="true" autoDeploy="true">
    

    __修改访问工程的路径__不建议修改:
    打开server.xml,在这个主机中增加一个Context即可
    即可以完成项目发布,之后通过?localhost:8080/hello就可以访问该目录
    5
    Context表示访问的虚拟路径,path表示要访问的网页下文路径,docBase表示要访问的文件夹所在路径,reloadable表示是否在修改之后进行重新启动,如果使用eclipse开发建议设置为false,因为在eclipse中会通过debug进行启动。

    web.xml的修改

    主页的修改

      <welcome-file-list>
            <welcome-file>index.html</welcome-file>#一般创建web项目时默认的主页是index.html index.jsp
            <welcome-file>index.htm</welcome-file>
            <welcome-file>index.jsp</welcome-file>#;你可以修改成你的将你的主页放置在工程根目录就行;
            <welcome-file>hello.jsp</welcome-file>#比如加一个你自己的主页;
        </welcome-file-list>
    

    是否列出列表
    listings表示是否在显示页面时打开文件列表,建议在调试时打开,方便查询一些特殊的网页文件,比如文件名太长的等;

     <servlet>
            <servlet-name>default</servlet-name>
            <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
            <init-param>
                <param-name>debug</param-name>
                <param-value>0</param-value>
            </init-param>
            <init-param>
                <param-name>listings</param-name>
                <param-value>true</param-value>#将此去改为true
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
    

    修改后例子:
    61

    web应用和目录结构:

     |- WebRoot :   web应用的根目录
        |- 静态资源(html+css+js+image+vedio)
        |- WEB-INF : 固定写法。
           |-classes: (可选)固定写法。存放class字节码文件
           |-lib: (可选)固定写法。存放jar包文件。
           |-web.xml
    注意:
    1)WEB-INF目录里面的资源不能通过浏览器直接访问
    2)如果希望访问到WEB-INF里面的资源,就必须把资源配置到一个叫web.xml的文件中。
    
    

    URL简介:

    URL全名叫统一资源定位符,用于定位互联网的资源。
         问题: http://localhost:8080/examples/hello.html
          http://     协议。http协议。
           localhost    域名。为了找到IP地址。
          本地域名: localhost
         外部域名:www.baidu.com
         8080: tomcat默认的端口
         3306:mysql数据库的端口
        1521: orace数据库的端口。
       /examples:   web应用的名称。默认情况下,在webapps目录下找
        /hello.html : 资源名称。
    

    手动开发动态资源(web)

    最简单的例子:

    在Tomcat文件下的webapps/examples 文件下建立一个html的文件,比如我建立了hello.html:

    I am peace
    this is test
    

    运行Tomcat,在浏览器里面输入http://localhost:8080/examples/hello.html.显示如下:
    6

    手动servlet的例子:

    Servlet : 用java语言来编写动态资源的开发技术。
    Servlet类只能交给tomcat服务器运行!(开发者自己不能运行)
    Servlet手动编写步骤:

    1. 导入servlet的jar包:在Tomcat目录的lib文件下:
      7
    2. 编写一个类,继承HttpServlet并覆盖doGet的方法:如下:
    package com.rlovep.servlet;
    import java.io.IOException;
    import java.util.Date;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class Hander extends HttpServlet {
         @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //解决中文乱码问题
     	 resp.setContentType("text/html;charset=utf-8");
     	 //向浏览器输出时间
     	 resp.getWriter().write("这是第一个servlet程序。当前时间为:"+new Date());
        }
    }
    
    1. 在工程目录下找到build文件,将对应类class的字节码(包括包文件)拷贝到:apache-tomcat-8.0.26/webapps/examples/WEB-INF/classes下
      8
    2. 修改/examples/WEB-INF/web.xml的文件:
      增加如下内容:
     <!-- 配置一个servlet程序 -->
    	<servlet>
    		<!-- servlet的内部名称 ,可以自定义-->
    		<servlet-name>HelloServlet</servlet-name>
    		<!-- servlet类名: 包名+简单类名-->
    		<servlet-class>com.rlovep.servlet.Hander</servlet-class>
    	</servlet>
    	<servlet-mapping>
    		<!-- servlet的内部名称,和上面的名称保持一致!!!-->
    		<servlet-name>HelloServlet</servlet-name>
    		<!-- servlet的访问名称: /名称 -->
    		<url-pattern>/hello</url-pattern>
    	</servlet-mapping>
    
    1. 在浏览器中输入:http://localhost:8080/examples/hello.显示如下:
      9
      建立成功

    工具开发动态资源

    1. 创建web project (javaweb工程)ubuntu下是建立Dynamic web project
      2.在WebRoot下建立静态资源文件:index.html
      3.在src下建立动态资源文件
      3.1 new -> Servlet( servlet的代码生成器)
      3.2 写pacakge -> class名 -> 修改mapping url
      10

    2. 启动tomcat服务器

    3. 访问servlet
      主页:http://localhost:8080/HttpProtocl
      11
      servlet:http://localhost:8080/HttpProtocl/Auto
      12

    程序下载地址

    点击这里

    来自一条小鲨鱼(rlovep.com)

  • 相关阅读:
    Serverless
    Kubernetes
    下一代微服务-ServiceMesh
    SOA服务治理
    微服务架构
    RPC之Thrift
    【MySQL】MySQL高可用架构之MHA
    远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
    Redis与Memcached的区别
    LVS简介
  • 原文地址:https://www.cnblogs.com/onepeace/p/4901394.html
Copyright © 2011-2022 走看看