Tomcat的下载、安装、配置、管理
Tomcat是Java领域最著名的Web开源容器,简单,易用,稳定性好。既可以用于个人学习使用,也可以作为商业开发产品发布。Tomcat不仅仅提供Web容器的基本功能,还支持JAAS和JNDI绑定等。目前最新的发布版本Tomcat是8.0.14,这个文章中使用的Tomcat版本是8.0.3,其实最新版与该版本的区别不是非常大,具体有哪些新特性可以阅读apache的官方文档,进行了解。[*]下载Tomcat服务器
登录http://tomcat.apache.org下载。
解压安装包解压后会得到如下文件结构:
bin:存放启动和关闭Tomcat的命令路径。
conf:存放Tomcat的配置文件
lib:存放Tomcat服务器的核心类(JAR文件)如果要扩展TOmcat的功能可以将第三方类库拷贝到该目录下。
logs:这个是一个空目录,该目录用于保存每次运行Tomcat而产生的日志。
temp:保存Web应用运行过程中生产的临时文件。
webapps:该目录用于自动部署Web应用的目录,将Web应用复制到该目录下,toncat将会自动部署在容器中。
work:保存web应用运行中,编译生产的class文件,该文件夹可以删除,但是每次启动Tomcat服务器时会自动创建该目录。
LICENSE等相关文档:
将解压后的文件夹放在任意的路径下,运行Tomcat只需要一个环境变量:JAVA_HOME,不管是Windows,还是Linux只需要添加一个环境变量即可,该环境变量指向JDK的安装路径。
启动Tomcat服务器在Windows下只需要双击Tomcat安装路径下的bin下的startup.bat就可以了。然后打开浏览器,在地址栏输入http://localhost:8080/ 按下回车键出现如下页面则表示TOmcat服务器安装成功。
配置Tomcat服务器端口Tomcat的服务端口默认是8080,可以通过修改配置文件来改变服务端口,控制台等。Tomcat可以通过配置文件同时多个端口提供服务。
通过修改server.xml文件可以改变Tomcat的配置。
进入控制台Tomcat有三个控制台:Server Status控制台:用于监控服务器状态。
Manager App控制台:用于部署、监控Weby应用。Host Manager控制台。
通常我们使用Manager控制台就可以了,这个控制台需要用户和密码才能登录,控制台的用户名和密码是通过Tomcat的JAAS控制管理的,接下来讲如何配置用户名和密码:
在webapps/manager/WEB-INF/web.xml存放了manager应用的配置信息。如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
Tomcat Manager Application
A scriptable management web application for the Tomcat Web Server;
Manager lets you view, load/unload/etc particular web applications.
Manager
org.apache.catalina.manager.ManagerServlet
debug
2
HTMLManager
org.apache.catalina.manager.HTMLManagerServlet
debug
2
52428800
52428800
0
Status
org.apache.catalina.manager.StatusManagerServlet
debug
0
JMXProxy
org.apache.catalina.manager.JMXProxyServlet
Manager
/text/*
Status
/status/*
JMXProxy
/jmxproxy/*
HTMLManager
/html/*
SetCharacterEncoding
org.apache.catalina.filters.SetCharacterEncodingFilter
encoding
UTF-8
SetCharacterEncoding
/*
CSRF
org.apache.catalina.filters.CsrfPreventionFilter
entryPoints
/html,/html/,/html/list,/index.jsp
CSRF
HTMLManager
jsp
HTML Manager interface (for humans)
/html/*
manager-gui
Text Manager interface (for scripts)
/text/*
manager-script
JMX Proxy interface
/jmxproxy/*
manager-jmx
Status interface
/status/*
manager-gui
manager-script
manager-jmx
manager-status
BASIC
Tomcat Manager Application
The role that is required to access the HTML Manager pages
manager-gui
The role that is required to access the text Manager pages
manager-script
The role that is required to access the HTML JMX Proxy
manager-jmx
The role that is required to access to the Manager Status pages
manager-status
401
/WEB-INF/jsp/401.jsp
403
/WEB-INF/jsp/403.jsp
404
/WEB-INF/jsp/404.jsp
通过上面的配置文件可以知道,登录Manager控制台需要不同的mananger角色,对于普通开发者而言,通常需要访问匹配test/*、/status/*的资源,因此需要为该用户配置一个manager-gui的角色即可。Tomcat用户的信息是在CONF目录下的tomcat-user.xml文件中配置。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
我们进行如下配置添加:
1
2
然后重新启动服务器,点击manager apps按钮,输入用户名和密码,既可以进入控制台界面如下:
部署Web应用Tomcat中部署Web应用主要有如下几种方式:
利用Tomcat自动部署。
该方式最简单,最常用。我们只要将一个Web应用复制到Tomcat的Webapps下面,系统会把该应用部署到Tomcat中。
利用控制台部署。
该方式也很简单,根据控制台要求配置就可以了。
增加自定义的Web部署文件。
这种方式不需要把Web应用复制到tomcat的安装目录下,只是部署方式有些麻烦,我们需要在conf目录下新建一个Catalina目录,再在Catalina目录下新建一个localhost目录,最后在目录下创建一个名字任意的XML文件,该文件适用于部署Web应用的配置文件,该主文件名将作为Web应用的虚拟路劲。
例如:在conf/Catalina/localhost下创建了一个dd.xml文件,文件如下:
1
2
修改Server.xml文件部署Web应用。
该种方式需要修改conf下的server.xml文件,修改可能会导致Tomcat系统破坏,一般不推荐使用该种方式。
配置Tomcat数据源从Tomcat5.5开始Tomcat内置了DBCP的数据源实现,所以可以方便的配置DBCP数据源。Tomcat中有两种范围的数据源配置,一种是全局的数据源,一种是局部的(单个Web应用)数据源。
局部数据源配置就是在Web应用的配置文件中配置,不会造成系统紊乱,也可以防止其他的Web应用访问,提供了更好的封装性。
如上面的conf/Catalina/localhost下配置,dd.xml文件。
1
2
3
4
5
6
7
8
9
10
11
12
<resource name="jdbc/test" auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/testdatabase"
username = "root"
password="123456"
maxActive="10"
maxIdle="2"
maxWait="10000"/>
测试访问数据源的JSP页面:
1
2
3
4
5
6
7
8
9
10
11
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/testdatabase");
Connection conn = ds.getConnection();
Statement stmt = conn.creatStatement();
ResultSet rs = stmt.executeQuery("select * from user");
while(rs.next()){
out.println(rs.getString(1)+" "+rs.getString(2)+"
");
}
rs.close();
stmt.close();
conn.close();
页:
[1]