一、Tomcat概述
Tomcat服务器由Apache提供,开源免费。开发学习使用最佳选择。安装Tomcat之前需要先安装JDK,其实无论哪一种JavaWeb服务器都需要先安装JDK。下载 地址 :Apache Tomcat® - Welcome!
二 、Tomcat能做什么?
当用户发送请求后,Tomcat来接收请求,然后给用户作出返回响应。通常用户都是通过浏览器发出请求,然后浏览器的响应都是html代码。当然这也不是全部,有时用户可能会通过其他手段向服务器发送请求,而Tomcat返回的响应也可能不是html,也可能是一个文件,一张图片等。
三、安装tomcat
一般有解压版与安装版,解压版解压就可以使用,安装版傻瓜式点击就可以,以下是解压版。
四 、Tomcat目录结构
bin:该目录下存放的是可执行文件,有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME,shutdawn.bat用来停止Tomcat;
conf:这是一个非常非常重要的目录,一般配置文件都在这个目录下,这个目录下有两个最为重要的文件:
lib:Tomcat的类库,里面是一大堆jar包 。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把项目依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之;
logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。
temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除!
webapps:存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的。项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。
work:运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下。
总结:bin、conf、webapps、work。
bin目录中东西我们只关心启动和停止Tomcat;conf目录里面主要关注server.xml/web.xml;webapps目录下存放的是项目,每个文件夹都对应一个项目,而且在访问项目时,其中包含了项目名,而项目名往往都对应项目目录名。还有就是JavaEE Web项目的目录结构。work:只需要知道它存放的文件是通过webapps目录下的项目在运行时产生的,最终运行的都是work目录下的文件。这个目录下的东西可以删除,然后再次运行时还会产生!
五、测试Tomcat
安装好后可以在bin目录下找到startup.bat启动Tomcat,关闭可以执行shutdown.bat或者直接关闭Tomcat运行界面,然后在浏览器输入:http://localhost:8080或者http://127.0.0.1:8080,其中localhost本机主机名,127.0.0.1代表本机IP地址 ,8080为Tomcat默认端口,假如我的IP是192.168.1.100,其他机子要访问我机器上的Tomcat,那么需要在其他电脑 的浏览器中访问:http://192.168.1.100:8080。
六、修改端口号
前面介绍了修改端口号需要在conf配置目录下,在server.xml里面修改端口号为8081,修改后必须重启服务,修改如下:
则在访问Tomcat时,8080端口则访问不了,需要改成8081端口
tips:http默认端口号为80,也就是说在URL中不给出端口号时就表示使用80端口。如果端口改成80,URL中不带端口号80也可以访问Tomcat,若是访问不了,表示80端口被其他 应用占了端口。
七、创建Web项目
tomcat\webapps目录是用来存放Java项目的,每个文件夹都是一个项目。默认这个目录下已经有了四个项目,都是tomcat自带的。其中ROOT就是我们测试Tomcat时访问的Tomcat主项目。
我们要创建自己的项目,需要遵循JavaEE目录结构规范,下面是hello项目的目录结构
webapps
Hello (必须出现的)
|------ 存放web资源。(jsp, xml, HTML CSS JS 图片...)
|------ WEB-INF (必须出现的)
|------ web.xml (必须出现的)
|------ classes Java类的编译路径(Servlet、自定义类 )
|------ lib 需要引入的第三方的jar包.
hello是项目目录,项目目录下必须有一个名为WEB-INF的目录(必须大写),在WEB-INF目录下必须有一个web.xml文件。
WEB-INF目录是受保护目录,这下面的东西用户是不能直接访问的,但动态页面是可以访问的。通常WEB-INF下还会存在lib和classes,lib下存放项目所需的jar文件,classes目录下存在项目所需的class文件!如果直接访问WEB-INF就会找不到路径
web.xml文件中只需要给出XML文档声明,以及根元素。当然,根元素中包含很多与名称空间相关属性,记住是有难度的,不过我们可以去webapps下的其他项目中去“借”,比如ROOT项目中 。
八、项目发布
发布项目有三种方法
第一种方法:就是把项目放到webapps目录下,即localhost主机名对应的项目空间目录中,然后直接在访问URL后面带上项目webapps里面的项目文件名,就可以访问 项目中的文件了 。http://localhost:8080/hello/hello.html
第二种方法 (最常用):可以访问任意目录下的项目,通过在server.xml中添加
注意,一旦给出了docBase属性的值后,访问localhost的abc项目时,就不会再去webapps目录下去查找项目,而是通过docBase的值来锁定项目位置,即F:\helloF。访问项目的URL:http://localhost/abc/hello.html,而不是http://localhost/helloF/hello.html,虽然项目目录名叫helloF,但因为指定了
第三种方法:跟第二种方法类似是使用外部文件来添加
九、IDEA中Maven Web项目 创建
两种创建模式:
1、新建模块按archetype模式来创建,生成的pom.xml中为会自动打包模式设置为war包模式,还会导入很多jar包,只是需要手动添加java、resources文件
2、正常创建maven模块,需要在pom.xml文件中手动添加
war 打包方式
十、IDEA集成本地tomcat
1、可以通过配置服务器的方式
2、也可以通过maven配置文件引入
org.apache.tomcat.maven tomcat7-maven-plugin 2.2 80 /