content:
One: Introduction
Two: Installation and configuration
Three: Application
Four: Summary
With the popularity of Java, its application on the Web is getting wider and wider, as an open source servlet container, the application prospect is getting wider, this article will tell you some of Tomcat.
One: Introduction
Tomcat is an important subproject in the Jakarta project, which is selected as the Most Innovative Java Product in 2001 by the editor of the JavaWorld magazine, and it is a SUN officially recommended servlet and JSP container (specific You can see http://java.sun.com/products/jsp/tomcat/, so it is more and more loved by software companies and developers. The latest specifications for servlet and JSP can be implemented in the new version of Tomcat.
Two: Installation and configuration
The latest version of Tomcat is 4.0.1, which has a new servlet container Catalina, and fully implements servlet2.3 and jsp1.2 specification. Note that your system must have JDK1.2 or higher before installation.
(1): Installation
1: Windows platform
Download Jakarta-Tomcat-4.0.1.exe from the Tomcat website, follow the general Windows program installation steps to install Tomcat, which will automatically look for your JDK and JRE.
2: Linux platform
Download Jakarta-Tomcat-4.0.1.tar.gz, unzip it to a directory.
(2): configuration
Run Tomcat requires setting java_home variables
Set java_home = c: / jdk (Win98, use in MSDOS mode, or put in autoexec.bat)
Export java_home = / usr / local / jdk (Used under Linux, put it in / etc / bashrc or / etc / profile)
(3): operation
After the setting is completed, you can run the Tomcat server. Enter the bin directory of Tomcat, start Tomcat with Startup with Startup, linux with startup.sh, the corresponding shutdown Tomcat command is shutdown and shutdown.sh.
Enter http: // localhost: 8080 / test in the browser after startup, because the Tomcat itself has a web server function, so we don't have to install Apache, of course, it can also be integrated with Apache, which will be introduced below.
Below you can test their own JSP and servlet examples.
Three: Application
(1): directory structure
The directory structure of Tomcat is as follows: Configuration Name
BIN storage start and close Tomcat script
Conf contains different profiles, server.xml (Tomcat's primary configuration file) and Web.xml
Work stores Class files generated after JSP compile
WebApp stores an application example, after you have to deploy the application, you have to put this directory.
Logs storage log file
These three directorys are mainly stored by Tomcat's JAR files.
(2): Server.xml configuration introduction
Below we will tell the basic configuration information in this file, more specific configuration information see Tomcat's document element name property explanation
Server port specifies a port, this port is responsible for monitoring the request to close Tomcat
ShutDown specifies the command string sent to the port
Service name Specifies the name of Service
CONNECTOR
(Represents the connection between client and service) port specifies the port number to create, and listened to the number of processes created when the client's request minprocessors server starts at this fracture
MaxProcessors maximum number of processes that can be created
Enablelookups If you are True, you can get the actual host name of the remote client by calling request.getRemoteHost (). If you do not perform DNS queries, it is returned to its IP address.
Redirectport specifies that the server is processing the HTTP request to receive an SSL transmission request after the port number
AcceptCount Specifies that when all the number of threads that can be used, you can put the number of requests in the process queue, and the request for exceeding this will not be processed.
ConnectionTIMEOUT Specifies the time number of timeout (in milliseconds)
Engine
(Represents a request processor, receiving, and processing requesting requests from Connector) DefaultHost specifies the host name of the default processing request, which is at least the same as one of the name attributes of one of the host elements.
Context
(Representing a web application, usually a WAR file, specific information about WAR, see the path of the DOCBase application or the path stored by the WAR file
PATH indicates the prefix of the URL of this web application, so requested URL is http: // localhost: 8080 / path / ****
The property is very important. If True, Tomcat will automatically detect changes in the application's / web-inf / lib and / web-inf / class directory, automatically load new applications, we can do not wear Tomcat Change the application
Host
(Representing a virtual host)
Name Specifies the host name
AppBase application base directory, ready to save your application
UnpackWars If True, Tomcat will automatically extract the WAR file, otherwise it will not decompress, run the application directly from the WAR file.
Logger
(Indicating log, debugging, and error message)
ClassName Specifies the class name used by the Logger, this class must implement org.apache.catalina.logger interface
Prefix Specifies the prefix of the log file
Suffix Specifies the suffix of log files
If TimeStamp is true, the log file name is to join the time, as follows: localhost_log.2001-10-04.txt
Realm
(Indicating that the user name, password, and Role database)
ClassName Specifies the class name used by Realm, this class must implement org.apache.catalina.realm interface
Valve
(The function is similar to Logger, its Prefix and SUFFIX properties are the same as the Logger)
ClassName Specifies the class name used by Valve, such as using org.apache.catalina.valves.accessLogvalve class to record access information
Directory specifies the location where the log file is stored
Pattern has two values, Common mode records the remote host name or IP address, user name, date, first line requested string, HTTP response code, the number of bytes sent. Combined mode is more than the value recorded in the Common mode
Note: 1: After I tested, I set up PATH = "", reloadable = true, then put a WAR file to the webapps directory, and the tomcat can't detect this file (you can restart Tomcat), and decompress this file. The Tomcat will automatically detect this new application. If the WAR file cannot be automatically detected, we can use the methods described below to deploy applications. 2: In the default server.xml, the Realm element only sets a className property, but in this file, several examples connected via JDBC to the database (commented), we can implement container security through Realm elements. Container Managed Security.
3: There are still some elements. We have not introduced, such as parameter, loader, you can get information about these elements through Tomcat documents.
(3): management
1: Configuration
Before conducting specific management, we first add a user to Tomcat, so that this user has permission to manage.
Open the Tomcat-Users.xml file under the conf directory, add the following line in the appropriate location:
Note: The last part of this line must be />, Tomcat's document, if there is no / symbol, the Tomcat will not be able to access the application. You can see the details of this error by logs / catalina.out file.
Then recover Tomcat, enter http: // localhost: 8080 / manager /, will pop up in the browser, enter the username and password above.
2: Application list
Enter http: // localhost: 8080 / manager / list in your browser, the browser will display the following information:
OK - Listed Applications for Virtual Host Localhost
/ EX: RUNNING: 1
/ Examples: Running: 1
/ WebDAV: Running: 0
/ Tomcat-Docs: Running: 0
/ Manager: Running: 0
/: Running: 0
The information of the surface is the path of the application, the current state (running or stopped), which is connected to this program.
3: Re-load the app
Enter in the browser
Localhost: 8080 / manager / reload? path = / example, the browser is shown below:
OK - Reloaded Application AT Context Path / Examples
Indicates that the Example application is loaded. If we set the reloadable property of Server.xml's Context element to True (see above), it is not necessary to reload the application using this manner because Tomcat will be loaded.
4: Show session information
Enter http: // localhost: 8080 / manager / sessions? Path = / example, browser in the browser, display: OK - Session Information for Application At Context Path / Examples Default Maximum Session Inactive Interval 30 Minutes
5: Start and close the app
Enter http: // localhost: 8080 / manager / start? Path = / example: 8080 / manager / stop? Path = / examples, in your browser. 6: Deployment and revocation deployment
There are two ways to organize files in a certain directory structure, one is a compression package that suffixs for WAR, so it has two ways:
(1): Enter: http:// localhost: 8080 / manager / install? Path = / examples & war = file: / c: / example
WAR deployment will be organized according to the directory structure
(2): If you enter: http:// localhost: 8080 / manager / install? Path = / examples & war = jar: file: / c: /examples.war! /
The WAR deployed by the compression package will be deployed, note that the second half of this URL must have! / 号.
You can use it after deployment
Localhost: 8080 / Examples Access.
Enter: http: // localhost: 8080 / manager / remove? PATH = / Examples
The application that has just been deployed will be revoked.
(4) Integration with Apache
Although Tomcat can also make a web server, it processes static HTML than Apache, and its functionality as a web server is far less than Apache, so we want to integrate Apache and Tomcat.
We use the Linux system as an example.
Download the Apache 1.3.22 source version from the Apache website, then configure the installation of Apache using the following command:
MKDIR / USR / local / Apache
Tar zxvf apache.1.32.tar.gz
CD Apache.1.32
./configure --prefix = / usr / local / apache --enable-module = so
Make
Make Install
Note that the configure command specifies the target installation directory and joins the DSO (Dynamic Shared Object) support, and be careful not to forget this option.
Then download the WebApp module, and put the mod_webapp.so file after decompression into the Libexec directory of Apache, edit the httpd.conf under Apache's confed, and add the following three lines in this file:
LoadModule WebApp_Module Libexec / Mod_Webapp.so
WebAppConnection WarpConnection Warp localhost: 8008
WebAppDeploy Examples WarpConnection / Examples /
The first line is to join the WebApp module. If you do not add DSO support when compiling Apache, you cannot use the loadModule instruction, the second line specifies the connection of Tomcat and Apache, and the third line specifies the application application. The two instructions use the format as follows:
WebAppConnection [Connection Name] [PROVIDER] [Host
Ort]
WebAppDepLoy [Application Name] [Connection Name] [URL PATH]
Where Connection Name specifies the connection name, the Provider can only be WARP, the Port port is consistent with the last few lines of the last few rows of Tomcat's configuration file server.xml. The document is as follows:
Port = "8008" minprocessors = "5" MaxProcessors = "75" enablelookups = "true"
Acceptcount = "10" debug = "0" />
******
Application Name consistent with the app name you deployed in Tomcat, the URL PATH specifies the URL to access this application. For example, the above example can access the Examples app in Tomcat via http: // localhost / example.
(5): Chinese issues
General JSP's garbled problem can be solved by adding <% @ page contentType = "text / html; charset = GB2312" in JSP, as for servlet's garbled, the httpserveletRequest.SetCharacterenceEutReequest.setCharacterencoding function provided in servlet2.3. For more detailed Chinese issues, please see the Chinese character encoding problem in JSP / servlet.
Four: Summary
Tomcat acts as a servlet (JSP is also compiled into a servlet) container, its application prospect is very good, if combined with JBOSS, you can implement Sun's J2EE specification (using JBoss as an EJB server). JBoss's official website also provides JBoss integrated Tomcat3.2 * for download. Another open source application server (ENHYDRA) is also based on Tomcat, which provides a more friendly management interface, and deploying applications is also simpler and more powerful.