zoukankan      html  css  js  c++  java
  • Tomcat服务器

    概述

    不论是我们一开始做的java桌面程序、控制台程序以及socket gui界面程序(这个我还没学),都是服从Javase规范的。接下来我们要学习的将是Javaweb程序,服从javaee规范。
    目前的软件有两种,一是C/S(客户端—服务器)模式,向像我们常用的QQ这一类的软件,这类软件要求我们必须下载客户端,而且还随着服务器的迭代而升级。另外一种就是B/S(浏览器–服务器)模式,比如你现在浏览的CSDN我的博客,也就是大多数的网站都是这种模式的,所以我们只需要有一个浏览器就行了。而且有一个和C/S程序相反的优点,就是我们不必在服务器升级之后升级浏览器了。
    Javaweb的程序就是B/S结构的。

    服务器端

    什么是服务器?

    • 从物理的概念上来讲,服务器就是一台PC机,但是配置相对较高

    • 具有什么功能的服务器就称作什么服务器,比如邮件服务器,web服务器

    web服务软件

    web服务软件的作用

    作用:把本地资源共享给外部进行访问

    网络通讯的基础

    网络通讯的基础是:网络通讯的数据和具体的开发语言无关

    常见的web服务器

    WebLogic: BEA公司的产品       收费   支持JavaEE规范。
    WebSphere: IBM公司的产品     收费   支持JavaEE规范
    JBoss: Redhat公司的产品       收费的  支持JavaEE规范
    Tomcat: 开源组织Apache的产品  免费   支持部分的JavaEE规范。(支持servlet、jsp、jdbc,但ejb, rmi不支持)

    Tomcat

    中小型软件开发,用Tomcat足够我们使用了,而且还是免费的。
    下载安装完成Tomcat后,我们来学习一下如何启动和关闭Tomcat。

    1.启动:
    %tomcat%/bin/startup.bat,双击启动,在浏览器中输入http://localhost:8080时出现Tomcat(一只猫)的画面。启动成功。
    2.关闭:
    %tomcat%/bin/shutdown.bat双击关闭

    常见的问题

    • 闪退
    tomcat软件是java语言开发的。,tomcat软件启动时,会默认到系统的环境变量中查找JAVA_HOME的变量。这个变量的作用是找到tomcat启动所需的jvm
    解决办法; 到环境变量中设置JAVA_HOME的变量JAVA_HOME= C:Program FilesJavajdk-xxx(注意不要配置到bin目录下)
    
    • 端口占用的错误
    原因: tomcat启动所需的端口被其他软件占用了
    解决办法: 
        a)关闭其他软件程序,释放所需端口
        b)修改tomcat软件所需端口
           找到并修改%tomcat%/conf/server.xml文件
            <Connector port="8081" protocol="HTTP/1.1" 
              connectionTimeout="20000" 
              redirectPort="8443" />
    
    • CATALINA环境变量问题
    原因: tomcat软件启动后,除了查找JAVA_HOME后,还会再查找一个叫CATALINA_HOME变量,这个变量的作用是设置tomcat的根目录,不配置的话自动找到原本的目录
    解决办法:建议不要设置CATALINA_HOME变量。检查如果有的话,清除掉
    

    webapps
    如果你想了解一下Tomcat的使用,那么你就可以将需要共享到网络上的资源文件放在webapps文件夹中(一个文件不能共享,必须将文件放进一个文件夹中)

    Tomcat目录结构

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

    Web应用的目录结构

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

    开发动态资源

    • 静态资源:当用户多次访问这个资源,资源的源代码永远不会改变的资源
    • 动态资源:当用户多次访问这个资源,资源的源代码可能会发生改变的资源

    动态资源开发技术

    • Servlet : 用java语言来编写动态资源的开发技术
      特点:
    1)普通的java类,继承HttpServlet类,覆盖doGet方法
    2)Servlet类只能交给tomcat服务器运行(开发者自己不能运行)(重要)
    • 手动编写步骤
    //1)编写一个servlet程序,继承HttpServlet
    public class HelloServlet 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());
        }
    }
    //2)找到HelloServlet类的class字节码,然后把拷贝到tomcat的一个web应用中WEB-INF/classes目录下
    
    //3)在当前web应用下的web.xml文件配置Servlet
    <!-- 配置一个servlet程序 -->
        <servlet>
            <!-- servlet的内部名称 ,可以自定义-->
            <servlet-name>HelloServlet</servlet-name>
            <!-- servlet类名: 包名+简单类名-->
            <servlet-class>gz.itcast.d_servlet.HelloServlet</servlet-class>
        </servlet>
    
        <servlet-mapping>
            <!-- servlet的内部名称,和上面的名称保持一致!!!-->
            <servlet-name>HelloServlet</servlet-name>
            <!-- servlet的访问名称: /名称 -->
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>
    //(4)启动tomcat服务器,运行访问
        访问servlet:  http://localhost:8080/myapps/hello
    
    • 工具开发步骤(Myeclipse)
    1)创建web project (javaweb工程)
    2)在WebRoot下建立静态资源文件,
    3)在src下建立动态资源文件
          3.1 new -> Servlet( servlet的代码生成器)
          3.2 写pacakge  -> class名 -> 修改mapping  url 
    4)关联tomcat服务器
        4.1 window-> Preferences - > MyEcplise -> servers -> Tomcat 6.x (注意一定要enable)
    
    5)部署web project应用。(拷贝web应用到tomcat的webapps目录下)
    6)启动tomcat服务器
    7)访问servlet         
    

    下面这个链接是用idea创建Javaweb项目的过程:IntelliJ IDEA 创建Web项目(全教程)

  • 相关阅读:
    微信小程序之文件(图片)使用MD5加密(二)
    微信小程序之文件(图片)使用MD5加密(一)
    02-Django简介
    01-Web框架的原理
    15-pymysql模块的使用
    06-数据类型
    05-表的操作
    04-库的操作
    03-初始mysql语句
    02-MySql安装和基本管理
  • 原文地址:https://www.cnblogs.com/roobtyan/p/9576718.html
Copyright © 2011-2022 走看看