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)

  • 相关阅读:
    八数码难题 (codevs 1225)题解
    小木棍 (codevs 3498)题解
    sliding windows (poj 2823) 题解
    集合删数 (vijos 1545) 题解
    合并果子 (codevs 1063) 题解
    等价表达式 (codevs 1107)题解
    生理周期 (poj 1006) 题解
    区间 (vijos 1439) 题解
    区间覆盖问题 题解
    种树 (codevs 1653) 题解
  • 原文地址:https://www.cnblogs.com/onepeace/p/4901394.html
Copyright © 2011-2022 走看看