web服务器-Tomcat介绍

来源:互联网 发布:列式数据库 olap 编辑:程序博客网 时间:2024/06/04 23:33
把页面放到web项目中,再把web项目放到web服务器里面,让通过浏览器输入对应的url地址,就能访问到这个html页面了
一、web服务器 -  tomcat  一种服务器软件
        tomcat运行需要依赖本地安装的JDK
            1.自己手动启动tomcat服务器
                必须安装JDK,并且配置JAVA_HOME环境变量
                例如:
                JAVA_HOME=C:\Program Files\Java\jdk1.7.0_79
            2.把tomcat和Eclipse关联起来,然后使用Eclipse来管理tomcat
        tomcat服务器运行的时候,需要占用一些端口号
            默认监听的http协议的端口为8080,一般会把这个端口号修改为别的值
            3.tomcat服务器中的目录结构
            bin目录 存放运行tomcat需要的命令文件(Unix和wondows的都有)
                windows中: 双击运行即可
                    启动服务器 startup.bat
                    关闭服务器 shutdown.bat 
                Unix中:(需要注意文件的权限)
                    启动服务器 startup.sh
                    关闭服务器 shutdown.sh             
            conf目录 存放tomcat相关的配置文件
                其中最重要的一个配置文件就是server.xml ,比如: tomcat服务器的端口号就是在这里配置的             
            lib目录     存放项目运行时需要的jar包
                这个目录的jar包是公共的jar包,tomcat服务器可以同时部署多个web项目,这个多个项目就可以共享这些jar包了             
            logs目录 存放tomcat运行时的日志文件
                tomcat会把运行时的重要信息记录下来,比如tomcat中部署的web项目发生了严重错误             
            temp目录 存放tomcat运行时产生的临时文件
                tomcat在运行期间,有时会产生一些临时文件,这些文件默认放到这里目录下             
            webapps目录 存放web项目的位置
                把web项目服务到tomcat服务器中,其实就是把项目放到这个目录下面
            work目录 和jsp页面相关的目录
                jsp,tomcat的工作原理是当浏览器访问某个jsp页面时,tomcat会在work目录里把这个jsp页面转换成.Java文件,比如将index.jsp转换为index_jsp.java文件,而后编译为index_jsp.class文件,最后tomcat容器通过ClassLoader类把这个index_jsp.class类装载入内存,进行响应客户端的工作。
二、web项目     
    web项目的目录结构是固定的
        1.web项目的名字就是web项目的文件夹
            例如:新建一个web项目,名字为Web_Test
            对应的,就要创建一个文件夹,名字为Web_Test         
        2.Web_Test文件夹下面,必须要有一个固定的文件夹:WEB-INF         
        3.Web_Test文件夹下面,除了WEB-INF之外,其他的文件夹都可以随意的创建,将来这些地方就可以存放web项目中的,html页面、css样式、js脚本、各种项目用的图片等资源(这些都叫web资源,通过浏览器访问web项目,就是来访问这个web资源)
        4.WEB-INF文件夹下面,有俩个固定的文件夹和一个固定的文件
            文件夹:classes  lib
            文件  :web.xml  
        5.classes lib web.xml的作用
            classes文件夹: web项目中要写java代码,java代码还要编译为class文件,编译好的class文件就要放到这个文件夹中
            注意:放到tomcat服务器中运行的web项目,不需要保存.java文件,只需要有class文件就可以了 
            lib文件夹:这个web项目在运行的时候所需要的第三方jar包.这些jar包是项目自己使用的,每个web项目都有自己的lib目录
            注意:项目中的lib目录和tomcat中的lib的区别 
            web.xml文件:这个是web项目的配置文件,每个web项目都要有自己的配置文件(web.xml),同时这个web.xml文件内容是让tomcat服务器在启动期间来自动读取的
                tomcat能自动读取web项目中的web.xml原因
                    1.web项目是在tomcat中部署的
                    2.web项目结构是固定的 
        6.web.xml文件的内容
            在tomcat里面的conf目录中,有一个web.xml文件的样例 
        7.把web项目部署到tomcat服务器中
            就是把web项目放到tomcat中的webapps里面 
        8.启动tomcat服务器 
        9.访问tomcat中指定项目里面的资源
            http://ip:port/项目名/资源路径             
           如: http://127.0.0.1:8989/Web_Test/test.html
          浏览器通过url地址,访问web项目中的java代码
                    http://127.0.0.1:8989/Web_Test/HelloWorld
           访问到
                    HelloWorld类中sayHello方法     

三、Java代码部分

    1.程序入口

        tomcat负责
        tomcat启动的时候,会运行tomcat自己的相关代码,在它的这个代码中,会负责创建我们自己写的类的对象,并且调用对象的方法
        所以程序的入口是在tomcat中的 
    2.对象
        由tomcat来创建,使用反射的方式调用我们写的类里面的无参构造器 
    3.方法调用
        tomcat只会调用指定名字的一个方法
            这个方法名字为:service  
    所以,想实现 使用浏览器访问web项目中的java对象里面的方法 这个功能,就必须按照javaEE中的相关规范来编写代码      

    在规范中,把能够使用url地址来访问的java类,称之为servlet

四、什么是servlet?

    servlet就是一种java类,这种java类在JavaWeb项目中,可以使用浏览器通过url地址的形式来访问。
     实现servlet功能的步骤:
    1.编写servlet
        自己写一个普通类,然后去实现或者继承javaEE规范中所提供的指定接口或者父类,然后再重写指定方法.这个指定接口或者父类都在tomcat的lib目录里面的servlet-api.jar中
     2.在web.xml文件中配置自己编写好的servlet
        因为servlet对象的创建,以及对象中指定方法的调用,都是由tomcat服务器来负责处理的。
        web.xml配置文件在启动tomcat服务器的期间必须要读取的web项目的中的一个文件,所有要把自己写好的servlet相关信息配置到web.xml中,以便让tomcat及时的知道这些信息,然后就可以创建对象和调用方法了.
         <servlet>
            <servlet-name>hello</servlet-name>
            <servlet-class>com.briup.test.HelloWorld</servlet-class>
        </servlet>
         <servlet-mapping>
            <servlet-name>hello</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>
 就可以通过url进行访问了:
        http://127.0.0.1:8989/Web_Test/hello
         http://127.0.0.1:8989/Web_Test/test.html
        http://127.0.0.1:8989/Web_Test/zsailisi
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

0 0
原创粉丝点击