Tomcat配置环境变量:
1、JAVA的环境变量(JRE的也需要配置)
2、CATALINA_BASE、CATALINA_HOME、TOMCAT_HOME配置路径是TOMCAT的安装目录
3、TOMCAT启动和关闭是在bin目录下startup.bat和shutdown.bat文件,可以将bin目录配置到path下
TOMCAT端口占用的问题
方式一:
命令:netstat -nano可以输出所有运行程序及占用端口号
任务管理器结束掉占用该端口的程序
方式二:
在配置文件中修改端口号
tomcat/conf/server.xml文件中:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
标签下的port属性就是端口号,修改这个属性值就可以修改端口号
Tomcat的目录层次:
- bin 存放启动和关闭Tomcat的脚本文件
- conf 存放Tomcat服务器的各种配置文件
- lib 存放Tomcat服务器的支撑jar包
- logs 存放Tomcat的日志文件
- temp 存放Tomcat运行时产生的临时文件
- webapps web应用所在目录,即供外界访问的web资源存放目录
- work Tomcat的工作目录,JSP会被翻译成Servlet文件,可以到这个文件夹中找源码
WEB应用程序指供浏览器访问的程序,通常也成为web应用。
一个web应用由多个静态web资源和动态web资源组成:
- html、css、js文件
- Jsp文件、java程序、支持jar包
- 配置文件等等
- 组成web应用的这些文件通常我们会使用一个目录组织,这个目录组织成为web应用所在目录
静态WEB资源只需要在webapps文件夹下建文件夹,文件夹内有网页文件,启动tomcat,就可以打开:
webapps文件夹下有hh文件夹下有h.html文件
启动tomcat,浏览器输入localhost:8080/hh/h.html就可以打开该文件
website
- - 存放html、css等文件
动态的WEB资源固定的目录:
website
- - WEB-INF
- - - web.xml 程序的入口,配置文件(必须有的,最好到其他文件夹中复制)
- - - classes 文件夹,名称固定,可选,放class文件
- - - lib 文件夹,名称固定,可选,放jar包
web.xml文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" metadata-complete="true">
<!-- ........ -->
</web-app>
Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录的映射。
虚拟路径(访问路径):
默认和项目名称相同(不要去修改)
WebRoot变成了虚拟路径(访问的路径)
直接复制项目,需要修改虚拟路径
项目上右键 -- 属性 --中修改
配置虚拟主机
在WEB服务器中配置一个网站,需要用Host元素进行配置,例如:
server.xml:
<Host name="www.sina.com" appBase="c:\sina">
<Alias>abc.com</Alias>
<Context path="/mail" docBase="c:\sina\mail"/>
</Host>
path=""代表缺省
这个里面的name表示的是访问本地的localhost地址,appBase表示项目指定的父位置,当前的webapps代表:TOMCAT_HOME/apache-tomcat7/webapps这个位置,这个位置也是tomcat的默认的存放javaEE项目位置
<Alias>abc.com</Alias> 表示第二域名,一个虚拟主机可以有多个域名
在Host节点下的Context节点,就是部署一个项目,但是这个项目不是在appBase目录下,他的路径在/www/html/helloTomcat这个目录下,path表示对外访问的名称,使用tomcat更灵活
配置主机要想被外界访问,必须在DNS服务器或windows系统中注册
在windows中配置
winwos目录下system32/drivers/etc/Hosts文件:
IP地址 域名
部署WEB程序的三种方式:
方式一:
项目复制到webapps文件中,如果是ecplise,可以将项目打包成war包。
启动Tomcat服务器,访问该文件会自动解压
方式二:
打开Tomcat下的conf/server.xml,在<host></host>标签之间输入项目配置文件:
<Context path="..." docBase="..." reloadable="true" />
path:浏览器访问时的路径名
docBase:web项目的WebRoot所在的路径,注意是WebRoot的路径,不是项目的路径。其实也就是编译后的项目
reloadble:设定项目有改动时,tomcat是否重新加载该项目
方式三:
1、进入到conf/Catalina/localhost目录,新建一个项目名.xml文件
2、在新建的xml文件中,增加配置语句:
<Context docBase="项目路径" reloadable="true" />
每个项目分开配置,tomcat 将以\conf\Catalina\localhost 目录下的 xml 文件的文件名作为 web 应用的上下文路径,而不再理会 <Context>中配置的 path 路径,因此在配置的时候,可以不写 path。
web.xml的模式(Schema)文件中定义了多少种标签元素,web.xml中就可以出现它的模式文件所定义的标签元素,它就能拥有定义出来的那些功能:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
</web-app>
1、指定欢迎页面,例如:
<welcome-file-list>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index1.jsp</welcome-file>
</welcome-file-list>
这里配置了两个欢迎页面,依次查找
(1)为Servlet命名:
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>net.test.TestServlet</servlet-class>
</servlet>
(2)为Servlet定制URL
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
3、定制初始化参数:可以定制servlet、JSP、Context的初始化参数,然后可以再servlet、JSP、Context中获取这些参数值。下面哪servlet来举例:
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>net.test.TestServlet</servlet-class>
<init-param>
<param-name>userName</param-name>
<param-value>Tommy</param-value>
</init-param>
<init-param>
<param-name>E-mail</param-name>
<param-value>Tommy@163.com</param-value>
</init-param>
</servlet>
然后在servlet中能够调用getServletConfig().getInitParameter("param1")获得参数名对应的值。
4、指定错误处理页面,可以通过“异常类型”或“错误码”来指定错误处理页面。
<error-page>
<error-code>404</error-code>
<location>/error404.jsp</location>
</error-page>
-----------------------------
<error-page>
<exception-type>java.lang.Exception<exception-type>
<location>/exception.jsp<location>
</error-page>
5、设置过滤器:比如设置一个编码过滤器,过滤所有资源
<filter>
<filter-name>XXXCharaSetFilter</filter-name>
<filter-class>net.test.CharSetFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>XXXCharaSetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
6、设置监听器:
<listener>
<listener-class>net.test.XXXLisenet</listener-class>
</listener>
7、设置会话(Session)过期时间,其中时间以分钟为单位,假如设置60分钟超时:
<session-config>
<session-timeout>60</session-timeout>
</session-config>