• java基础76 web服务器之Tomcat服务器


    (注:本文是以“压缩版Tomcat”为例,展开描述的)

    一、Tomcat服务器的介绍

    1、服务器

    1.1、服务器的种类

    从物理上讲:服务器就是一台pc机器。至少8核/8G以上、内存至少用T来计算、宽带至少是100M网速,才能算得上是一台“还行”的服务器

        web服务器:pc机器安装一个具有web服务的软件,称之为web服务器
        数据服务器:pc机器上安装一个具有数据管理服务的软件,称作为数据库服务器
        邮件服务器:pc机器上安装一个具有发送邮件服务的软件,称之为邮件服务器
         ......

    1.2、市面上常见的web服务软件

        WebLogic:BEA公司的产品---->收费的    支持javaEE的规范
        WebSphere:IBM公司的产品---->收费的    支持javaEE的规范
        JBoss:Redhat公司的产品---->收费的    支持javaEE的规范
        Tomcat:开源组织Apache的产品---->免费的  支持部分的javaEE规范.(servlet,jsp,jdbc,但是ejb,rmi不支持)
        (javase的规范,包含IO流,多线程,集合,Socket编程.....)

    2、Tomcat服务器的基本使用

    2.1、下载并安装

        1.到apache官网:www.apache.org       http://jakarta.apache.org(产品的主页)
        2.tomCat服务器(软件)
            安装版:window(exe,msi)     linux(rmp)
            压缩版:window(rar,zip)     linux(tar,tar.gz)     注:解压后即可使用,无需安装

    2.2、Tomcat软件使用常见问题

      2.2.1.闪退问题
          原因:tomcat软件使用java语言开发的;tomcat软件启动时,会默认在系统的环境变量中查找名称叫JAVA_HOME的变量,这个变量的作用是Tomcat启动所需的jvm
          解决方案:找到环境变量设置JAVA_HOME的变量。  JAVA_HOME=C:Program FilesJavajdk1.7.0_75(注意别配置到bin目录下)
      2.2.2.端口被占用出错问题
          原因:tomcat软件启动所需的端口被其他软件占用!
          解决办法:
              A.把占用该端口号的程序关闭,释放所需端口
              B.修改Tomcat软件所需端口。即:找到并修改Tomcat/cof/server.xml (大概在69行处)
              <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
      2.2.3.CATALINA环境变量问题
          原因:Tomcat软件启动后,除了查找JAVA_MOME后,还会查找一个叫CATALINA_HOME变量,这个变量的作用是设置的根目录
          解决方案:建议不要设置CATALINA变量;检查如果有的话,删除掉

    3、Tomcat服务器的目录结构

            

    二、Tomcat服务器的应用

    1、手动在Tomcat服务器中添加项目

    此项目源码

     1 package com.shore.servlet;
     2 
     3 import java.io.IOException;
     4 import java.io.PrintWriter;
     5 
     6 import javax.servlet.ServletException;
     7 import javax.servlet.http.HttpServlet;
     8 import javax.servlet.http.HttpServletRequest;
     9 import javax.servlet.http.HttpServletResponse;
    10 
    11 /**
    12  * @author DSHORE / 2018-9-7
    13  *
    14  */
    15 public class MyServletOne extends HttpServlet {
    16 
    17     public void doGet(HttpServletRequest request, HttpServletResponse response)
    18             throws ServletException, IOException {
    19         //设置编码
    20         response.setContentType("text/html;charset=UTF-8");
    21         //向客户端写出数据
    22         response.getWriter().write("Hello,小姐姐!");
    23     }
    24 }

      

    web.xml配置文件

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app version="2.5" 
     3     xmlns="http://java.sun.com/xml/ns/javaee" 
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     7   <display-name></display-name>
     8 
     9   <!-- servlet的配置文件 -->
    10   <servlet>
    11     <!--servlet内部名称(类名),可以自定义 -->
    12     <servlet-name>MyServletOne</servlet-name>
    13     <!-- servlet类名:包名+简单类名 --> 
    14     <servlet-class>com.shore.servlet.MyServletOne</servlet-class>
    15   </servlet>
    16 
    17   <!-- servlet的映射配置 -->
    18   <servlet-mapping>
    19     <!-- servlet内部名称(类名),可以自定义,和上面保持一致 --> 
    20     <servlet-name>MyServletOne</servlet-name>
    21     <!-- servlet访问名称:/名称 -->
    22     <url-pattern>/hello</url-pattern>
    23   </servlet-mapping>
    24 </web-app>

    上面的步骤完成后,直接启动Tomcat服务器即可,在浏览器端访问该项目。访问路径(地址):http://localhost:8080/MyServlet/hello        其中localhost是本地的意思,8080是Tomcat服务器的端口号,MyServlet是项目名,hello是web.xml配置文件中设置的访问名

    最终效果图

    2、自动在Tomcat服务器中添加项目(可以算作自动,因为不需要我们手动复制项目到Tomcat服务器中,也不需要手动配置web.xml文件)

    2.1、先在MyEclipse工具中添加Tomcat服务器

    点击Window--->Preferences--->MyEclipse--->Servers--->Tomcat  然后选择你的Tomcat的版本,此处记得要勾选Enable,最后点击Browse...添加你的Tomcat服务器即可。

    2.2、Tomcat添加完后,写个Servlet项目

          

    web.xml配置文件 已自动配置好了,这时 我们只需要写java代码即可

     1 package com.shore.servlet;
     2 
     3 import java.io.IOException;
     4 import java.io.PrintWriter;
     5 
     6 import javax.servlet.ServletException;
     7 import javax.servlet.http.HttpServlet;
     8 import javax.servlet.http.HttpServletRequest;
     9 import javax.servlet.http.HttpServletResponse;
    10 
    11 /**
    12  * @author DSHORE / 2018-9-7
    13  *
    14  */
    15 public class MyServletOne extends HttpServlet {
    16 
    17     public void doGet(HttpServletRequest request, HttpServletResponse response)
    18             throws ServletException, IOException {
    19         //设置编码
    20         response.setContentType("text/html;charset=UTF-8");
    21         //向客户端写出数据
    22         response.getWriter().write("好好学习,天天向上!");
    23     }
    24 }

    2.3、把你的项目加载到Tomcat服务器中,启动即可访问

          

    最终效果图

    原创作者:DSHORE

    作者主页:http://www.cnblogs.com/dshore123/

    原文出自:https://www.cnblogs.com/dshore123/p/9586081.html

    欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

  • 相关阅读:
    [建议]我对博客园的发展的一点想法
    [转载] 理想、激情、生存—— 一位技术管理人员的20年工作经历和感悟
    FIT FOR .NET(3)
    基于真实项目的TDD应用
    [团队公告]博客园的敏捷软件开发团队成立了
    .NET数据访问体系结构指南
    这是不是微软MSN的一个Bug呢?
    抽象工厂的应用
    简单基础的问题,但是非常容易出错.
    VS 2005 Beta2 Team Suite Edtion
  • 原文地址:https://www.cnblogs.com/dshore123/p/9586081.html
Copyright © 2020-2023  润新知