new tomcat
This commit is contained in:
parent
879ecc62c4
commit
c568828cb8
256 changed files with 19009 additions and 235 deletions
|
@ -27,7 +27,10 @@
|
||||||
<classpathentry kind="lib" path="webroot/WEB-INF/lib/taglibs-response.jar"/>
|
<classpathentry kind="lib" path="webroot/WEB-INF/lib/taglibs-response.jar"/>
|
||||||
<classpathentry kind="lib" path="webroot/WEB-INF/lib/taglibs-session.jar"/>
|
<classpathentry kind="lib" path="webroot/WEB-INF/lib/taglibs-session.jar"/>
|
||||||
<classpathentry kind="lib" path="webroot/WEB-INF/lib/taglibs-string.jar"/>
|
<classpathentry kind="lib" path="webroot/WEB-INF/lib/taglibs-string.jar"/>
|
||||||
<classpathentry kind="lib" path="webroot/WEB-INF/lib/ThdlUser.jar"/>
|
<classpathentry sourcepath="/ThdlUser/src/java" kind="lib" path="webroot/WEB-INF/lib/ThdlUser.jar">
|
||||||
|
<attributes>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
<classpathentry kind="var" path="TOMCAT_HOME/common/lib/servlet-api.jar"/>
|
<classpathentry kind="var" path="TOMCAT_HOME/common/lib/servlet-api.jar"/>
|
||||||
<classpathentry kind="var" path="TOMCAT_HOME/common/lib/jasper-runtime.jar"/>
|
<classpathentry kind="var" path="TOMCAT_HOME/common/lib/jasper-runtime.jar"/>
|
||||||
<classpathentry kind="var" path="TOMCAT_HOME/common/lib/jsp-api.jar"/>
|
<classpathentry kind="var" path="TOMCAT_HOME/common/lib/jsp-api.jar"/>
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
local-config
|
local-config
|
||||||
working.build.properties
|
working.build.properties
|
||||||
|
dicts
|
||||||
|
|
23
.settings/org.eclipse.core.resources.prefs
Normal file
23
.settings/org.eclipse.core.resources.prefs
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
#Thu May 12 14:15:25 EDT 2005
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding//webroot/jsp/displayDefinition.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayEncyclopediaArticle.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayEntry.jsp=UTF-8
|
||||||
|
encoding//webroot/jsp/displayEtymology.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayFunction.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayKeyword.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayMeta.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayModelSentence.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayNotes.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayPassage.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayPronunciation.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayRegister.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayRelatedTerm.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displaySpelling.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displaySubdefinition.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayTerm.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayTransitionalData.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/displayTranslationEquivalent.jsf=UTF-8
|
||||||
|
encoding//webroot/jsp/menu.jsp=UTF-8
|
||||||
|
encoding//webroot/jsp/metaForm.jsf=UTF-8
|
||||||
|
encoding//webroot/login.jsp=UTF-8
|
1
src/java/.cvsignore
Normal file
1
src/java/.cvsignore
Normal file
|
@ -0,0 +1 @@
|
||||||
|
dictionary-importer.properties
|
|
@ -1,4 +1,4 @@
|
||||||
# Default localized resources for DictionaryImporter
|
# Default localized resources for DictionaryImporter
|
||||||
|
|
||||||
dictionaryimporter.driverclassname=com.mysql.jdbc.Driver
|
dictionaryimporter.driverclassname=com.mysql.jdbc.Driver
|
||||||
dictionaryimporter.url=jdbc:mysql://localhost:3306/lex?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&user=USERNAME&password=PASSWORD
|
dictionaryimporter.url=jdbc:mysql://localhost:3306/lex?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&user=root
|
||||||
|
|
18
src/java/log4j.properties
Normal file
18
src/java/log4j.properties
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
### direct log messages to stdout ###
|
||||||
|
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
||||||
|
log4j.appender.stdout.Target=System.out
|
||||||
|
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
||||||
|
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
|
||||||
|
|
||||||
|
### direct messages to file hibernate.log ###
|
||||||
|
log4j.appender.file=org.apache.log4j.FileAppender
|
||||||
|
log4j.appender.file.File=~/dictionary-hibernate.log
|
||||||
|
log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||||
|
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
|
||||||
|
|
||||||
|
### direct messages to file lex.log ###
|
||||||
|
log4j.appender.lex-out=org.apache.log4j.FileAppender
|
||||||
|
log4j.appender.lex-out.File=~/dictionary.log
|
||||||
|
log4j.appender.lex-out.layout=org.apache.log4j.PatternLayout
|
||||||
|
log4j.appender.lex-out.layout.ConversionPattern=%d{ABattribute>
|
||||||
|
z
|
|
@ -13,8 +13,6 @@ import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.servlet.http.HttpSession;
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
import org.thdl.users.ThdlUser;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of the Class
|
* Description of the Class
|
||||||
*
|
*
|
||||||
|
@ -83,7 +81,7 @@ public class AuthenticationFilter implements Filter {
|
||||||
HttpServletRequest req = (HttpServletRequest) request;
|
HttpServletRequest req = (HttpServletRequest) request;
|
||||||
Visit visit = UserSessionManager.getInstance().getVisit(
|
Visit visit = UserSessionManager.getInstance().getVisit(
|
||||||
req.getSession(true));
|
req.getSession(true));
|
||||||
ThdlUser user = visit.getUser();
|
LexUser user = visit.getUser();
|
||||||
if (null == user) {
|
if (null == user) {
|
||||||
requireLogin(req, (HttpServletResponse) response, req
|
requireLogin(req, (HttpServletResponse) response, req
|
||||||
.getSession(true));
|
.getSession(true));
|
||||||
|
|
|
@ -11,8 +11,6 @@ import javax.servlet.ServletResponse;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import org.thdl.users.ThdlUser;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of the Class
|
* Description of the Class
|
||||||
*
|
*
|
||||||
|
@ -78,7 +76,7 @@ public class GuestFilter implements Filter {
|
||||||
HttpServletRequest req = (HttpServletRequest) request;
|
HttpServletRequest req = (HttpServletRequest) request;
|
||||||
Visit visit = UserSessionManager.getInstance().getVisit(
|
Visit visit = UserSessionManager.getInstance().getVisit(
|
||||||
req.getSession(true));
|
req.getSession(true));
|
||||||
ThdlUser user = visit.getUser();
|
LexUser user = visit.getUser();
|
||||||
if (null == user) {
|
if (null == user) {
|
||||||
try {
|
try {
|
||||||
user = new LexUser();
|
user = new LexUser();
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
package org.thdl.lex;
|
package org.thdl.lex;
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.apache.commons.beanutils.BeanUtils;
|
import org.apache.commons.beanutils.BeanUtils;
|
||||||
import org.thdl.lex.component.ILexComponent;
|
import org.thdl.lex.component.ILexComponent;
|
||||||
import org.thdl.lex.component.ITerm;
|
import org.thdl.lex.component.ITerm;
|
||||||
import org.thdl.lex.component.TransitionalDataComparator;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of the Class
|
* Description of the Class
|
||||||
|
|
|
@ -1,19 +1,54 @@
|
||||||
package org.thdl.lex;
|
package org.thdl.lex;
|
||||||
|
|
||||||
|
import org.apache.commons.beanutils.BeanUtils;
|
||||||
|
import org.thdl.users.ThdlUser;
|
||||||
|
|
||||||
public class LexUser extends org.thdl.users.ThdlUser {
|
public class LexUser extends org.thdl.users.ThdlUser {
|
||||||
|
|
||||||
|
public LexUser() {
|
||||||
|
};
|
||||||
|
|
||||||
|
public LexUser(ThdlUser user) throws Exception {
|
||||||
|
BeanUtils.copyProperties(this, user);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isGuest() {
|
public boolean isGuest() {
|
||||||
boolean bool = false;
|
return checkRole("guest");
|
||||||
if (hasRole("guest")) {
|
}
|
||||||
bool = true;
|
|
||||||
}
|
public boolean isAdministrator() {
|
||||||
return bool;
|
return checkRole("admin");
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEditor() {
|
||||||
|
return checkRole("editorHi") || checkRole("editorLo");
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isDeveloper() {
|
public boolean isDeveloper() {
|
||||||
|
return checkRole("dev");
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isProofer() {
|
||||||
|
return checkRole("proofer");
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCanAddTerms() {
|
||||||
|
return isAdministrator() || checkRole("editorHi") || isDeveloper();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCanEdit() {
|
||||||
|
return isAdministrator() || isDeveloper() || isProofer() || isEditor();
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean checkRole(String role) {
|
||||||
boolean bool = false;
|
boolean bool = false;
|
||||||
if (hasRole("dev")) {
|
if (hasRole(role)) {
|
||||||
bool = true;
|
bool = true;
|
||||||
}
|
}
|
||||||
return bool;
|
return bool;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isFingerprintless() {
|
||||||
|
return isAdministrator() || isProofer();
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -20,7 +20,7 @@ import org.thdl.users.ThdlUserRepositoryException;
|
||||||
* @created October 2, 2003
|
* @created October 2, 2003
|
||||||
*/
|
*/
|
||||||
public class LoginServlet extends HttpServlet {
|
public class LoginServlet extends HttpServlet {
|
||||||
//attributes
|
// attributes
|
||||||
|
|
||||||
private String welcomePage;
|
private String welcomePage;
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ public class LoginServlet extends HttpServlet {
|
||||||
|
|
||||||
private UserSessionManager sessionManager;
|
private UserSessionManager sessionManager;
|
||||||
|
|
||||||
//accessors
|
// accessors
|
||||||
/**
|
/**
|
||||||
* Sets the welcomePage attribute of the LoginServlet object
|
* Sets the welcomePage attribute of the LoginServlet object
|
||||||
*
|
*
|
||||||
|
@ -85,7 +85,7 @@ public class LoginServlet extends HttpServlet {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//helper methods
|
// helper methods
|
||||||
/**
|
/**
|
||||||
* Description of the Method
|
* Description of the Method
|
||||||
*
|
*
|
||||||
|
@ -99,15 +99,13 @@ public class LoginServlet extends HttpServlet {
|
||||||
setWelcomePage("/action?cmd=menu");
|
setWelcomePage("/action?cmd=menu");
|
||||||
|
|
||||||
if (getWelcomePage() == null) {
|
if (getWelcomePage() == null) {
|
||||||
throw new ServletException(
|
throw new ServletException("The welcomePage init parameter must be specified.");
|
||||||
"The welcomePage init parameter must be specified.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setLoginPage(config.getInitParameter("loginPage"));
|
setLoginPage(config.getInitParameter("loginPage"));
|
||||||
|
|
||||||
if (getLoginPage() == null) {
|
if (getLoginPage() == null) {
|
||||||
throw new ServletException(
|
throw new ServletException("The loginPage init parameter must be specified.");
|
||||||
"The loginPage init parameter must be specified.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -123,8 +121,7 @@ public class LoginServlet extends HttpServlet {
|
||||||
* Description of Exception
|
* Description of Exception
|
||||||
* @since
|
* @since
|
||||||
*/
|
*/
|
||||||
public void doPost(HttpServletRequest request, HttpServletResponse response)
|
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException {
|
||||||
throws ServletException {
|
|
||||||
String username = request.getParameter(LexConstants.USERNAME_REQ_PARAM);
|
String username = request.getParameter(LexConstants.USERNAME_REQ_PARAM);
|
||||||
|
|
||||||
if (username == null) {
|
if (username == null) {
|
||||||
|
@ -137,17 +134,15 @@ public class LoginServlet extends HttpServlet {
|
||||||
throw new ServletException("No Password Specified");
|
throw new ServletException("No Password Specified");
|
||||||
}
|
}
|
||||||
|
|
||||||
ThdlUser thdlUser = null;
|
|
||||||
try {
|
try {
|
||||||
ThdlUser lexUser = new LexUser();
|
ThdlUser thdlUser = new ThdlUser();
|
||||||
lexUser.setUsername(username);
|
thdlUser.setUsername(username);
|
||||||
lexUser.setPassword(password);
|
thdlUser.setPassword(password);
|
||||||
lexUser = ThdlUserRepository.getInstance().validate(lexUser,
|
thdlUser = ThdlUserRepository.getInstance().validate(thdlUser, "dictionary");
|
||||||
"dictionary");
|
doLoginSuccess(request, response, new LexUser(thdlUser));
|
||||||
doLoginSuccess(request, response, lexUser);
|
|
||||||
} catch (ThdlUserRepositoryException ture) {
|
} catch (ThdlUserRepositoryException ture) {
|
||||||
doLoginFailure(request, response, username);
|
doLoginFailure(request, response, username);
|
||||||
//throw new ServletException( ture );
|
// throw new ServletException( ture );
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new ServletException(e);
|
throw new ServletException(e);
|
||||||
}
|
}
|
||||||
|
@ -170,11 +165,8 @@ public class LoginServlet extends HttpServlet {
|
||||||
* Description of Exception
|
* Description of Exception
|
||||||
* @since
|
* @since
|
||||||
*/
|
*/
|
||||||
private void doLoginSuccess(HttpServletRequest req,
|
private void doLoginSuccess(HttpServletRequest req, HttpServletResponse response, LexUser user) throws IOException, LexRepositoryException, LexComponentException {
|
||||||
HttpServletResponse response, ThdlUser user) throws IOException,
|
Visit visit = UserSessionManager.getInstance().getVisit(req.getSession(true));
|
||||||
LexRepositoryException, LexComponentException {
|
|
||||||
Visit visit = UserSessionManager.getInstance().getVisit(
|
|
||||||
req.getSession(true));
|
|
||||||
|
|
||||||
visit.setUser(user);
|
visit.setUser(user);
|
||||||
|
|
||||||
|
@ -182,8 +174,7 @@ public class LoginServlet extends HttpServlet {
|
||||||
visit.setPreferences(preferences);
|
visit.setPreferences(preferences);
|
||||||
|
|
||||||
visit.setDisplayMode("brief");
|
visit.setDisplayMode("brief");
|
||||||
String targetPage = UserSessionManager.getInstance()
|
String targetPage = UserSessionManager.getInstance().getSessionLoginTarget(req.getSession(true), true);
|
||||||
.getSessionLoginTarget(req.getSession(true), true);
|
|
||||||
|
|
||||||
if (targetPage == null) {
|
if (targetPage == null) {
|
||||||
UserSessionManager.doRedirect(req, response, getWelcomePage());
|
UserSessionManager.doRedirect(req, response, getWelcomePage());
|
||||||
|
@ -206,9 +197,7 @@ public class LoginServlet extends HttpServlet {
|
||||||
* Description of Exception
|
* Description of Exception
|
||||||
* @since
|
* @since
|
||||||
*/
|
*/
|
||||||
private void doLoginFailure(HttpServletRequest request,
|
private void doLoginFailure(HttpServletRequest request, HttpServletResponse response, String username) throws ServletException {
|
||||||
HttpServletResponse response, String username)
|
|
||||||
throws ServletException {
|
|
||||||
|
|
||||||
String loginURL = getLoginPage() + "?retry=true&username=" + username;
|
String loginURL = getLoginPage() + "?retry=true&username=" + username;
|
||||||
try {
|
try {
|
||||||
|
@ -218,4 +207,3 @@ public class LoginServlet extends HttpServlet {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@ import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
|
||||||
import org.thdl.lex.component.LexComponentException;
|
import org.thdl.lex.component.LexComponentException;
|
||||||
import org.thdl.users.ThdlUser;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of the Class
|
* Description of the Class
|
||||||
|
@ -14,7 +13,7 @@ import org.thdl.users.ThdlUser;
|
||||||
* @created October 6, 2003
|
* @created October 6, 2003
|
||||||
*/
|
*/
|
||||||
public class Preferences {
|
public class Preferences {
|
||||||
//attributes
|
// attributes
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
private Integer userId;
|
private Integer userId;
|
||||||
|
@ -55,7 +54,7 @@ public class Preferences {
|
||||||
|
|
||||||
private Integer[] dialectSet;
|
private Integer[] dialectSet;
|
||||||
|
|
||||||
//accessors
|
// accessors
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the id attribute of the Preferences object
|
* Sets the id attribute of the Preferences object
|
||||||
|
@ -437,7 +436,7 @@ public class Preferences {
|
||||||
return note;
|
return note;
|
||||||
}
|
}
|
||||||
|
|
||||||
//helpers
|
// helpers
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of the Method
|
* Description of the Method
|
||||||
|
@ -476,16 +475,11 @@ public class Preferences {
|
||||||
setUseDefaultDialect(bool.booleanValue());
|
setUseDefaultDialect(bool.booleanValue());
|
||||||
bool = Boolean.valueOf(results.getString(15));
|
bool = Boolean.valueOf(results.getString(15));
|
||||||
setUseDefaultNote(bool.booleanValue());
|
setUseDefaultNote(bool.booleanValue());
|
||||||
setProjectSubjectSet(LexUtilities
|
setProjectSubjectSet(LexUtilities.convertTokensToIntegerArray(results.getString(16)));
|
||||||
.convertTokensToIntegerArray(results.getString(16)));
|
setSourceSet(LexUtilities.convertTokensToIntegerArray(results.getString(17)));
|
||||||
setSourceSet(LexUtilities.convertTokensToIntegerArray(results
|
setLanguageSet(LexUtilities.convertTokensToIntegerArray(results.getString(18)));
|
||||||
.getString(17)));
|
setScriptSet(LexUtilities.convertTokensToIntegerArray(results.getString(19)));
|
||||||
setLanguageSet(LexUtilities.convertTokensToIntegerArray(results
|
setDialectSet(LexUtilities.convertTokensToIntegerArray(results.getString(20)));
|
||||||
.getString(18)));
|
|
||||||
setScriptSet(LexUtilities.convertTokensToIntegerArray(results
|
|
||||||
.getString(19)));
|
|
||||||
setDialectSet(LexUtilities.convertTokensToIntegerArray(results
|
|
||||||
.getString(20)));
|
|
||||||
} else {
|
} else {
|
||||||
insertNew();
|
insertNew();
|
||||||
}
|
}
|
||||||
|
@ -503,8 +497,7 @@ public class Preferences {
|
||||||
*/
|
*/
|
||||||
public void insertNew() throws LexComponentException {
|
public void insertNew() throws LexComponentException {
|
||||||
try {
|
try {
|
||||||
String sql = "INSERT INTO Preferences ( id, userId ) VALUES ( NULL, "
|
String sql = "INSERT INTO Preferences ( id, userId ) VALUES ( NULL, " + getUserId() + " )";
|
||||||
+ getUserId() + " )";
|
|
||||||
Integer i = new Integer(LexRepository.getInstance().doUpdate(sql));
|
Integer i = new Integer(LexRepository.getInstance().doUpdate(sql));
|
||||||
setId(i);
|
setId(i);
|
||||||
} catch (LexRepositoryException lre) {
|
} catch (LexRepositoryException lre) {
|
||||||
|
@ -520,8 +513,7 @@ public class Preferences {
|
||||||
*/
|
*/
|
||||||
public void save() throws LexComponentException {
|
public void save() throws LexComponentException {
|
||||||
try {
|
try {
|
||||||
String sql = "SELECT id FROM Preferences WHERE userId = "
|
String sql = "SELECT id FROM Preferences WHERE userId = " + getUserId();
|
||||||
+ getUserId();
|
|
||||||
LexRepository lr = LexRepository.getInstance();
|
LexRepository lr = LexRepository.getInstance();
|
||||||
Connection con = lr.getDataSource().getConnection();
|
Connection con = lr.getDataSource().getConnection();
|
||||||
ResultSet results = con.createStatement().executeQuery(sql);
|
ResultSet results = con.createStatement().executeQuery(sql);
|
||||||
|
@ -560,20 +552,15 @@ public class Preferences {
|
||||||
sqlBuffer.append("', useDefaultNote = '");
|
sqlBuffer.append("', useDefaultNote = '");
|
||||||
sqlBuffer.append(getUseDefaultNote());
|
sqlBuffer.append(getUseDefaultNote());
|
||||||
sqlBuffer.append("', projectSubjectSet = '");
|
sqlBuffer.append("', projectSubjectSet = '");
|
||||||
sqlBuffer.append(LexUtilities
|
sqlBuffer.append(LexUtilities.convertIntegerArrayToTokens(getProjectSubjectSet()));
|
||||||
.convertIntegerArrayToTokens(getProjectSubjectSet()));
|
|
||||||
sqlBuffer.append("', sourceSet = '");
|
sqlBuffer.append("', sourceSet = '");
|
||||||
sqlBuffer.append(LexUtilities
|
sqlBuffer.append(LexUtilities.convertIntegerArrayToTokens(getSourceSet()));
|
||||||
.convertIntegerArrayToTokens(getSourceSet()));
|
|
||||||
sqlBuffer.append("', languageSet = '");
|
sqlBuffer.append("', languageSet = '");
|
||||||
sqlBuffer.append(LexUtilities
|
sqlBuffer.append(LexUtilities.convertIntegerArrayToTokens(getLanguageSet()));
|
||||||
.convertIntegerArrayToTokens(getLanguageSet()));
|
|
||||||
sqlBuffer.append("', scriptSet = '");
|
sqlBuffer.append("', scriptSet = '");
|
||||||
sqlBuffer.append(LexUtilities
|
sqlBuffer.append(LexUtilities.convertIntegerArrayToTokens(getScriptSet()));
|
||||||
.convertIntegerArrayToTokens(getScriptSet()));
|
|
||||||
sqlBuffer.append("', dialectSet = '");
|
sqlBuffer.append("', dialectSet = '");
|
||||||
sqlBuffer.append(LexUtilities
|
sqlBuffer.append(LexUtilities.convertIntegerArrayToTokens(getDialectSet()));
|
||||||
.convertIntegerArrayToTokens(getDialectSet()));
|
|
||||||
sqlBuffer.append("' WHERE id = ");
|
sqlBuffer.append("' WHERE id = ");
|
||||||
sqlBuffer.append(getId());
|
sqlBuffer.append(getId());
|
||||||
LexRepository.getInstance().doUpdate(sqlBuffer.toString());
|
LexRepository.getInstance().doUpdate(sqlBuffer.toString());
|
||||||
|
@ -601,7 +588,7 @@ public class Preferences {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//constructors
|
// constructors
|
||||||
/**
|
/**
|
||||||
* Constructor for the Preferences object
|
* Constructor for the Preferences object
|
||||||
*/
|
*/
|
||||||
|
@ -636,8 +623,7 @@ public class Preferences {
|
||||||
* @exception LexComponentException
|
* @exception LexComponentException
|
||||||
* Description of the Exception
|
* Description of the Exception
|
||||||
*/
|
*/
|
||||||
public Preferences(ThdlUser user) throws LexRepositoryException,
|
public Preferences(LexUser user) throws LexRepositoryException, LexComponentException {
|
||||||
LexComponentException {
|
|
||||||
this();
|
this();
|
||||||
setUserId(user.getId());
|
setUserId(user.getId());
|
||||||
populate();
|
populate();
|
||||||
|
@ -649,4 +635,3 @@ public class Preferences {
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,6 @@ package org.thdl.lex;
|
||||||
|
|
||||||
import javax.servlet.http.HttpSession;
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
import org.thdl.users.ThdlUser;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of the Class
|
* Description of the Class
|
||||||
*
|
*
|
||||||
|
@ -22,7 +20,7 @@ public class Visit {
|
||||||
|
|
||||||
LexQuery query;
|
LexQuery query;
|
||||||
|
|
||||||
ThdlUser user;
|
LexUser user;
|
||||||
|
|
||||||
String displayMode;
|
String displayMode;
|
||||||
|
|
||||||
|
@ -100,7 +98,7 @@ public class Visit {
|
||||||
* @param user
|
* @param user
|
||||||
* The new user value
|
* The new user value
|
||||||
*/
|
*/
|
||||||
public void setUser(ThdlUser user) {
|
public void setUser(LexUser user) {
|
||||||
if (user.hasRole("guest")) {
|
if (user.hasRole("guest")) {
|
||||||
getSession().setMaxInactiveInterval(60 * 5);
|
getSession().setMaxInactiveInterval(60 * 5);
|
||||||
} else {
|
} else {
|
||||||
|
@ -164,7 +162,7 @@ public class Visit {
|
||||||
*
|
*
|
||||||
* @return The user value
|
* @return The user value
|
||||||
*/
|
*/
|
||||||
public ThdlUser getUser() {
|
public LexUser getUser() {
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -203,7 +201,7 @@ public class Visit {
|
||||||
* @param user
|
* @param user
|
||||||
* Description of the Parameter
|
* Description of the Parameter
|
||||||
*/
|
*/
|
||||||
public Visit(HttpSession session, ThdlUser user) {
|
public Visit(HttpSession session, LexUser user) {
|
||||||
this(session);
|
this(session);
|
||||||
setUser(user);
|
setUser(user);
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ import org.thdl.lex.LexConstants;
|
||||||
import org.thdl.lex.LexLogger;
|
import org.thdl.lex.LexLogger;
|
||||||
import org.thdl.lex.LexQuery;
|
import org.thdl.lex.LexQuery;
|
||||||
import org.thdl.lex.LexRepositoryException;
|
import org.thdl.lex.LexRepositoryException;
|
||||||
|
import org.thdl.lex.LexUser;
|
||||||
import org.thdl.lex.UserSessionManager;
|
import org.thdl.lex.UserSessionManager;
|
||||||
import org.thdl.lex.Visit;
|
import org.thdl.lex.Visit;
|
||||||
import org.thdl.lex.component.IAnalyticalNote;
|
import org.thdl.lex.component.IAnalyticalNote;
|
||||||
|
@ -16,7 +17,6 @@ import org.thdl.lex.component.ILexComponent;
|
||||||
import org.thdl.lex.component.ITerm;
|
import org.thdl.lex.component.ITerm;
|
||||||
import org.thdl.lex.component.LexComponentException;
|
import org.thdl.lex.component.LexComponentException;
|
||||||
import org.thdl.lex.component.Translatable;
|
import org.thdl.lex.component.Translatable;
|
||||||
import org.thdl.users.ThdlUser;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of the Class
|
* Description of the Class
|
||||||
|
@ -66,7 +66,7 @@ public class GetRemoveFormCommand extends LexCommand implements Command {
|
||||||
LexQuery query = visit.getQuery();
|
LexQuery query = visit.getQuery();
|
||||||
ITerm term = query.getEntry();
|
ITerm term = query.getEntry();
|
||||||
String msg = null;
|
String msg = null;
|
||||||
ThdlUser user = visit.getUser();
|
LexUser user = visit.getUser();
|
||||||
if (validate(user, component)) {
|
if (validate(user, component)) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -9,6 +9,7 @@ import org.thdl.lex.LexConstants;
|
||||||
import org.thdl.lex.LexLogger;
|
import org.thdl.lex.LexLogger;
|
||||||
import org.thdl.lex.LexQuery;
|
import org.thdl.lex.LexQuery;
|
||||||
import org.thdl.lex.LexRepositoryException;
|
import org.thdl.lex.LexRepositoryException;
|
||||||
|
import org.thdl.lex.LexUser;
|
||||||
import org.thdl.lex.UserSessionManager;
|
import org.thdl.lex.UserSessionManager;
|
||||||
import org.thdl.lex.Visit;
|
import org.thdl.lex.Visit;
|
||||||
import org.thdl.lex.component.IAnalyticalNote;
|
import org.thdl.lex.component.IAnalyticalNote;
|
||||||
|
@ -16,7 +17,6 @@ import org.thdl.lex.component.ILexComponent;
|
||||||
import org.thdl.lex.component.ITerm;
|
import org.thdl.lex.component.ITerm;
|
||||||
import org.thdl.lex.component.LexComponentException;
|
import org.thdl.lex.component.LexComponentException;
|
||||||
import org.thdl.lex.component.Translatable;
|
import org.thdl.lex.component.Translatable;
|
||||||
import org.thdl.users.ThdlUser;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of the Class
|
* Description of the Class
|
||||||
|
@ -66,7 +66,7 @@ public class GetUpdateFormCommand extends LexCommand implements Command {
|
||||||
LexQuery query = visit.getQuery();
|
LexQuery query = visit.getQuery();
|
||||||
ITerm term = query.getEntry();
|
ITerm term = query.getEntry();
|
||||||
String msg = null;
|
String msg = null;
|
||||||
ThdlUser user = visit.getUser();
|
LexUser user = visit.getUser();
|
||||||
if (validate(user, component)) {
|
if (validate(user, component)) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package org.thdl.lex.commands;
|
package org.thdl.lex.commands;
|
||||||
|
|
||||||
|
import org.thdl.lex.LexUser;
|
||||||
import org.thdl.lex.UserSessionManager;
|
import org.thdl.lex.UserSessionManager;
|
||||||
import org.thdl.lex.component.ILexComponent;
|
import org.thdl.lex.component.ILexComponent;
|
||||||
import org.thdl.users.ThdlUser;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of the Class
|
* Description of the Class
|
||||||
|
@ -11,12 +11,12 @@ import org.thdl.users.ThdlUser;
|
||||||
* @created October 3, 2003
|
* @created October 3, 2003
|
||||||
*/
|
*/
|
||||||
public abstract class LexCommand implements Command {
|
public abstract class LexCommand implements Command {
|
||||||
//attributes
|
// attributes
|
||||||
private String next;
|
private String next;
|
||||||
|
|
||||||
private UserSessionManager sessionManager;
|
private UserSessionManager sessionManager;
|
||||||
|
|
||||||
//accessors
|
// accessors
|
||||||
/**
|
/**
|
||||||
* Sets the sessionManager attribute of the LexCommand object
|
* Sets the sessionManager attribute of the LexCommand object
|
||||||
*
|
*
|
||||||
|
@ -75,19 +75,17 @@ public abstract class LexCommand implements Command {
|
||||||
/*
|
/*
|
||||||
* public ILexComponent getComponent() { return component; }
|
* public ILexComponent getComponent() { return component; }
|
||||||
*/
|
*/
|
||||||
//helpers
|
// helpers
|
||||||
public boolean validate(ThdlUser user, ILexComponent component) {
|
public boolean validate(LexUser user, ILexComponent component) {
|
||||||
boolean valid = false;
|
boolean valid = false;
|
||||||
Integer creator = component.getMeta().getCreatedBy();
|
Integer creator = component.getMeta().getCreatedBy();
|
||||||
|
|
||||||
if (user.getId().equals(creator) || user.hasRole("admin")
|
if (user.getId().equals(creator) || user.isCanEdit()) {
|
||||||
|| user.hasRole("dev")) {
|
|
||||||
valid = true;
|
valid = true;
|
||||||
}
|
}
|
||||||
return valid;
|
return valid;
|
||||||
}
|
}
|
||||||
|
// constructors
|
||||||
//constructors
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for the LexCommand object
|
* Constructor for the LexCommand object
|
||||||
|
@ -108,4 +106,3 @@ public abstract class LexCommand implements Command {
|
||||||
public LexCommand() {
|
public LexCommand() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ import org.thdl.lex.LexConstants;
|
||||||
import org.thdl.lex.LexLogger;
|
import org.thdl.lex.LexLogger;
|
||||||
import org.thdl.lex.LexQuery;
|
import org.thdl.lex.LexQuery;
|
||||||
import org.thdl.lex.LexRepositoryException;
|
import org.thdl.lex.LexRepositoryException;
|
||||||
|
import org.thdl.lex.LexUser;
|
||||||
import org.thdl.lex.UserSessionManager;
|
import org.thdl.lex.UserSessionManager;
|
||||||
import org.thdl.lex.Visit;
|
import org.thdl.lex.Visit;
|
||||||
import org.thdl.lex.component.AnalyticalNote;
|
import org.thdl.lex.component.AnalyticalNote;
|
||||||
|
@ -17,7 +18,6 @@ import org.thdl.lex.component.ILexComponent;
|
||||||
import org.thdl.lex.component.ITerm;
|
import org.thdl.lex.component.ITerm;
|
||||||
import org.thdl.lex.component.LexComponentException;
|
import org.thdl.lex.component.LexComponentException;
|
||||||
import org.thdl.lex.component.Translatable;
|
import org.thdl.lex.component.Translatable;
|
||||||
import org.thdl.users.ThdlUser;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of the Class
|
* Description of the Class
|
||||||
|
@ -74,7 +74,7 @@ public class RemoveCommand extends LexCommand implements Command {
|
||||||
"Could not remove component, user's session has expired");
|
"Could not remove component, user's session has expired");
|
||||||
}
|
}
|
||||||
|
|
||||||
ThdlUser user = visit.getUser();
|
LexUser user = visit.getUser();
|
||||||
LexQuery query = visit.getQuery();
|
LexQuery query = visit.getQuery();
|
||||||
ITerm term = query.getEntry();
|
ITerm term = query.getEntry();
|
||||||
LexComponentRepository.update(term);
|
LexComponentRepository.update(term);
|
||||||
|
|
|
@ -12,6 +12,7 @@ import org.thdl.lex.LexConstants;
|
||||||
import org.thdl.lex.LexLogger;
|
import org.thdl.lex.LexLogger;
|
||||||
import org.thdl.lex.LexQuery;
|
import org.thdl.lex.LexQuery;
|
||||||
import org.thdl.lex.LexRepositoryException;
|
import org.thdl.lex.LexRepositoryException;
|
||||||
|
import org.thdl.lex.LexUser;
|
||||||
import org.thdl.lex.UserSessionManager;
|
import org.thdl.lex.UserSessionManager;
|
||||||
import org.thdl.lex.Visit;
|
import org.thdl.lex.Visit;
|
||||||
import org.thdl.lex.component.AnalyticalNote;
|
import org.thdl.lex.component.AnalyticalNote;
|
||||||
|
@ -19,7 +20,6 @@ import org.thdl.lex.component.ILexComponent;
|
||||||
import org.thdl.lex.component.ITerm;
|
import org.thdl.lex.component.ITerm;
|
||||||
import org.thdl.lex.component.LexComponentException;
|
import org.thdl.lex.component.LexComponentException;
|
||||||
import org.thdl.lex.component.Translatable;
|
import org.thdl.lex.component.Translatable;
|
||||||
import org.thdl.users.ThdlUser;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of the Class
|
* Description of the Class
|
||||||
|
@ -50,7 +50,7 @@ public class UpdateCommand extends LexCommand implements Command {
|
||||||
return termMode;
|
return termMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
//helper methods
|
// helper methods
|
||||||
/**
|
/**
|
||||||
* Description of the Method
|
* Description of the Method
|
||||||
*
|
*
|
||||||
|
@ -62,53 +62,43 @@ public class UpdateCommand extends LexCommand implements Command {
|
||||||
* @exception CommandException
|
* @exception CommandException
|
||||||
* Description of the Exception
|
* Description of the Exception
|
||||||
*/
|
*/
|
||||||
public String execute(HttpServletRequest req, ILexComponent component)
|
public String execute(HttpServletRequest req, ILexComponent component) throws CommandException {
|
||||||
throws CommandException {
|
|
||||||
String msg = null;
|
String msg = null;
|
||||||
String next = getNext();
|
String next = getNext();
|
||||||
Visit visit = UserSessionManager.getInstance().getVisit(
|
Visit visit = UserSessionManager.getInstance().getVisit(req.getSession(true));
|
||||||
req.getSession(true));
|
|
||||||
|
|
||||||
DisplayHelper displayHelper = visit.getHelper();
|
DisplayHelper displayHelper = visit.getHelper();
|
||||||
try {
|
try {
|
||||||
HttpSession ses = req.getSession(false);
|
HttpSession ses = req.getSession(false);
|
||||||
if (null == ses) {
|
if (null == ses) {
|
||||||
throw new CommandException(
|
throw new CommandException("Could not update component, user's session has expired");
|
||||||
"Could not update component, user's session has expired");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ThdlUser user = visit.getUser();
|
LexUser user = visit.getUser();
|
||||||
LexQuery query = visit.getQuery();
|
LexQuery query = visit.getQuery();
|
||||||
ITerm term = query.getEntry();
|
ITerm term = query.getEntry();
|
||||||
|
|
||||||
if (CommandToken.isValid(req) && validate(user, component)) {
|
if (CommandToken.isValid(req) && validate(user, component)) {
|
||||||
LexComponentRepository.update(term);
|
LexComponentRepository.update(term);
|
||||||
|
|
||||||
LexLogger
|
LexLogger.debug("Checking component state from updateCommand BEFORE component assignment");
|
||||||
.debug("Checking component state from updateCommand BEFORE component assignment");
|
|
||||||
LexLogger.debugComponent(component);
|
LexLogger.debugComponent(component);
|
||||||
if (isTermMode()) {
|
if (isTermMode()) {
|
||||||
term.populate(req.getParameterMap());
|
term.populate(req.getParameterMap());
|
||||||
term.getMeta().populate(req.getParameterMap());
|
term.getMeta().populate(req.getParameterMap());
|
||||||
component = term;
|
component = term;
|
||||||
} else if (component instanceof AnalyticalNote) {
|
} else if (component instanceof AnalyticalNote) {
|
||||||
LexLogger
|
LexLogger.debug("Debugging Component before updating analytical note");
|
||||||
.debug("Debugging Component before updating analytical note");
|
|
||||||
LexLogger.debugComponent(component);
|
LexLogger.debugComponent(component);
|
||||||
ILexComponent parent = term.findParent(component
|
ILexComponent parent = term.findParent(component.getParentId());
|
||||||
.getParentId());
|
|
||||||
List notes = parent.getAnalyticalNotes();
|
List notes = parent.getAnalyticalNotes();
|
||||||
ILexComponent ilc = (ILexComponent) notes.get(notes
|
ILexComponent ilc = (ILexComponent) notes.get(notes.indexOf(component));
|
||||||
.indexOf(component));
|
|
||||||
ilc.populate(component);
|
ilc.populate(component);
|
||||||
} else if (component instanceof Translatable
|
} else if (component instanceof Translatable && null != ((Translatable) component).getTranslationOf()) {
|
||||||
&& null != ((Translatable) component)
|
|
||||||
.getTranslationOf()) {
|
|
||||||
Translatable translation = (Translatable) component;
|
Translatable translation = (Translatable) component;
|
||||||
Translatable source = null;
|
Translatable source = null;
|
||||||
try {
|
try {
|
||||||
source = (Translatable) translation.getClass()
|
source = (Translatable) translation.getClass().newInstance();
|
||||||
.newInstance();
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new CommandException(e);
|
throw new CommandException(e);
|
||||||
}
|
}
|
||||||
|
@ -116,8 +106,7 @@ public class UpdateCommand extends LexCommand implements Command {
|
||||||
source.setParentId(translation.getParentId());
|
source.setParentId(translation.getParentId());
|
||||||
source = (Translatable) term.findChild(source);
|
source = (Translatable) term.findChild(source);
|
||||||
List translationList = source.getTranslations();
|
List translationList = source.getTranslations();
|
||||||
component = (ILexComponent) translationList
|
component = (ILexComponent) translationList.get(translationList.indexOf(translation));
|
||||||
.get(translationList.indexOf(translation));
|
|
||||||
component.populate(req.getParameterMap());
|
component.populate(req.getParameterMap());
|
||||||
component.getMeta().populate(req.getParameterMap());
|
component.getMeta().populate(req.getParameterMap());
|
||||||
} else {
|
} else {
|
||||||
|
@ -126,15 +115,17 @@ public class UpdateCommand extends LexCommand implements Command {
|
||||||
ilc.getMeta().populate(req.getParameterMap());
|
ilc.getMeta().populate(req.getParameterMap());
|
||||||
component = ilc;
|
component = ilc;
|
||||||
}
|
}
|
||||||
LexLogger
|
LexLogger.debug("Checking component state from updateCommand AFTER component assignment");
|
||||||
.debug("Checking component state from updateCommand AFTER component assignment");
|
|
||||||
LexLogger.debugComponent(component);
|
LexLogger.debugComponent(component);
|
||||||
|
|
||||||
Date now = new Date(System.currentTimeMillis());
|
Date now = new Date(System.currentTimeMillis());
|
||||||
component.getMeta().setModifiedOn(now);
|
component.getMeta().setModifiedOn(now);
|
||||||
component.getMeta().setModifiedBy(user.getId());
|
|
||||||
term.getMeta().setModifiedOn(now);
|
term.getMeta().setModifiedOn(now);
|
||||||
term.getMeta().setModifiedBy(user.getId());
|
|
||||||
|
if (!user.isFingerprintless()) {
|
||||||
|
component.getMeta().setModifiedBy(user.getId());
|
||||||
|
term.getMeta().setModifiedBy(user.getId());
|
||||||
|
}
|
||||||
|
|
||||||
LexLogger.debugComponent(component);
|
LexLogger.debugComponent(component);
|
||||||
LexLogger.debugComponent(term);
|
LexLogger.debugComponent(term);
|
||||||
|
@ -143,21 +134,19 @@ public class UpdateCommand extends LexCommand implements Command {
|
||||||
msg = "Successful Update";
|
msg = "Successful Update";
|
||||||
visit.setDisplayMode("edit");
|
visit.setDisplayMode("edit");
|
||||||
} else {
|
} else {
|
||||||
msg = CommandToken.isValid(req) ? "Unauthorized update attempted"
|
msg = CommandToken.isValid(req) ? "Unauthorized update attempted" : "Invalid reload attempted.";
|
||||||
: "Invalid reload attempted.";
|
|
||||||
}
|
}
|
||||||
return next;
|
return next;
|
||||||
} catch (LexComponentException e) {
|
} catch (LexComponentException e) {
|
||||||
throw new CommandException(e);
|
throw new CommandException(e);
|
||||||
} catch (LexRepositoryException e) {
|
} catch (LexRepositoryException e) {
|
||||||
throw new CommandException("Command had trouble processing "
|
throw new CommandException("Command had trouble processing " + component, e);
|
||||||
+ component, e);
|
|
||||||
} finally {
|
} finally {
|
||||||
req.setAttribute(LexConstants.MESSAGE_REQ_ATTR, msg);
|
req.setAttribute(LexConstants.MESSAGE_REQ_ATTR, msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//constructors
|
// constructors
|
||||||
/**
|
/**
|
||||||
* Constructor for the GetFormCommand object
|
* Constructor for the GetFormCommand object
|
||||||
*
|
*
|
||||||
|
@ -172,4 +161,3 @@ public class UpdateCommand extends LexCommand implements Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -285,7 +285,7 @@ public interface ITerm extends LexComponentNode {
|
||||||
* @exception LexComponentException
|
* @exception LexComponentException
|
||||||
* Description of the Exception
|
* Description of the Exception
|
||||||
*/
|
*/
|
||||||
public ILexComponent findChild(java.util.List list, Integer pk)
|
public ILexComponent findChild(java.util.Iterator list, Integer pk)
|
||||||
throws LexComponentException;
|
throws LexComponentException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package org.thdl.lex.component;
|
package org.thdl.lex.component;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
@ -147,7 +148,7 @@ public class Term extends BaseTerm implements Serializable, LexComponentNode {
|
||||||
public ILexComponent findChild(ILexComponent child)
|
public ILexComponent findChild(ILexComponent child)
|
||||||
throws LexComponentException {
|
throws LexComponentException {
|
||||||
List list = findSiblings(child);
|
List list = findSiblings(child);
|
||||||
child = findChild(list, child.getMetaId());
|
child = findChild(list.iterator(), child.getMetaId());
|
||||||
return child;
|
return child;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -164,8 +165,9 @@ public class Term extends BaseTerm implements Serializable, LexComponentNode {
|
||||||
ILexComponent child = null;
|
ILexComponent child = null;
|
||||||
Iterator childMapValues = getChildMap().values().iterator();
|
Iterator childMapValues = getChildMap().values().iterator();
|
||||||
while (childMapValues.hasNext() && null == child) {
|
while (childMapValues.hasNext() && null == child) {
|
||||||
List list = (List) childMapValues.next();
|
Object obj = childMapValues.next();
|
||||||
child = findChild(list, pk);
|
Collection list = (Collection) obj;
|
||||||
|
child = findChild(list.iterator(), pk);
|
||||||
}
|
}
|
||||||
if (null != getDefinitions()) {
|
if (null != getDefinitions()) {
|
||||||
Iterator definitions = getDefinitions().iterator();
|
Iterator definitions = getDefinitions().iterator();
|
||||||
|
@ -187,11 +189,11 @@ public class Term extends BaseTerm implements Serializable, LexComponentNode {
|
||||||
* @return Description of the Return Value
|
* @return Description of the Return Value
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public ILexComponent findChild(List list, Integer pk) {
|
public ILexComponent findChild(Iterator list, Integer pk) {
|
||||||
ILexComponent child = null;
|
ILexComponent child = null;
|
||||||
if (list != null) {
|
if (list != null) {
|
||||||
for (Iterator it = list.iterator(); it.hasNext();) {
|
while (list.hasNext()) {
|
||||||
ILexComponent lc = (LexComponent) it.next();
|
ILexComponent lc = (LexComponent) list.next();
|
||||||
if (lc.getMetaId().equals(pk)) {
|
if (lc.getMetaId().equals(pk)) {
|
||||||
child = lc;
|
child = lc;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -275,7 +275,7 @@ public class DictionaryImporter {
|
||||||
ResultSet set;
|
ResultSet set;
|
||||||
int creator = -1;
|
int creator = -1;
|
||||||
|
|
||||||
stmt = connUsers.prepareStatement("SELECT id FROM thdlusers WHERE firstname LIKE ? AND lastname LIKE ?");
|
stmt = connUsers.prepareStatement("SELECT id FROM ThdlUsers WHERE firstname LIKE ? AND lastname LIKE ?");
|
||||||
stmt.setString(1, "%" + firstName + "%");
|
stmt.setString(1, "%" + firstName + "%");
|
||||||
stmt.setString(2, "%" + lastName + "%");
|
stmt.setString(2, "%" + lastName + "%");
|
||||||
set = stmt.executeQuery();
|
set = stmt.executeQuery();
|
||||||
|
@ -288,7 +288,7 @@ public class DictionaryImporter {
|
||||||
// if there are more instances of the same user delete them
|
// if there are more instances of the same user delete them
|
||||||
if (set.next())
|
if (set.next())
|
||||||
{
|
{
|
||||||
stmt = connUsers.prepareStatement("DELETE FROM thdlusers WHERE firstname LIKE ? AND lastname LIKE ? AND id != ?");
|
stmt = connUsers.prepareStatement("DELETE FROM ThdlUsers WHERE firstname LIKE ? AND lastname LIKE ? AND id != ?");
|
||||||
stmt.setString(1, "%" + firstName + "%");
|
stmt.setString(1, "%" + firstName + "%");
|
||||||
stmt.setString(2, "%" + lastName + "%");
|
stmt.setString(2, "%" + lastName + "%");
|
||||||
stmt.setInt(3, creator);
|
stmt.setInt(3, creator);
|
||||||
|
@ -297,7 +297,7 @@ public class DictionaryImporter {
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
stmt2 = connUsers.prepareStatement("INSERT INTO thdlusers(firstname, lastname) VALUES (?, ?)");
|
stmt2 = connUsers.prepareStatement("INSERT INTO ThdlUsers(firstname, lastname) VALUES (?, ?)");
|
||||||
stmt2.setString(1, firstName);
|
stmt2.setString(1, firstName);
|
||||||
stmt2.setString(2, lastName);
|
stmt2.setString(2, lastName);
|
||||||
stmt2.executeUpdate();
|
stmt2.executeUpdate();
|
||||||
|
@ -319,11 +319,11 @@ public class DictionaryImporter {
|
||||||
ResultSet set;
|
ResultSet set;
|
||||||
int projectFirst = -1, project = -1;
|
int projectFirst = -1, project = -1;
|
||||||
|
|
||||||
stmt = connLex.prepareStatement("SELECT id FROM projectsubjects WHERE projectSubject like ? OR projectSubject like ?");
|
stmt = connLex.prepareStatement("SELECT id FROM ProjectSubjects WHERE projectSubject like ? OR projectSubject like ?");
|
||||||
stmt.setString(1, "%" + projectName + "%");
|
stmt.setString(1, "%" + projectName + "%");
|
||||||
stmt.setString(2, "%" + shortName + "%");
|
stmt.setString(2, "%" + shortName + "%");
|
||||||
set = stmt.executeQuery();
|
set = stmt.executeQuery();
|
||||||
stmt2 = connLex.prepareStatement("DELETE FROM transitionaldata, meta USING transitionaldata, meta WHERE transitionaldata.metaid=meta.metaid AND createdbyprojsub = ?");
|
stmt2 = connLex.prepareStatement("DELETE FROM TransitionalData, Meta USING TransitionalData, Meta WHERE TransitionalData.metaid=Meta.metaid AND createdbyprojsub = ?");
|
||||||
|
|
||||||
while (set.next())
|
while (set.next())
|
||||||
{
|
{
|
||||||
|
@ -352,7 +352,7 @@ public class DictionaryImporter {
|
||||||
* */
|
* */
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
stmt2 = connLex.prepareStatement("UPDATE projectsubjects SET projectSubject = ?, leader = ?, participantList = ? WHERE id = ?");
|
stmt2 = connLex.prepareStatement("UPDATE ProjectSubjects SET projectSubject = ?, leader = ?, participantList = ? WHERE id = ?");
|
||||||
stmt2.setString(1, projectName);
|
stmt2.setString(1, projectName);
|
||||||
stmt2.setInt(2, creator);
|
stmt2.setInt(2, creator);
|
||||||
stmt2.setString(3, "");
|
stmt2.setString(3, "");
|
||||||
|
@ -361,7 +361,7 @@ public class DictionaryImporter {
|
||||||
|
|
||||||
if (projectFirst!=project)
|
if (projectFirst!=project)
|
||||||
{
|
{
|
||||||
stmt2 = connLex.prepareStatement("DELETE FROM projectsubjects WHERE id != ? AND (projectSubject like ? OR projectSubject like ?)");
|
stmt2 = connLex.prepareStatement("DELETE FROM ProjectSubjects WHERE id != ? AND (projectSubject like ? OR projectSubject like ?)");
|
||||||
stmt2.setInt(1, projectFirst);
|
stmt2.setInt(1, projectFirst);
|
||||||
stmt2.setString(2, "%" + projectName + "%");
|
stmt2.setString(2, "%" + projectName + "%");
|
||||||
stmt2.setString(3, "%" + shortName + "%");
|
stmt2.setString(3, "%" + shortName + "%");
|
||||||
|
@ -378,7 +378,7 @@ public class DictionaryImporter {
|
||||||
ResultSet set;
|
ResultSet set;
|
||||||
int label=-1;
|
int label=-1;
|
||||||
|
|
||||||
stmt = connLex.prepareStatement("SELECT id FROM transitionaldatalabels WHERE transitionaldatalabel like ? OR transitionaldatalabel like ?");
|
stmt = connLex.prepareStatement("SELECT id FROM TransitionalDataLabels WHERE transitionaldatalabel like ? OR transitionaldatalabel like ?");
|
||||||
stmt.setString(1, "%" + shortName + "%");
|
stmt.setString(1, "%" + shortName + "%");
|
||||||
stmt.setString(2, "%" + longName + "%");
|
stmt.setString(2, "%" + longName + "%");
|
||||||
set = stmt.executeQuery();
|
set = stmt.executeQuery();
|
||||||
|
@ -388,13 +388,13 @@ public class DictionaryImporter {
|
||||||
label = set.getInt(1);
|
label = set.getInt(1);
|
||||||
if (set.next())
|
if (set.next())
|
||||||
{
|
{
|
||||||
stmt2 = connLex.prepareStatement("DELETE FROM transitionaldatalabels WHERE id != ? AND (transitionaldatalabel like ? OR transitionaldatalabel like ?)");
|
stmt2 = connLex.prepareStatement("DELETE FROM TransitionalDataLabels WHERE id != ? AND (transitionaldatalabel like ? OR transitionaldatalabel like ?)");
|
||||||
stmt2.setInt(1, label);
|
stmt2.setInt(1, label);
|
||||||
stmt2.setString(2, "%" + shortName + "%");
|
stmt2.setString(2, "%" + shortName + "%");
|
||||||
stmt2.setString(3, "%" + longName + "%");
|
stmt2.setString(3, "%" + longName + "%");
|
||||||
stmt2.executeUpdate();
|
stmt2.executeUpdate();
|
||||||
}
|
}
|
||||||
stmt2 = connLex.prepareStatement("UPDATE transitionaldatalabels SET priority = ?, transitionaldatalabelshort = ?, transitionaldatalabel = ? WHERE id = ?");
|
stmt2 = connLex.prepareStatement("UPDATE TransitionalDataLabels SET priority = ?, transitionaldatalabelshort = ?, transitionaldatalabel = ? WHERE id = ?");
|
||||||
stmt2.setInt(1, priority);
|
stmt2.setInt(1, priority);
|
||||||
stmt2.setString(2, shortName);
|
stmt2.setString(2, shortName);
|
||||||
stmt2.setString(3, longName);
|
stmt2.setString(3, longName);
|
||||||
|
@ -403,7 +403,7 @@ public class DictionaryImporter {
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
stmt2 = connLex.prepareStatement("INSERT INTO transitionaldatalabels(priority, transitionaldatalabel, transitionaldatalabelshort) VALUES (?, ?, ?)");
|
stmt2 = connLex.prepareStatement("INSERT INTO TransitionalDataLabels(priority, transitionaldatalabel, transitionaldatalabelshort) VALUES (?, ?, ?)");
|
||||||
stmt2.setInt(1, priority);
|
stmt2.setInt(1, priority);
|
||||||
stmt2.setString(2, longName);
|
stmt2.setString(2, longName);
|
||||||
stmt2.setString(3, shortName);
|
stmt2.setString(3, shortName);
|
||||||
|
|
201
tomcat/LICENSE
Normal file
201
tomcat/LICENSE
Normal file
|
@ -0,0 +1,201 @@
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
18
tomcat/NOTICE
Normal file
18
tomcat/NOTICE
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
This product includes software developed by
|
||||||
|
The Apache Software Foundation (http://www.apache.org/).
|
||||||
|
|
||||||
|
Java Management Extensions (JMX) support is provided by
|
||||||
|
the MX4J package, which is open source software. The
|
||||||
|
original software and related information is available
|
||||||
|
at http://mx4j.sourceforge.net.
|
||||||
|
|
||||||
|
The Windows Installer is built with the Nullsoft
|
||||||
|
Scriptable Install Sysem (NSIS), which is
|
||||||
|
open source software. The original software and
|
||||||
|
related information is available at
|
||||||
|
http://nsis.sourceforge.net.
|
||||||
|
|
||||||
|
Java compilation software for JSP pages is provided by Eclipse,
|
||||||
|
which is open source software. The orginal software and
|
||||||
|
related infomation is available at
|
||||||
|
http://www.eclipse.org.
|
174
tomcat/RELEASE-NOTES
Normal file
174
tomcat/RELEASE-NOTES
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
|
||||||
|
|
||||||
|
Apache Tomcat Version @VERSION@
|
||||||
|
Release Notes
|
||||||
|
|
||||||
|
|
||||||
|
$Id: RELEASE-NOTES,v 1.3 2005/05/17 16:51:14 aranganath Exp $
|
||||||
|
|
||||||
|
|
||||||
|
=============================
|
||||||
|
KNOWN ISSUES IN THIS RELEASE:
|
||||||
|
=============================
|
||||||
|
|
||||||
|
* Dependency Changes
|
||||||
|
* JNI Based Applications
|
||||||
|
* Bundled APIs
|
||||||
|
* Web application reloading and static fields in shared libraries
|
||||||
|
* Tomcat on Linux
|
||||||
|
* Enabling SSI and CGI Support
|
||||||
|
* Security manager URLs
|
||||||
|
* Symlinking static resources
|
||||||
|
* Enabling invoker servlet
|
||||||
|
* Viewing the Tomcat Change Log
|
||||||
|
* When all else fails
|
||||||
|
|
||||||
|
|
||||||
|
===================
|
||||||
|
Dependency Changes:
|
||||||
|
===================
|
||||||
|
Tomcat 5.5 is designed to run on J2SE 5.0 and later, and requires
|
||||||
|
configuration to run on J2SE 1.4. Make sure to read the "RUNNING.txt"
|
||||||
|
file in this directory if you are using J2SE 1.4.
|
||||||
|
|
||||||
|
In addition, Tomcat 5.5 uses the Eclipse JDT Java compiler for compiling
|
||||||
|
JSP pages. This means you no longer need to have the complete
|
||||||
|
Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment
|
||||||
|
(JRE) is sufficient. The Eclipse JDT Java compiler is bundled with the
|
||||||
|
binary Tomcat distributions. Tomcat can also be configured to use the
|
||||||
|
compiler from the JDK to compile JSPs, or any other Java compiler supported
|
||||||
|
by Apache Ant.
|
||||||
|
|
||||||
|
|
||||||
|
=======================
|
||||||
|
JNI Based Applications:
|
||||||
|
=======================
|
||||||
|
Applications that require native libraries must ensure that the libraries have
|
||||||
|
been loaded prior to use. Typically, this is done with a call like:
|
||||||
|
|
||||||
|
static {
|
||||||
|
System.loadLibrary("path-to-library-file");
|
||||||
|
}
|
||||||
|
|
||||||
|
in some class. However, the application must also ensure that the library is
|
||||||
|
not loaded more than once. If the above code were placed in a class inside
|
||||||
|
the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the
|
||||||
|
application were reloaded, the loadLibrary() call would be attempted a second
|
||||||
|
time.
|
||||||
|
|
||||||
|
To avoid this problem, place classes that load native libraries outside of the
|
||||||
|
web application, and ensure that the loadLibrary() call is executed only once
|
||||||
|
during the lifetime of a particular JVM.
|
||||||
|
|
||||||
|
|
||||||
|
=============
|
||||||
|
Bundled APIs:
|
||||||
|
=============
|
||||||
|
A standard installation of Tomcat 5.5 makes all of the following APIs available
|
||||||
|
for use by web applications (by placing them in "common/lib" or "shared/lib"):
|
||||||
|
* commons-el.jar (Commons Expression Language 1.0)
|
||||||
|
* commons-logging-api.jar (Commons Logging API 1.0.x)
|
||||||
|
* jasper-compiler.jar (Jasper 2 Compiler)
|
||||||
|
* jasper-compiler-jdt.jar (Eclipse JDT Java compiler)
|
||||||
|
* jasper-runtime.jar (Jasper 2 Runtime)
|
||||||
|
* jsp-api.jar (JSP 2.0 API)
|
||||||
|
* naming-common.jar (JNDI Context implementation)
|
||||||
|
* naming-factory.jar (JNDI object factories for J2EE ENC support)
|
||||||
|
* naming-factory-dbcp.jar (DataSource implementation based on commons-dbcp)
|
||||||
|
* naming-resources.jar (JNDI DirContext implementations)
|
||||||
|
* servlet-api.jar (Servlet 2.4 API)
|
||||||
|
|
||||||
|
Installing the compatibility package will add the following to the list, which are
|
||||||
|
needed when running on J2SE 1.4:
|
||||||
|
* jmx.jar (Java Management Extensions API 1.2 or later)
|
||||||
|
* xercesImpl.jar (Xerces XML Parser, version 2.6.2 or later)
|
||||||
|
|
||||||
|
You can make additional APIs available to all of your web applications by
|
||||||
|
putting unpacked classes into a "classes" directory (not created by default),
|
||||||
|
or by placing them in JAR files in the "lib" directory.
|
||||||
|
|
||||||
|
To override the XML parser implementation or interfaces, use the endorsed
|
||||||
|
mechanism of the JVM. The default configuration defines JARs located in
|
||||||
|
"common/endorsed" as endorsed.
|
||||||
|
|
||||||
|
|
||||||
|
================================================================
|
||||||
|
Web application reloading and static fields in shared libraries:
|
||||||
|
================================================================
|
||||||
|
Some shared libraries (many are part of the JDK) keep references to objects
|
||||||
|
instantiated by the web application. To avoid class loading related problems
|
||||||
|
(ClassCastExceptions, messages indicating that the classloader
|
||||||
|
is stopped, etc.), the shared libraries state should be reinitialized.
|
||||||
|
|
||||||
|
Something which might help is to avoid putting classes which would be
|
||||||
|
referenced by a shared static field in the web application classloader,
|
||||||
|
and putting them in the shared classloader instead (JARs should be put in the
|
||||||
|
"lib" folder, and classes should be put in the "classes" folder).
|
||||||
|
|
||||||
|
|
||||||
|
================
|
||||||
|
Tomcat on Linux:
|
||||||
|
================
|
||||||
|
GLIBC 2.2 / Linux 2.4 users should define an environment variable:
|
||||||
|
export LD_ASSUME_KERNEL=2.2.5
|
||||||
|
|
||||||
|
Redhat Linux 9.0 users should use the following setting to avoid
|
||||||
|
stability problems:
|
||||||
|
export LD_ASSUME_KERNEL=2.4.1
|
||||||
|
|
||||||
|
|
||||||
|
=============================
|
||||||
|
Enabling SSI and CGI Support:
|
||||||
|
=============================
|
||||||
|
Because of the security risks associated with CGI and SSI available
|
||||||
|
to web applications, these features are disabled by default.
|
||||||
|
|
||||||
|
To enable and configure CGI support, please see the cgi-howto.html page.
|
||||||
|
|
||||||
|
To enable and configue SSI support, please see the ssi-howto.html page.
|
||||||
|
|
||||||
|
|
||||||
|
======================
|
||||||
|
Security manager URLs:
|
||||||
|
======================
|
||||||
|
In order to grant security permissions to JARs located inside the
|
||||||
|
web application repository, use URLs of of the following format
|
||||||
|
in your policy file:
|
||||||
|
|
||||||
|
file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
|
||||||
|
|
||||||
|
|
||||||
|
============================
|
||||||
|
Symlinking static resources:
|
||||||
|
============================
|
||||||
|
By default, Unix symlinks will not work when used in a web application to link
|
||||||
|
resources located outside the web application root directory.
|
||||||
|
|
||||||
|
This behavior is optional, and the "allowLinking" flag may be used to disable
|
||||||
|
the check.
|
||||||
|
|
||||||
|
|
||||||
|
=========================
|
||||||
|
Enabling invoker servlet:
|
||||||
|
=========================
|
||||||
|
Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
|
||||||
|
default in all webapps. Enabling it for all webapps is possible by editing
|
||||||
|
$CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
|
||||||
|
definition.
|
||||||
|
|
||||||
|
Using the invoker servlet in a production environment is not recommended and
|
||||||
|
is unsupported. More details are available on the Tomcat FAQ at
|
||||||
|
http://jakarta.apache.org/tomcat/faq/misc.html#invoker.
|
||||||
|
|
||||||
|
|
||||||
|
==============================
|
||||||
|
Viewing the Tomcat Change Log:
|
||||||
|
==============================
|
||||||
|
See changelog.html in this directory.
|
||||||
|
|
||||||
|
|
||||||
|
====================
|
||||||
|
When all else fails:
|
||||||
|
====================
|
||||||
|
See the FAQ
|
||||||
|
http://jakarta.apache.org/tomcat/faq/
|
182
tomcat/RUNNING.txt
Normal file
182
tomcat/RUNNING.txt
Normal file
|
@ -0,0 +1,182 @@
|
||||||
|
$Id: RUNNING.txt,v 1.3 2005/05/17 16:51:14 aranganath Exp $
|
||||||
|
|
||||||
|
============================================
|
||||||
|
Running The Tomcat 5.5 Servlet/JSP Container
|
||||||
|
============================================
|
||||||
|
|
||||||
|
Out of the box, Tomcat 5.5 requires the Java 2 Standard Edition Runtime
|
||||||
|
Environment (JRE) version 5.0 or later. However, you can also run Tomcat
|
||||||
|
5.5 on earlier versions of the JRE, as detailed below.
|
||||||
|
|
||||||
|
=============================
|
||||||
|
Running With JRE 5.0 Or Later
|
||||||
|
=============================
|
||||||
|
|
||||||
|
(1) Download and Install the J2SE Runtime Environment (JRE)
|
||||||
|
|
||||||
|
(1.1) Download the Java 2 Standard Edition Runtime Environment (JRE),
|
||||||
|
release version 5.0 or later, from http://java.sun.com/j2se.
|
||||||
|
|
||||||
|
(1.2) Install the JRE according to the instructions included with the
|
||||||
|
release.
|
||||||
|
|
||||||
|
(1.3) Set an environment variable named JAVA_HOME to the pathname of
|
||||||
|
the directory into which you installed the JRE, e.g. c:\j2sdk5.0
|
||||||
|
or /usr/local/java/j2sdk5.0.
|
||||||
|
|
||||||
|
|
||||||
|
(2) Download and Install the Tomcat Binary Distribution
|
||||||
|
|
||||||
|
NOTE: As an alternative to downloading a binary distribution, you can create
|
||||||
|
your own from the Tomcat source repository, as described in "BUILDING.txt".
|
||||||
|
If you do this, the value to use for "${catalina.home}" will be the "dist"
|
||||||
|
subdirectory of your source distribution.
|
||||||
|
|
||||||
|
(2.1) Download a binary distribution of Tomcat from:
|
||||||
|
|
||||||
|
http://jakarta.apache.org/site/binindex.cgi
|
||||||
|
|
||||||
|
(2.2) Unpack the binary distribution into a convenient location so that the
|
||||||
|
distribution resides in its own directory (conventionally named
|
||||||
|
"jakarta-tomcat-5"). For the purposes of the remainder of this document,
|
||||||
|
the symbolic name "$CATALINA_HOME" is used to refer to the full
|
||||||
|
pathname of the release directory.
|
||||||
|
|
||||||
|
|
||||||
|
(3) Start Up Tomcat
|
||||||
|
|
||||||
|
(3.1) Tomcat can be started by executing the following commands:
|
||||||
|
|
||||||
|
$CATALINA_HOME\bin\startup.bat (Windows)
|
||||||
|
|
||||||
|
$CATALINA_HOME/bin/startup.sh (Unix)
|
||||||
|
|
||||||
|
(3.2) After startup, the default web applications included with Tomcat will be
|
||||||
|
available by visiting:
|
||||||
|
|
||||||
|
http://localhost:8080/
|
||||||
|
|
||||||
|
(3.3) Further information about configuring and running Tomcat can be found in
|
||||||
|
the documentation included here, as well as on the Tomcat web site:
|
||||||
|
|
||||||
|
http://jakarta.apache.org/tomcat/
|
||||||
|
|
||||||
|
|
||||||
|
(4) Shut Down Tomcat
|
||||||
|
|
||||||
|
(4.1) Tomcat can be shut down by executing the following command:
|
||||||
|
|
||||||
|
$CATALINA_HOME\bin\shutdown (Windows)
|
||||||
|
|
||||||
|
$CATALINA_HOME/bin/shutdown.sh (Unix)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
===========================================
|
||||||
|
Running Tomcat With J2SE Version 1.4 or 1.3
|
||||||
|
===========================================
|
||||||
|
|
||||||
|
(1) Obtain the compat package:
|
||||||
|
|
||||||
|
(1.1) Download the compat package from the binary download site:
|
||||||
|
http://jakarta.apache.org/site/binindex.cgi
|
||||||
|
|
||||||
|
* Or build this package yourself from the source code: see
|
||||||
|
"BUILDING.txt" in this directory.
|
||||||
|
|
||||||
|
(2) Unzip the package in $CATALINA_HOME. It will place the XML
|
||||||
|
parser APIs and Xerces implementation in the common/endorsed
|
||||||
|
directory, and the JMX API jar (jmx.jar from Sun) in the bin
|
||||||
|
directory.
|
||||||
|
|
||||||
|
(3) Follow the same directions for starting and stopping the
|
||||||
|
server as if you were using J2SE 5.0.
|
||||||
|
|
||||||
|
|
||||||
|
====================================================
|
||||||
|
Advanced Configuration - Multiple Tomcat Instances
|
||||||
|
====================================================
|
||||||
|
|
||||||
|
In many circumstances, it is desirable to have a single copy of a Tomcat
|
||||||
|
binary distribution shared among multiple users on the same server. To make
|
||||||
|
this possible, you can pass a "-Dcatalina.base=$CATALINA_BASE" argument when
|
||||||
|
executing the startup command (see (2)). In this
|
||||||
|
"-Dcatalina.base=$CATALINA_BASE" argument, replace $CATALINA_BASE with the
|
||||||
|
directory that contains the files for your 'personal' Tomcat instance.
|
||||||
|
|
||||||
|
When you use this "-Dcatalina.base=$CATALINA_BASE" argument, Tomcat will
|
||||||
|
calculate all relative references for files in the following directories based
|
||||||
|
on the value of $CATALINA_BASE instead of $CATALINA_HOME:
|
||||||
|
|
||||||
|
* conf - Server configuration files (including server.xml)
|
||||||
|
|
||||||
|
* logs - Log and output files
|
||||||
|
|
||||||
|
* shared - For classes and resources that must be shared across all web
|
||||||
|
applications
|
||||||
|
|
||||||
|
* webapps - Automatically loaded web applications
|
||||||
|
|
||||||
|
* work - Temporary working directories for web applications
|
||||||
|
|
||||||
|
* temp - Directory used by the JVM for temporary files (java.io.tmpdir)
|
||||||
|
|
||||||
|
If you do not pass the "-Dcatalina.base=$CATALINA_BASE" argument to the
|
||||||
|
startup command, $CATALINA_BASE will default to the same value as $CATALINA_HOME,
|
||||||
|
which means that the same directory is used for all relative path resolutions.
|
||||||
|
|
||||||
|
The administration and manager web applications, which are defined in the
|
||||||
|
$CATALINA_BASE/conf/Catalina/localhost/admin.xml
|
||||||
|
and
|
||||||
|
$CATALINA_BASE/conf/Catalina/localhost/manager.xml files, will
|
||||||
|
not run in that configuration, unless either:
|
||||||
|
- The path specified in the docBase attribute of the Context element is made
|
||||||
|
absolute, and replaced respectively by $CATALINA_HOME/server/webapps/admin
|
||||||
|
and $CATALINA_HOME/server/webapps/manager
|
||||||
|
- Both web applications are copied or moved to $CATALINA_BASE,
|
||||||
|
and the path specified in the docBase attribute of the Context
|
||||||
|
element is modified appropriately.
|
||||||
|
- Both web applications are disabled by removing
|
||||||
|
$CATALINA_BASE/conf/Catalina/localhost/admin.xml
|
||||||
|
and
|
||||||
|
$CATALINA_BASE/conf/Catalina/localhost/manager.xml.
|
||||||
|
|
||||||
|
|
||||||
|
================
|
||||||
|
Troubleshooting
|
||||||
|
================
|
||||||
|
|
||||||
|
There are only really 3 things likely to go wrong during the stand-alone
|
||||||
|
Tomcat install:
|
||||||
|
|
||||||
|
(1) The most common hiccup is when another web server (or any process for that
|
||||||
|
matter) has laid claim to port 8080. This is the default HTTP port that
|
||||||
|
Tomcat attempts to bind to at startup. To change this, open the file:
|
||||||
|
|
||||||
|
$CATALINA_HOME/conf/server.xml
|
||||||
|
|
||||||
|
and search for '8080'. Change it to a port that isn't in use, and is
|
||||||
|
greater than 1024, as ports less than or equal to 1024 require superuser
|
||||||
|
access to bind under UNIX.
|
||||||
|
|
||||||
|
Restart Tomcat and you're in business. Be sure that you replace the "8080"
|
||||||
|
in the URL you're using to access Tomcat. For example, if you change the
|
||||||
|
port to 1977, you would request the URL http://localhost:1977/ in your browser.
|
||||||
|
|
||||||
|
(2) An "out of environment space" error when running the batch files in
|
||||||
|
Windows 95, 98, or ME operating systems.
|
||||||
|
|
||||||
|
Right-click on the STARTUP.BAT and SHUTDOWN.BAT files. Click on
|
||||||
|
"Properties", then on the "Memory" tab. For the "Initial environment" field,
|
||||||
|
enter in something like 4096.
|
||||||
|
|
||||||
|
After you click apply, Windows will create shortcuts which you can use
|
||||||
|
to start and stop the container.
|
||||||
|
|
||||||
|
(3) The 'localhost' machine isn't found. This could happen if you're behind a
|
||||||
|
proxy. If that's the case, make sure the proxy configuration for your
|
||||||
|
browser knows that you shouldn't be going through the proxy to access the
|
||||||
|
"localhost".
|
||||||
|
|
||||||
|
In Netscape, this is under Edit/Preferences -> Advanced/Proxies, and in
|
||||||
|
Internet Explorer, Tools -> Internet Options -> Connections -> LAN Settings.
|
BIN
tomcat/bin/bootstrap.jar
Normal file
BIN
tomcat/bin/bootstrap.jar
Normal file
Binary file not shown.
196
tomcat/bin/catalina.bat
Normal file
196
tomcat/bin/catalina.bat
Normal file
|
@ -0,0 +1,196 @@
|
||||||
|
@echo off
|
||||||
|
if "%OS%" == "Windows_NT" setlocal
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
rem Start/Stop Script for the CATALINA Server
|
||||||
|
rem
|
||||||
|
rem Environment Variable Prequisites
|
||||||
|
rem
|
||||||
|
rem CATALINA_HOME May point at your Catalina "build" directory.
|
||||||
|
rem
|
||||||
|
rem CATALINA_BASE (Optional) Base directory for resolving dynamic portions
|
||||||
|
rem of a Catalina installation. If not present, resolves to
|
||||||
|
rem the same directory that CATALINA_HOME points to.
|
||||||
|
rem
|
||||||
|
rem CATALINA_OPTS (Optional) Java runtime options used when the "start",
|
||||||
|
rem "stop", or "run" command is executed.
|
||||||
|
rem
|
||||||
|
rem CATALINA_TMPDIR (Optional) Directory path location of temporary directory
|
||||||
|
rem the JVM should use (java.io.tmpdir). Defaults to
|
||||||
|
rem %CATALINA_BASE%\temp.
|
||||||
|
rem
|
||||||
|
rem JAVA_HOME Must point at your Java Development Kit installation.
|
||||||
|
rem
|
||||||
|
rem JAVA_OPTS (Optional) Java runtime options used when the "start",
|
||||||
|
rem "stop", or "run" command is executed.
|
||||||
|
rem
|
||||||
|
rem JSSE_HOME (Optional) May point at your Java Secure Sockets Extension
|
||||||
|
rem (JSSE) installation, whose JAR files will be added to the
|
||||||
|
rem system class path used to start Tomcat.
|
||||||
|
rem
|
||||||
|
rem JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start"
|
||||||
|
rem command is executed. The default is "dt_shmem".
|
||||||
|
rem
|
||||||
|
rem JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start"
|
||||||
|
rem command is executed. The default is "jdbconn".
|
||||||
|
rem
|
||||||
|
rem $Id: catalina.bat,v 1.3 2005/05/17 16:50:43 aranganath Exp $
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
rem Guess CATALINA_HOME if not defined
|
||||||
|
set CURRENT_DIR=%cd%
|
||||||
|
if not "%CATALINA_HOME%" == "" goto gotHome
|
||||||
|
set CATALINA_HOME=%CURRENT_DIR%
|
||||||
|
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
||||||
|
cd ..
|
||||||
|
set CATALINA_HOME=%cd%
|
||||||
|
cd %CURRENT_DIR%
|
||||||
|
:gotHome
|
||||||
|
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
||||||
|
echo The CATALINA_HOME environment variable is not defined correctly
|
||||||
|
echo This environment variable is needed to run this program
|
||||||
|
goto end
|
||||||
|
:okHome
|
||||||
|
|
||||||
|
rem Get standard environment variables
|
||||||
|
if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"
|
||||||
|
|
||||||
|
rem Get standard Java environment variables
|
||||||
|
if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
|
||||||
|
echo Cannot find %CATALINA_HOME%\bin\setclasspath.bat
|
||||||
|
echo This file is needed to run this program
|
||||||
|
goto end
|
||||||
|
:okSetclasspath
|
||||||
|
set BASEDIR=%CATALINA_HOME%
|
||||||
|
call "%CATALINA_HOME%\bin\setclasspath.bat"
|
||||||
|
|
||||||
|
rem Add on extra jar files to CLASSPATH
|
||||||
|
if "%JSSE_HOME%" == "" goto noJsse
|
||||||
|
set CLASSPATH=%CLASSPATH%;%JSSE_HOME%\lib\jcert.jar;%JSSE_HOME%\lib\jnet.jar;%JSSE_HOME%\lib\jsse.jar
|
||||||
|
:noJsse
|
||||||
|
set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar
|
||||||
|
|
||||||
|
if not "%CATALINA_BASE%" == "" goto gotBase
|
||||||
|
set CATALINA_BASE=%CATALINA_HOME%
|
||||||
|
:gotBase
|
||||||
|
|
||||||
|
if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir
|
||||||
|
set CATALINA_TMPDIR=%CATALINA_BASE%\temp
|
||||||
|
:gotTmpdir
|
||||||
|
|
||||||
|
if not exist "%CATALINA_HOME%\bin\tomcat-juli.jar" goto noJuli
|
||||||
|
set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
|
||||||
|
:noJuli
|
||||||
|
|
||||||
|
rem ----- Execute The Requested Command ---------------------------------------
|
||||||
|
|
||||||
|
echo Using CATALINA_BASE: %CATALINA_BASE%
|
||||||
|
echo Using CATALINA_HOME: %CATALINA_HOME%
|
||||||
|
echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
|
||||||
|
echo Using JAVA_HOME: %JAVA_HOME%
|
||||||
|
|
||||||
|
set _EXECJAVA=%_RUNJAVA%
|
||||||
|
set MAINCLASS=org.apache.catalina.startup.Bootstrap
|
||||||
|
set ACTION=start
|
||||||
|
set SECURITY_POLICY_FILE=
|
||||||
|
set DEBUG_OPTS=
|
||||||
|
set JPDA=
|
||||||
|
|
||||||
|
if not ""%1"" == ""jpda"" goto noJpda
|
||||||
|
set JPDA=jpda
|
||||||
|
if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport
|
||||||
|
set JPDA_TRANSPORT=dt_shmem
|
||||||
|
:gotJpdaTransport
|
||||||
|
if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
|
||||||
|
set JPDA_ADDRESS=jdbconn
|
||||||
|
:gotJpdaAddress
|
||||||
|
shift
|
||||||
|
:noJpda
|
||||||
|
|
||||||
|
if ""%1"" == ""debug"" goto doDebug
|
||||||
|
if ""%1"" == ""run"" goto doRun
|
||||||
|
if ""%1"" == ""start"" goto doStart
|
||||||
|
if ""%1"" == ""stop"" goto doStop
|
||||||
|
if ""%1"" == ""version"" goto doVersion
|
||||||
|
|
||||||
|
echo Usage: catalina ( commands ... )
|
||||||
|
echo commands:
|
||||||
|
echo debug Start Catalina in a debugger
|
||||||
|
echo debug -security Debug Catalina with a security manager
|
||||||
|
echo jpda start Start Catalina under JPDA debugger
|
||||||
|
echo run Start Catalina in the current window
|
||||||
|
echo run -security Start in the current window with security manager
|
||||||
|
echo start Start Catalina in a separate window
|
||||||
|
echo start -security Start in a separate window with security manager
|
||||||
|
echo stop Stop Catalina
|
||||||
|
echo version What version of tomcat are you running?
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:doDebug
|
||||||
|
shift
|
||||||
|
set _EXECJAVA=%_RUNJDB%
|
||||||
|
set DEBUG_OPTS=-sourcepath "%CATALINA_HOME%\..\..\jakarta-tomcat-catalina\catalina\src\share"
|
||||||
|
if not ""%1"" == ""-security"" goto execCmd
|
||||||
|
shift
|
||||||
|
echo Using Security Manager
|
||||||
|
set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy
|
||||||
|
goto execCmd
|
||||||
|
|
||||||
|
:doRun
|
||||||
|
shift
|
||||||
|
if not ""%1"" == ""-security"" goto execCmd
|
||||||
|
shift
|
||||||
|
echo Using Security Manager
|
||||||
|
set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy
|
||||||
|
goto execCmd
|
||||||
|
|
||||||
|
:doStart
|
||||||
|
shift
|
||||||
|
if not "%OS%" == "Windows_NT" goto noTitle
|
||||||
|
set _EXECJAVA=start "Tomcat" %_RUNJAVA%
|
||||||
|
goto gotTitle
|
||||||
|
:noTitle
|
||||||
|
set _EXECJAVA=start %_RUNJAVA%
|
||||||
|
:gotTitle
|
||||||
|
if not ""%1"" == ""-security"" goto execCmd
|
||||||
|
shift
|
||||||
|
echo Using Security Manager
|
||||||
|
set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy
|
||||||
|
goto execCmd
|
||||||
|
|
||||||
|
:doStop
|
||||||
|
shift
|
||||||
|
set ACTION=stop
|
||||||
|
goto execCmd
|
||||||
|
|
||||||
|
:doVersion
|
||||||
|
%_EXECJAVA% -classpath "%CATALINA_HOME%\server\lib\catalina.jar" org.apache.catalina.util.ServerInfo
|
||||||
|
goto end
|
||||||
|
|
||||||
|
|
||||||
|
:execCmd
|
||||||
|
rem Get remaining unshifted command line arguments and save them in the
|
||||||
|
set CMD_LINE_ARGS=
|
||||||
|
:setArgs
|
||||||
|
if ""%1""=="""" goto doneSetArgs
|
||||||
|
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
||||||
|
shift
|
||||||
|
goto setArgs
|
||||||
|
:doneSetArgs
|
||||||
|
|
||||||
|
rem Execute Java with the applicable properties
|
||||||
|
if not "%JPDA%" == "" goto doJpda
|
||||||
|
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity
|
||||||
|
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
|
||||||
|
goto end
|
||||||
|
:doSecurity
|
||||||
|
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
|
||||||
|
goto end
|
||||||
|
:doJpda
|
||||||
|
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda
|
||||||
|
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% -Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=n %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
|
||||||
|
goto end
|
||||||
|
:doSecurityJpda
|
||||||
|
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% -Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=n %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:end
|
310
tomcat/bin/catalina.sh
Normal file
310
tomcat/bin/catalina.sh
Normal file
|
@ -0,0 +1,310 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Start/Stop Script for the CATALINA Server
|
||||||
|
#
|
||||||
|
# Environment Variable Prequisites
|
||||||
|
#
|
||||||
|
# CATALINA_HOME May point at your Catalina "build" directory.
|
||||||
|
#
|
||||||
|
# CATALINA_BASE (Optional) Base directory for resolving dynamic portions
|
||||||
|
# of a Catalina installation. If not present, resolves to
|
||||||
|
# the same directory that CATALINA_HOME points to.
|
||||||
|
#
|
||||||
|
# CATALINA_OPTS (Optional) Java runtime options used when the "start",
|
||||||
|
# "stop", or "run" command is executed.
|
||||||
|
#
|
||||||
|
# CATALINA_TMPDIR (Optional) Directory path location of temporary directory
|
||||||
|
# the JVM should use (java.io.tmpdir). Defaults to
|
||||||
|
# $CATALINA_BASE/temp.
|
||||||
|
#
|
||||||
|
# JAVA_HOME Must point at your Java Development Kit installation.
|
||||||
|
# Required to run the with the "debug" or "javac" argument.
|
||||||
|
#
|
||||||
|
# JRE_HOME Must point at your Java Development Kit installation.
|
||||||
|
# Defaults to JAVA_HOME if empty.
|
||||||
|
#
|
||||||
|
# JAVA_OPTS (Optional) Java runtime options used when the "start",
|
||||||
|
# "stop", or "run" command is executed.
|
||||||
|
#
|
||||||
|
# JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start"
|
||||||
|
# command is executed. The default is "dt_socket".
|
||||||
|
#
|
||||||
|
# JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start"
|
||||||
|
# command is executed. The default is 8000.
|
||||||
|
#
|
||||||
|
# JSSE_HOME (Optional) May point at your Java Secure Sockets Extension
|
||||||
|
# (JSSE) installation, whose JAR files will be added to the
|
||||||
|
# system class path used to start Tomcat.
|
||||||
|
#
|
||||||
|
# CATALINA_PID (Optional) Path of the file which should contains the pid
|
||||||
|
# of catalina startup java process, when start (fork) is used
|
||||||
|
#
|
||||||
|
# $Id: catalina.sh,v 1.3 2005/05/17 16:50:44 aranganath Exp $
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# OS specific support. $var _must_ be set to either true or false.
|
||||||
|
cygwin=false
|
||||||
|
os400=false
|
||||||
|
case "`uname`" in
|
||||||
|
CYGWIN*) cygwin=true;;
|
||||||
|
OS400*) os400=true;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# resolve links - $0 may be a softlink
|
||||||
|
PRG="$0"
|
||||||
|
|
||||||
|
while [ -h "$PRG" ]; do
|
||||||
|
ls=`ls -ld "$PRG"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '.*/.*' > /dev/null; then
|
||||||
|
PRG="$link"
|
||||||
|
else
|
||||||
|
PRG=`dirname "$PRG"`/"$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Get standard environment variables
|
||||||
|
PRGDIR=`dirname "$PRG"`
|
||||||
|
|
||||||
|
# Only set CATALINA_HOME if not already set
|
||||||
|
[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." ; pwd`
|
||||||
|
|
||||||
|
if [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
|
||||||
|
. "$CATALINA_HOME"/bin/setenv.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
||||||
|
if $cygwin; then
|
||||||
|
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||||
|
[ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"`
|
||||||
|
[ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
|
||||||
|
[ -n "$CATALINA_BASE" ] && CATALINA_BASE=`cygpath --unix "$CATALINA_BASE"`
|
||||||
|
[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
|
||||||
|
[ -n "$JSSE_HOME" ] && JSSE_HOME=`cygpath --absolute --unix "$JSSE_HOME"`
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For OS400
|
||||||
|
if $os400; then
|
||||||
|
# Set job priority to standard for interactive (interactive - 6) by using
|
||||||
|
# the interactive priority - 6, the helper threads that respond to requests
|
||||||
|
# will be running at the same priority as interactive jobs.
|
||||||
|
COMMAND='chgjob job('$JOBNAME') runpty(6)'
|
||||||
|
system $COMMAND
|
||||||
|
|
||||||
|
# Enable multi threading
|
||||||
|
export QIBM_MULTI_THREADED=Y
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get standard Java environment variables
|
||||||
|
if $os400; then
|
||||||
|
# -r will Only work on the os400 if the files are:
|
||||||
|
# 1. owned by the user
|
||||||
|
# 2. owned by the PRIMARY group of the user
|
||||||
|
# this will not work if the user belongs in secondary groups
|
||||||
|
BASEDIR="$CATALINA_HOME"
|
||||||
|
. "$CATALINA_HOME"/bin/setclasspath.sh
|
||||||
|
else
|
||||||
|
if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
|
||||||
|
BASEDIR="$CATALINA_HOME"
|
||||||
|
. "$CATALINA_HOME"/bin/setclasspath.sh
|
||||||
|
else
|
||||||
|
echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
|
||||||
|
echo "This file is needed to run this program"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set juli LogManager if it is present
|
||||||
|
if [ -r "$CATALINA_HOME"/bin/tomcat-juli.jar ]; then
|
||||||
|
JAVA_OPTS="$JAVA_OPTS "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add on extra jar files to CLASSPATH
|
||||||
|
if [ -n "$JSSE_HOME" ]; then
|
||||||
|
CLASSPATH="$CLASSPATH":"$JSSE_HOME"/lib/jcert.jar:"$JSSE_HOME"/lib/jnet.jar:"$JSSE_HOME"/lib/jsse.jar
|
||||||
|
fi
|
||||||
|
CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar:"$CATALINA_HOME"/bin/commons-logging-api.jar
|
||||||
|
|
||||||
|
if [ -z "$CATALINA_BASE" ] ; then
|
||||||
|
CATALINA_BASE="$CATALINA_HOME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$CATALINA_TMPDIR" ] ; then
|
||||||
|
# Define the java.io.tmpdir to use for Catalina
|
||||||
|
CATALINA_TMPDIR="$CATALINA_BASE"/temp
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For Cygwin, switch paths to Windows format before running java
|
||||||
|
if $cygwin; then
|
||||||
|
JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
|
||||||
|
JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"`
|
||||||
|
CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"`
|
||||||
|
CATALINA_BASE=`cygpath --absolute --windows "$CATALINA_BASE"`
|
||||||
|
CATALINA_TMPDIR=`cygpath --absolute --windows "$CATALINA_TMPDIR"`
|
||||||
|
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
||||||
|
[ -n "$JSSE_HOME" ] && JSSE_HOME=`cygpath --absolute --windows "$JSSE_HOME"`
|
||||||
|
JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ----- Execute The Requested Command -----------------------------------------
|
||||||
|
|
||||||
|
echo "Using CATALINA_BASE: $CATALINA_BASE"
|
||||||
|
echo "Using CATALINA_HOME: $CATALINA_HOME"
|
||||||
|
echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"
|
||||||
|
if [ "$1" = "debug" -o "$1" = "javac" ] ; then
|
||||||
|
echo "Using JAVA_HOME: $JAVA_HOME"
|
||||||
|
else
|
||||||
|
echo "Using JRE_HOME: $JRE_HOME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "jpda" ] ; then
|
||||||
|
if [ -z "$JPDA_TRANSPORT" ]; then
|
||||||
|
JPDA_TRANSPORT="dt_socket"
|
||||||
|
fi
|
||||||
|
if [ -z "$JPDA_ADDRESS" ]; then
|
||||||
|
JPDA_ADDRESS="8000"
|
||||||
|
fi
|
||||||
|
if [ -z "$JPDA_OPTS" ]; then
|
||||||
|
JPDA_OPTS="-Xdebug -Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=n"
|
||||||
|
fi
|
||||||
|
CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "debug" ] ; then
|
||||||
|
if $os400; then
|
||||||
|
echo "Debug command not available on OS400"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
shift
|
||||||
|
if [ "$1" = "-security" ] ; then
|
||||||
|
echo "Using Security Manager"
|
||||||
|
shift
|
||||||
|
exec "$_RUNJDB" $JAVA_OPTS $CATALINA_OPTS \
|
||||||
|
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
|
||||||
|
-sourcepath "$CATALINA_HOME"/../../jakarta-tomcat-catalina/catalina/src/share \
|
||||||
|
-Djava.security.manager \
|
||||||
|
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
|
||||||
|
-Dcatalina.base="$CATALINA_BASE" \
|
||||||
|
-Dcatalina.home="$CATALINA_HOME" \
|
||||||
|
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
|
||||||
|
org.apache.catalina.startup.Bootstrap "$@" start
|
||||||
|
else
|
||||||
|
exec "$_RUNJDB" $JAVA_OPTS $CATALINA_OPTS \
|
||||||
|
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
|
||||||
|
-sourcepath "$CATALINA_HOME"/../../jakarta-tomcat-catalina/catalina/src/share \
|
||||||
|
-Dcatalina.base="$CATALINA_BASE" \
|
||||||
|
-Dcatalina.home="$CATALINA_HOME" \
|
||||||
|
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
|
||||||
|
org.apache.catalina.startup.Bootstrap "$@" start
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
elif [ "$1" = "run" ]; then
|
||||||
|
|
||||||
|
shift
|
||||||
|
if [ "$1" = "-security" ] ; then
|
||||||
|
echo "Using Security Manager"
|
||||||
|
shift
|
||||||
|
exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
|
||||||
|
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
|
||||||
|
-Djava.security.manager \
|
||||||
|
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
|
||||||
|
-Dcatalina.base="$CATALINA_BASE" \
|
||||||
|
-Dcatalina.home="$CATALINA_HOME" \
|
||||||
|
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
|
||||||
|
org.apache.catalina.startup.Bootstrap "$@" start
|
||||||
|
else
|
||||||
|
exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
|
||||||
|
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
|
||||||
|
-Dcatalina.base="$CATALINA_BASE" \
|
||||||
|
-Dcatalina.home="$CATALINA_HOME" \
|
||||||
|
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
|
||||||
|
org.apache.catalina.startup.Bootstrap "$@" start
|
||||||
|
fi
|
||||||
|
|
||||||
|
elif [ "$1" = "start" ] ; then
|
||||||
|
|
||||||
|
shift
|
||||||
|
touch "$CATALINA_BASE"/logs/catalina.out
|
||||||
|
if [ "$1" = "-security" ] ; then
|
||||||
|
echo "Using Security Manager"
|
||||||
|
shift
|
||||||
|
"$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
|
||||||
|
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
|
||||||
|
-Djava.security.manager \
|
||||||
|
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
|
||||||
|
-Dcatalina.base="$CATALINA_BASE" \
|
||||||
|
-Dcatalina.home="$CATALINA_HOME" \
|
||||||
|
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
|
||||||
|
org.apache.catalina.startup.Bootstrap "$@" start \
|
||||||
|
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
|
||||||
|
|
||||||
|
if [ ! -z "$CATALINA_PID" ]; then
|
||||||
|
echo $! > $CATALINA_PID
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
"$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
|
||||||
|
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
|
||||||
|
-Dcatalina.base="$CATALINA_BASE" \
|
||||||
|
-Dcatalina.home="$CATALINA_HOME" \
|
||||||
|
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
|
||||||
|
org.apache.catalina.startup.Bootstrap "$@" start \
|
||||||
|
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
|
||||||
|
|
||||||
|
if [ ! -z "$CATALINA_PID" ]; then
|
||||||
|
echo $! > $CATALINA_PID
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
elif [ "$1" = "stop" ] ; then
|
||||||
|
|
||||||
|
shift
|
||||||
|
FORCE=0
|
||||||
|
if [ "$1" = "-force" ]; then
|
||||||
|
shift
|
||||||
|
FORCE=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
"$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
|
||||||
|
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
|
||||||
|
-Dcatalina.base="$CATALINA_BASE" \
|
||||||
|
-Dcatalina.home="$CATALINA_HOME" \
|
||||||
|
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
|
||||||
|
org.apache.catalina.startup.Bootstrap "$@" stop
|
||||||
|
|
||||||
|
if [ $FORCE -eq 1 ]; then
|
||||||
|
if [ ! -z "$CATALINA_PID" ]; then
|
||||||
|
echo "Killing: `cat $CATALINA_PID`"
|
||||||
|
kill -9 `cat $CATALINA_PID`
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
elif [ "$1" = "version" ] ; then
|
||||||
|
|
||||||
|
"$_RUNJAVA" \
|
||||||
|
-classpath "$CATALINA_HOME/server/lib/catalina.jar" \
|
||||||
|
org.apache.catalina.util.ServerInfo
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
echo "Usage: catalina.sh ( commands ... )"
|
||||||
|
echo "commands:"
|
||||||
|
if $os400; then
|
||||||
|
echo " debug Start Catalina in a debugger (not available on OS400)"
|
||||||
|
echo " debug -security Debug Catalina with a security manager (not available on OS400)"
|
||||||
|
else
|
||||||
|
echo " debug Start Catalina in a debugger"
|
||||||
|
echo " debug -security Debug Catalina with a security manager"
|
||||||
|
fi
|
||||||
|
echo " jpda start Start Catalina under JPDA debugger"
|
||||||
|
echo " run Start Catalina in the current window"
|
||||||
|
echo " run -security Start in the current window with security manager"
|
||||||
|
echo " start Start Catalina in a separate window"
|
||||||
|
echo " start -security Start in a separate window with security manager"
|
||||||
|
echo " stop Stop Catalina"
|
||||||
|
echo " stop -force Stop Catalina (followed by kill -KILL)"
|
||||||
|
echo " version What version of tomcat are you running?"
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
fi
|
BIN
tomcat/bin/commons-daemon.jar
Normal file
BIN
tomcat/bin/commons-daemon.jar
Normal file
Binary file not shown.
BIN
tomcat/bin/commons-logging-api.jar
Normal file
BIN
tomcat/bin/commons-logging-api.jar
Normal file
Binary file not shown.
19
tomcat/bin/cpappend.bat
Normal file
19
tomcat/bin/cpappend.bat
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
rem Append to CLASSPATH
|
||||||
|
rem
|
||||||
|
rem $Id: cpappend.bat,v 1.3 2005/05/17 16:50:45 aranganath Exp $
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
rem Process the first argument
|
||||||
|
if ""%1"" == """" goto end
|
||||||
|
set CLASSPATH=%CLASSPATH%;%1
|
||||||
|
shift
|
||||||
|
|
||||||
|
rem Process the remaining arguments
|
||||||
|
:setArgs
|
||||||
|
if ""%1"" == """" goto doneSetArgs
|
||||||
|
set CLASSPATH=%CLASSPATH% %1
|
||||||
|
shift
|
||||||
|
goto setArgs
|
||||||
|
:doneSetArgs
|
||||||
|
:end
|
41
tomcat/bin/digest.bat
Normal file
41
tomcat/bin/digest.bat
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
@echo off
|
||||||
|
if "%OS%" == "Windows_NT" setlocal
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
rem Script to digest password using the algorithm specified
|
||||||
|
rem
|
||||||
|
rem $Id: digest.bat,v 1.3 2005/05/17 16:50:44 aranganath Exp $
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
rem Guess CATALINA_HOME if not defined
|
||||||
|
if not "%CATALINA_HOME%" == "" goto gotHome
|
||||||
|
set CATALINA_HOME=.
|
||||||
|
if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
|
||||||
|
set CATALINA_HOME=..
|
||||||
|
:gotHome
|
||||||
|
if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
|
||||||
|
echo The CATALINA_HOME environment variable is not defined correctly
|
||||||
|
echo This environment variable is needed to run this program
|
||||||
|
goto end
|
||||||
|
:okHome
|
||||||
|
|
||||||
|
set EXECUTABLE=%CATALINA_HOME%\bin\tool-wrapper.bat
|
||||||
|
|
||||||
|
rem Check that target executable exists
|
||||||
|
if exist "%EXECUTABLE%" goto okExec
|
||||||
|
echo Cannot find %EXECUTABLE%
|
||||||
|
echo This file is needed to run this program
|
||||||
|
goto end
|
||||||
|
:okExec
|
||||||
|
|
||||||
|
rem Get remaining unshifted command line arguments and save them in the
|
||||||
|
set CMD_LINE_ARGS=
|
||||||
|
:setArgs
|
||||||
|
if ""%1""=="""" goto doneSetArgs
|
||||||
|
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
||||||
|
shift
|
||||||
|
goto setArgs
|
||||||
|
:doneSetArgs
|
||||||
|
|
||||||
|
call "%EXECUTABLE%" -server org.apache.catalina.realm.RealmBase %CMD_LINE_ARGS%
|
||||||
|
|
||||||
|
:end
|
31
tomcat/bin/digest.sh
Normal file
31
tomcat/bin/digest.sh
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Script to digest password using the algorithm specified
|
||||||
|
#
|
||||||
|
# $Id: digest.sh,v 1.3 2005/05/17 16:50:45 aranganath Exp $
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# resolve links - $0 may be a softlink
|
||||||
|
PRG="$0"
|
||||||
|
|
||||||
|
while [ -h "$PRG" ] ; do
|
||||||
|
ls=`ls -ld "$PRG"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '.*/.*' > /dev/null; then
|
||||||
|
PRG="$link"
|
||||||
|
else
|
||||||
|
PRG=`dirname "$PRG"`/"$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
PRGDIR=`dirname "$PRG"`
|
||||||
|
EXECUTABLE=tool-wrapper.sh
|
||||||
|
|
||||||
|
# Check that target executable exists
|
||||||
|
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
|
||||||
|
echo "Cannot find $PRGDIR/$EXECUTABLE"
|
||||||
|
echo "This file is needed to run this program"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$PRGDIR"/"$EXECUTABLE" -server org.apache.catalina.realm.RealmBase "$@"
|
BIN
tomcat/bin/jmx.jar
Normal file
BIN
tomcat/bin/jmx.jar
Normal file
Binary file not shown.
BIN
tomcat/bin/jsvc.tar.gz
Normal file
BIN
tomcat/bin/jsvc.tar.gz
Normal file
Binary file not shown.
111
tomcat/bin/service.bat
Normal file
111
tomcat/bin/service.bat
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
@echo off
|
||||||
|
if "%OS%" == "Windows_NT" setlocal
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
rem NT Service Install/Uninstall script
|
||||||
|
rem
|
||||||
|
rem Options
|
||||||
|
rem install Install the service using Tomcat5 as service name.
|
||||||
|
rem Service is installed using default settings.
|
||||||
|
rem remove Remove the service from the System.
|
||||||
|
rem
|
||||||
|
rem name (optional) If the second argument is present it is considered
|
||||||
|
rem to be new service name
|
||||||
|
rem
|
||||||
|
rem $Id: service.bat,v 1.3 2005/05/17 16:50:44 aranganath Exp $
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
rem Guess CATALINA_HOME if not defined
|
||||||
|
set CURRENT_DIR=%cd%
|
||||||
|
if not "%CATALINA_HOME%" == "" goto gotHome
|
||||||
|
set CATALINA_HOME=%cd%
|
||||||
|
if exist "%CATALINA_HOME%\bin\tomcat5.exe" goto okHome
|
||||||
|
rem CD to the upper dir
|
||||||
|
cd ..
|
||||||
|
set CATALINA_HOME=%cd%
|
||||||
|
:gotHome
|
||||||
|
if exist "%CATALINA_HOME%\bin\tomcat5.exe" goto okHome
|
||||||
|
echo The tomcat.exe was not found...
|
||||||
|
echo The CATALINA_HOME environment variable is not defined correctly.
|
||||||
|
echo This environment variable is needed to run this program
|
||||||
|
goto end
|
||||||
|
rem Make sure prerequisite environment variables are set
|
||||||
|
if not "%JAVA_HOME%" == "" goto okHome
|
||||||
|
echo The JAVA_HOME environment variable is not defined
|
||||||
|
echo This environment variable is needed to run this program
|
||||||
|
goto end
|
||||||
|
:okHome
|
||||||
|
if not "%CATALINA_BASE%" == "" goto gotBase
|
||||||
|
set CATALINA_BASE=%CATALINA_HOME%
|
||||||
|
:gotBase
|
||||||
|
|
||||||
|
set EXECUTABLE=%CATALINA_HOME%\bin\tomcat5.exe
|
||||||
|
|
||||||
|
rem Set default Service name
|
||||||
|
set SERVICE_NAME=Tomcat5
|
||||||
|
set PR_DISPLAYNAME=Apache Tomcat
|
||||||
|
|
||||||
|
if "%1" == "" goto displayUsage
|
||||||
|
if "%2" == "" goto setServiceName
|
||||||
|
set SERVICE_NAME=%2
|
||||||
|
set PR_DISPLAYNAME=Apache Tomcat %2
|
||||||
|
:setServiceName
|
||||||
|
if %1 == install goto doInstall
|
||||||
|
if %1 == remove goto doRemove
|
||||||
|
if %1 == uninstall goto doRemove
|
||||||
|
echo Unknown parameter "%1"
|
||||||
|
:displayUsage
|
||||||
|
echo
|
||||||
|
echo Usage: service.bat install/remove [service_name]
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:doRemove
|
||||||
|
rem Remove the service
|
||||||
|
"%EXECUTABLE%" //DS//%SERVICE_NAME%
|
||||||
|
echo The service '%SERVICE_NAME%' has been removed
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:doInstall
|
||||||
|
rem Install the service
|
||||||
|
echo Installing the service '%SERVICE_NAME%' ...
|
||||||
|
echo Using CATALINA_HOME: %CATALINA_HOME%
|
||||||
|
echo Using JAVA_HOME: %JAVA_HOME%
|
||||||
|
|
||||||
|
rem Use the environment variables as an exaple
|
||||||
|
rem Each command line option is prefixed with PR_
|
||||||
|
|
||||||
|
set PR_DESCRIPTION=Apache Tomcat Server - http://jakarta.apache.org/tomcat
|
||||||
|
set PR_INSTALL=%EXECUTABLE%
|
||||||
|
set PR_LOGPATH=%CATALINA_HOME%\logs
|
||||||
|
set PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar
|
||||||
|
rem Set the server jvm from JAVA_HOME
|
||||||
|
set PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll
|
||||||
|
if exist "%PR_JVM%" goto foundJvm
|
||||||
|
rem Set the client jvm from JAVA_HOME
|
||||||
|
set PR_JVM=%JAVA_HOME%\jre\bin\client\jvm.dll
|
||||||
|
if exist "%PR_JVM%" goto foundJvm
|
||||||
|
set PR_JVM=auto
|
||||||
|
:foundJvm
|
||||||
|
echo Using JVM: %PR_JVM%
|
||||||
|
"%EXECUTABLE%" //IS//%SERVICE_NAME% --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop
|
||||||
|
if not errorlevel 1 goto installed
|
||||||
|
echo Failed installing '%SERVICE_NAME%' service
|
||||||
|
goto end
|
||||||
|
:installed
|
||||||
|
rem Clear the environment variables. They are not needed any more.
|
||||||
|
set PR_DISPLAYNAME=
|
||||||
|
set PR_DESCRIPTION=
|
||||||
|
set PR_INSTALL=
|
||||||
|
set PR_LOGPATH=
|
||||||
|
set PR_CLASSPATH=
|
||||||
|
set PR_JVM=
|
||||||
|
rem Set extra parameters
|
||||||
|
"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions "-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\common\endorsed" --StartMode jvm --StopMode jvm
|
||||||
|
rem More extra parameters
|
||||||
|
set PR_LOGPATH=%CATALINA_HOME%\logs
|
||||||
|
set PR_STDOUTPUT=auto
|
||||||
|
set PR_STDERROR=auto
|
||||||
|
"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp" --JvmMs 128 --JvmMx 256
|
||||||
|
echo The service '%SERVICE_NAME%' has been installed.
|
||||||
|
|
||||||
|
:end
|
||||||
|
cd %CURRENT_DIR%
|
57
tomcat/bin/setclasspath.bat
Normal file
57
tomcat/bin/setclasspath.bat
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
rem Set CLASSPATH and Java options
|
||||||
|
rem
|
||||||
|
rem $Id: setclasspath.bat,v 1.3 2005/05/17 16:50:45 aranganath Exp $
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
rem Make sure prerequisite environment variables are set
|
||||||
|
if not "%JAVA_HOME%" == "" goto gotJavaHome
|
||||||
|
echo The JAVA_HOME environment variable is not defined
|
||||||
|
echo This environment variable is needed to run this program
|
||||||
|
goto exit
|
||||||
|
:gotJavaHome
|
||||||
|
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
|
||||||
|
if not exist "%JAVA_HOME%\bin\javaw.exe" goto noJavaHome
|
||||||
|
if not exist "%JAVA_HOME%\bin\jdb.exe" goto noJavaHome
|
||||||
|
if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome
|
||||||
|
goto okJavaHome
|
||||||
|
:noJavaHome
|
||||||
|
echo The JAVA_HOME environment variable is not defined correctly
|
||||||
|
echo This environment variable is needed to run this program
|
||||||
|
echo NB: JAVA_HOME should point to a JDK not a JRE
|
||||||
|
goto exit
|
||||||
|
:okJavaHome
|
||||||
|
|
||||||
|
if not "%BASEDIR%" == "" goto gotBasedir
|
||||||
|
echo The BASEDIR environment variable is not defined
|
||||||
|
echo This environment variable is needed to run this program
|
||||||
|
goto exit
|
||||||
|
:gotBasedir
|
||||||
|
if exist "%BASEDIR%\bin\setclasspath.bat" goto okBasedir
|
||||||
|
echo The BASEDIR environment variable is not defined correctly
|
||||||
|
echo This environment variable is needed to run this program
|
||||||
|
goto exit
|
||||||
|
:okBasedir
|
||||||
|
|
||||||
|
rem Set the default -Djava.endorsed.dirs argument
|
||||||
|
set JAVA_ENDORSED_DIRS=%BASEDIR%\common\endorsed
|
||||||
|
|
||||||
|
rem Set standard CLASSPATH
|
||||||
|
rem Note that there are no quotes as we do not want to introduce random
|
||||||
|
rem quotes into the CLASSPATH
|
||||||
|
set CLASSPATH=%JAVA_HOME%\lib\tools.jar
|
||||||
|
|
||||||
|
rem Set standard command for invoking Java.
|
||||||
|
rem Note that NT requires a window name argument when using start.
|
||||||
|
rem Also note the quoting as JAVA_HOME may contain spaces.
|
||||||
|
set _RUNJAVA="%JAVA_HOME%\bin\java"
|
||||||
|
set _RUNJAVAW="%JAVA_HOME%\bin\javaw"
|
||||||
|
set _RUNJDB="%JAVA_HOME%\bin\jdb"
|
||||||
|
set _RUNJAVAC="%JAVA_HOME%\bin\javac"
|
||||||
|
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:exit
|
||||||
|
exit /b 1
|
||||||
|
|
||||||
|
:end
|
85
tomcat/bin/setclasspath.sh
Normal file
85
tomcat/bin/setclasspath.sh
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Set CLASSPATH and Java options
|
||||||
|
#
|
||||||
|
# $Id: setclasspath.sh,v 1.3 2005/05/17 16:50:43 aranganath Exp $
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# First clear out the user classpath
|
||||||
|
CLASSPATH=
|
||||||
|
|
||||||
|
# Make sure prerequisite environment variables are set
|
||||||
|
if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then
|
||||||
|
echo "Neither the JAVA_HOME nor the JRE_HOME environment variable is defined"
|
||||||
|
echo "At least one of these environment variable is needed to run this program"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -z "$JAVA_HOME" -a "$1" = "debug" ]; then
|
||||||
|
echo "JAVA_HOME should point to a JDK in order to run in debug mode."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -z "$JRE_HOME" ]; then
|
||||||
|
JRE_HOME="$JAVA_HOME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If we're running under jdb, we need a full jdk.
|
||||||
|
if [ "$1" = "debug" -o "$1" = "javac" ] ; then
|
||||||
|
if [ "$os400" = "true" ]; then
|
||||||
|
if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/javac ]; then
|
||||||
|
echo "The JAVA_HOME environment variable is not defined correctly"
|
||||||
|
echo "This environment variable is needed to run this program"
|
||||||
|
echo "NB: JAVA_HOME should point to a JDK not a JRE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/jdb -o ! -x "$JAVA_HOME"/bin/javac ]; then
|
||||||
|
echo "The JAVA_HOME environment variable is not defined correctly"
|
||||||
|
echo "This environment variable is needed to run this program"
|
||||||
|
echo "NB: JAVA_HOME should point to a JDK not a JRE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ -z "$BASEDIR" ]; then
|
||||||
|
echo "The BASEDIR environment variable is not defined"
|
||||||
|
echo "This environment variable is needed to run this program"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ ! -x "$BASEDIR"/bin/setclasspath.sh ]; then
|
||||||
|
if $os400; then
|
||||||
|
# -x will Only work on the os400 if the files are:
|
||||||
|
# 1. owned by the user
|
||||||
|
# 2. owned by the PRIMARY group of the user
|
||||||
|
# this will not work if the user belongs in secondary groups
|
||||||
|
eval
|
||||||
|
else
|
||||||
|
echo "The BASEDIR environment variable is not defined correctly"
|
||||||
|
echo "This environment variable is needed to run this program"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the default -Djava.endorsed.dirs argument
|
||||||
|
JAVA_ENDORSED_DIRS="$BASEDIR"/common/endorsed
|
||||||
|
|
||||||
|
# Set standard CLASSPATH
|
||||||
|
if [ "$1" = "debug" -o "$1" = "javac" ] ; then
|
||||||
|
CLASSPATH="$JAVA_HOME"/lib/tools.jar
|
||||||
|
fi
|
||||||
|
|
||||||
|
# OSX hack to CLASSPATH
|
||||||
|
JIKESPATH=
|
||||||
|
if [ `uname -s` = "Darwin" ]; then
|
||||||
|
OSXHACK="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Classes"
|
||||||
|
if [ -d "$OSXHACK" ]; then
|
||||||
|
for i in "$OSXHACK"/*.jar; do
|
||||||
|
JIKESPATH="$JIKESPATH":"$i"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set standard commands for invoking Java.
|
||||||
|
_RUNJAVA="$JRE_HOME"/bin/java
|
||||||
|
if [ "$os400" != "true" ]; then
|
||||||
|
_RUNJDB="$JAVA_HOME"/bin/jdb
|
||||||
|
fi
|
||||||
|
_RUNJAVAC="$JAVA_HOME"/bin/javac
|
44
tomcat/bin/shutdown.bat
Normal file
44
tomcat/bin/shutdown.bat
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
@echo off
|
||||||
|
if "%OS%" == "Windows_NT" setlocal
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
rem Stop script for the CATALINA Server
|
||||||
|
rem
|
||||||
|
rem $Id: shutdown.bat,v 1.3 2005/05/17 16:50:43 aranganath Exp $
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
rem Guess CATALINA_HOME if not defined
|
||||||
|
set CURRENT_DIR=%cd%
|
||||||
|
if not "%CATALINA_HOME%" == "" goto gotHome
|
||||||
|
set CATALINA_HOME=%CURRENT_DIR%
|
||||||
|
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
||||||
|
cd ..
|
||||||
|
set CATALINA_HOME=%cd%
|
||||||
|
cd %CURRENT_DIR%
|
||||||
|
:gotHome
|
||||||
|
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
||||||
|
echo The CATALINA_HOME environment variable is not defined correctly
|
||||||
|
echo This environment variable is needed to run this program
|
||||||
|
goto end
|
||||||
|
:okHome
|
||||||
|
|
||||||
|
set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat
|
||||||
|
|
||||||
|
rem Check that target executable exists
|
||||||
|
if exist "%EXECUTABLE%" goto okExec
|
||||||
|
echo Cannot find %EXECUTABLE%
|
||||||
|
echo This file is needed to run this program
|
||||||
|
goto end
|
||||||
|
:okExec
|
||||||
|
|
||||||
|
rem Get remaining unshifted command line arguments and save them in the
|
||||||
|
set CMD_LINE_ARGS=
|
||||||
|
:setArgs
|
||||||
|
if ""%1""=="""" goto doneSetArgs
|
||||||
|
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
||||||
|
shift
|
||||||
|
goto setArgs
|
||||||
|
:doneSetArgs
|
||||||
|
|
||||||
|
call "%EXECUTABLE%" stop %CMD_LINE_ARGS%
|
||||||
|
|
||||||
|
:end
|
31
tomcat/bin/shutdown.sh
Normal file
31
tomcat/bin/shutdown.sh
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Stop script for the CATALINA Server
|
||||||
|
#
|
||||||
|
# $Id: shutdown.sh,v 1.3 2005/05/17 16:50:43 aranganath Exp $
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# resolve links - $0 may be a softlink
|
||||||
|
PRG="$0"
|
||||||
|
|
||||||
|
while [ -h "$PRG" ] ; do
|
||||||
|
ls=`ls -ld "$PRG"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '.*/.*' > /dev/null; then
|
||||||
|
PRG="$link"
|
||||||
|
else
|
||||||
|
PRG=`dirname "$PRG"`/"$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
PRGDIR=`dirname "$PRG"`
|
||||||
|
EXECUTABLE=catalina.sh
|
||||||
|
|
||||||
|
# Check that target executable exists
|
||||||
|
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
|
||||||
|
echo "Cannot find $PRGDIR/$EXECUTABLE"
|
||||||
|
echo "This file is needed to run this program"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
|
44
tomcat/bin/startup.bat
Normal file
44
tomcat/bin/startup.bat
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
@echo off
|
||||||
|
if "%OS%" == "Windows_NT" setlocal
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
rem Start script for the CATALINA Server
|
||||||
|
rem
|
||||||
|
rem $Id: startup.bat,v 1.3 2005/05/17 16:50:45 aranganath Exp $
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
rem Guess CATALINA_HOME if not defined
|
||||||
|
set CURRENT_DIR=%cd%
|
||||||
|
if not "%CATALINA_HOME%" == "" goto gotHome
|
||||||
|
set CATALINA_HOME=%CURRENT_DIR%
|
||||||
|
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
||||||
|
cd ..
|
||||||
|
set CATALINA_HOME=%cd%
|
||||||
|
cd %CURRENT_DIR%
|
||||||
|
:gotHome
|
||||||
|
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
||||||
|
echo The CATALINA_HOME environment variable is not defined correctly
|
||||||
|
echo This environment variable is needed to run this program
|
||||||
|
goto end
|
||||||
|
:okHome
|
||||||
|
|
||||||
|
set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat
|
||||||
|
|
||||||
|
rem Check that target executable exists
|
||||||
|
if exist "%EXECUTABLE%" goto okExec
|
||||||
|
echo Cannot find %EXECUTABLE%
|
||||||
|
echo This file is needed to run this program
|
||||||
|
goto end
|
||||||
|
:okExec
|
||||||
|
|
||||||
|
rem Get remaining unshifted command line arguments and save them in the
|
||||||
|
set CMD_LINE_ARGS=
|
||||||
|
:setArgs
|
||||||
|
if ""%1""=="""" goto doneSetArgs
|
||||||
|
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
||||||
|
shift
|
||||||
|
goto setArgs
|
||||||
|
:doneSetArgs
|
||||||
|
|
||||||
|
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
|
||||||
|
|
||||||
|
:end
|
46
tomcat/bin/startup.sh
Normal file
46
tomcat/bin/startup.sh
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Start Script for the CATALINA Server
|
||||||
|
#
|
||||||
|
# $Id: startup.sh,v 1.3 2005/05/17 16:50:45 aranganath Exp $
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Better OS/400 detection: see Bugzilla 31132
|
||||||
|
os400=false
|
||||||
|
case "`uname`" in
|
||||||
|
CYGWIN*) cygwin=true;;
|
||||||
|
OS400*) os400=true;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# resolve links - $0 may be a softlink
|
||||||
|
PRG="$0"
|
||||||
|
|
||||||
|
while [ -h "$PRG" ] ; do
|
||||||
|
ls=`ls -ld "$PRG"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '.*/.*' > /dev/null; then
|
||||||
|
PRG="$link"
|
||||||
|
else
|
||||||
|
PRG=`dirname "$PRG"`/"$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
PRGDIR=`dirname "$PRG"`
|
||||||
|
EXECUTABLE=catalina.sh
|
||||||
|
|
||||||
|
# Check that target executable exists
|
||||||
|
if $os400; then
|
||||||
|
# -x will Only work on the os400 if the files are:
|
||||||
|
# 1. owned by the user
|
||||||
|
# 2. owned by the PRIMARY group of the user
|
||||||
|
# this will not work if the user belongs in secondary groups
|
||||||
|
eval
|
||||||
|
else
|
||||||
|
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
|
||||||
|
echo "Cannot find $PRGDIR/$EXECUTABLE"
|
||||||
|
echo "This file is needed to run this program"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$PRGDIR"/"$EXECUTABLE" start "$@"
|
BIN
tomcat/bin/tomcat-juli.jar
Normal file
BIN
tomcat/bin/tomcat-juli.jar
Normal file
Binary file not shown.
59
tomcat/bin/tool-wrapper.bat
Normal file
59
tomcat/bin/tool-wrapper.bat
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
@echo off
|
||||||
|
if "%OS%" == "Windows_NT" setlocal
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
rem Wrapper script for command line tools
|
||||||
|
rem
|
||||||
|
rem Environment Variable Prequisites
|
||||||
|
rem
|
||||||
|
rem CATALINA_HOME May point at your Catalina "build" directory.
|
||||||
|
rem
|
||||||
|
rem TOOL_OPTS (Optional) Java runtime options used when the "start",
|
||||||
|
rem "stop", or "run" command is executed.
|
||||||
|
rem
|
||||||
|
rem JAVA_HOME Must point at your Java Development Kit installation.
|
||||||
|
rem
|
||||||
|
rem JAVA_OPTS (Optional) Java runtime options used when the "start",
|
||||||
|
rem "stop", or "run" command is executed.
|
||||||
|
rem
|
||||||
|
rem $Id: tool-wrapper.bat,v 1.3 2005/05/17 16:50:43 aranganath Exp $
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
rem Guess CATALINA_HOME if not defined
|
||||||
|
if not "%CATALINA_HOME%" == "" goto gotHome
|
||||||
|
set CATALINA_HOME=.
|
||||||
|
if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
|
||||||
|
set CATALINA_HOME=..
|
||||||
|
:gotHome
|
||||||
|
if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
|
||||||
|
echo The CATALINA_HOME environment variable is not defined correctly
|
||||||
|
echo This environment variable is needed to run this program
|
||||||
|
goto end
|
||||||
|
:okHome
|
||||||
|
|
||||||
|
rem Get standard environment variables
|
||||||
|
if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"
|
||||||
|
|
||||||
|
rem Get standard Java environment variables
|
||||||
|
if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
|
||||||
|
echo Cannot find %CATALINA_HOME%\bin\setclasspath.bat
|
||||||
|
echo This file is needed to run this program
|
||||||
|
goto end
|
||||||
|
:okSetclasspath
|
||||||
|
set BASEDIR=%CATALINA_HOME%
|
||||||
|
call "%CATALINA_HOME%\bin\setclasspath.bat"
|
||||||
|
|
||||||
|
rem Add on extra jar files to CLASSPATH
|
||||||
|
set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar;"%BASEDIR%"\common\lib\jmx.jar;"%BASEDIR%"\common\lib\servlet-api.jar
|
||||||
|
|
||||||
|
rem Get remaining unshifted command line arguments and save them in the
|
||||||
|
set CMD_LINE_ARGS=
|
||||||
|
:setArgs
|
||||||
|
if ""%1""=="""" goto doneSetArgs
|
||||||
|
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
||||||
|
shift
|
||||||
|
goto setArgs
|
||||||
|
:doneSetArgs
|
||||||
|
|
||||||
|
%_RUNJAVA% %JAVA_OPTS% %TOOL_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Tool %CMD_LINE_ARGS%
|
||||||
|
|
||||||
|
:end
|
78
tomcat/bin/tool-wrapper.sh
Normal file
78
tomcat/bin/tool-wrapper.sh
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Wrapper script for command line tools
|
||||||
|
#
|
||||||
|
# Environment Variable Prequisites
|
||||||
|
#
|
||||||
|
# CATALINA_HOME May point at your Catalina "build" directory.
|
||||||
|
#
|
||||||
|
# TOOL_OPTS (Optional) Java runtime options used when the "start",
|
||||||
|
# "stop", or "run" command is executed.
|
||||||
|
#
|
||||||
|
# JAVA_HOME Must point at your Java Development Kit installation.
|
||||||
|
#
|
||||||
|
# JAVA_OPTS (Optional) Java runtime options used when the "start",
|
||||||
|
# "stop", or "run" command is executed.
|
||||||
|
#
|
||||||
|
# $Id: tool-wrapper.sh,v 1.3 2005/05/17 16:50:45 aranganath Exp $
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# OS specific support. $var _must_ be set to either true or false.
|
||||||
|
cygwin=false
|
||||||
|
case "`uname`" in
|
||||||
|
CYGWIN*) cygwin=true;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# resolve links - $0 may be a softlink
|
||||||
|
PRG="$0"
|
||||||
|
|
||||||
|
while [ -h "$PRG" ]; do
|
||||||
|
ls=`ls -ld "$PRG"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '.*/.*' > /dev/null; then
|
||||||
|
PRG="$link"
|
||||||
|
else
|
||||||
|
PRG=`dirname "$PRG"`/"$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Get standard environment variables
|
||||||
|
PRGDIR=`dirname "$PRG"`
|
||||||
|
CATALINA_HOME=`cd "$PRGDIR/.." ; pwd`
|
||||||
|
if [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
|
||||||
|
. "$CATALINA_HOME"/bin/setenv.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
||||||
|
if $cygwin; then
|
||||||
|
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||||
|
[ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
|
||||||
|
[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get standard Java environment variables
|
||||||
|
if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
|
||||||
|
BASEDIR="$CATALINA_HOME"
|
||||||
|
. "$CATALINA_HOME"/bin/setclasspath.sh
|
||||||
|
else
|
||||||
|
echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
|
||||||
|
echo "This file is needed to run this program"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add on extra jar files to CLASSPATH
|
||||||
|
CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar:"$BASEDIR"/common/lib/jmx.jar:"$BASEDIR"/common/lib/servlet-api.jar
|
||||||
|
|
||||||
|
# For Cygwin, switch paths to Windows format before running java
|
||||||
|
if $cygwin; then
|
||||||
|
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
|
||||||
|
CATALINA_HOME=`cygpath --path --windows "$CATALINA_HOME"`
|
||||||
|
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ----- Execute The Requested Command -----------------------------------------
|
||||||
|
|
||||||
|
exec "$_RUNJAVA" $JAVA_OPTS $TOOL_OPTS \
|
||||||
|
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
|
||||||
|
-Dcatalina.home="$CATALINA_HOME" \
|
||||||
|
org.apache.catalina.startup.Tool "$@"
|
44
tomcat/bin/version.bat
Normal file
44
tomcat/bin/version.bat
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
@echo off
|
||||||
|
if "%OS%" == "Windows_NT" setlocal
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
rem Version script for the CATALINA Server
|
||||||
|
rem
|
||||||
|
rem $Id: version.bat,v 1.3 2005/05/17 16:50:43 aranganath Exp $
|
||||||
|
rem ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
rem Guess CATALINA_HOME if not defined
|
||||||
|
set CURRENT_DIR=%cd%
|
||||||
|
if not "%CATALINA_HOME%" == "" goto gotHome
|
||||||
|
set CATALINA_HOME=%CURRENT_DIR%
|
||||||
|
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
||||||
|
cd ..
|
||||||
|
set CATALINA_HOME=%cd%
|
||||||
|
cd %CURRENT_DIR%
|
||||||
|
:gotHome
|
||||||
|
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
||||||
|
echo The CATALINA_HOME environment variable is not defined correctly
|
||||||
|
echo This environment variable is needed to run this program
|
||||||
|
goto end
|
||||||
|
:okHome
|
||||||
|
|
||||||
|
set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat
|
||||||
|
|
||||||
|
rem Check that target executable exists
|
||||||
|
if exist "%EXECUTABLE%" goto okExec
|
||||||
|
echo Cannot find %EXECUTABLE%
|
||||||
|
echo This file is needed to run this program
|
||||||
|
goto end
|
||||||
|
:okExec
|
||||||
|
|
||||||
|
rem Get remaining unshifted command line arguments and save them in the
|
||||||
|
set CMD_LINE_ARGS=
|
||||||
|
:setArgs
|
||||||
|
if ""%1""=="""" goto doneSetArgs
|
||||||
|
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
||||||
|
shift
|
||||||
|
goto setArgs
|
||||||
|
:doneSetArgs
|
||||||
|
|
||||||
|
call "%EXECUTABLE%" version %CMD_LINE_ARGS%
|
||||||
|
|
||||||
|
:end
|
31
tomcat/bin/version.sh
Normal file
31
tomcat/bin/version.sh
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Version Script for the CATALINA Server
|
||||||
|
#
|
||||||
|
# $Id: version.sh,v 1.3 2005/05/17 16:50:43 aranganath Exp $
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# resolve links - $0 may be a softlink
|
||||||
|
PRG="$0"
|
||||||
|
|
||||||
|
while [ -h "$PRG" ] ; do
|
||||||
|
ls=`ls -ld "$PRG"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '.*/.*' > /dev/null; then
|
||||||
|
PRG="$link"
|
||||||
|
else
|
||||||
|
PRG=`dirname "$PRG"`/"$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
PRGDIR=`dirname "$PRG"`
|
||||||
|
EXECUTABLE=catalina.sh
|
||||||
|
|
||||||
|
# Check that target executable exists
|
||||||
|
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
|
||||||
|
echo "Cannot find $PRGDIR/$EXECUTABLE"
|
||||||
|
echo "This file is needed to run this program"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$PRGDIR"/"$EXECUTABLE" version "$@"
|
55
tomcat/common/classes/logging.properties
Normal file
55
tomcat/common/classes/logging.properties
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
|
||||||
|
|
||||||
|
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Handler specific properties.
|
||||||
|
# Describes specific configuration info for Handlers.
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
1catalina.org.apache.juli.FileHandler.level = FINE
|
||||||
|
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
|
||||||
|
1catalina.org.apache.juli.FileHandler.prefix = catalina.
|
||||||
|
|
||||||
|
2localhost.org.apache.juli.FileHandler.level = FINE
|
||||||
|
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
|
||||||
|
2localhost.org.apache.juli.FileHandler.prefix = localhost.
|
||||||
|
|
||||||
|
3manager.org.apache.juli.FileHandler.level = FINE
|
||||||
|
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
|
||||||
|
3manager.org.apache.juli.FileHandler.prefix = manager.
|
||||||
|
|
||||||
|
4admin.org.apache.juli.FileHandler.level = FINE
|
||||||
|
4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
|
||||||
|
4admin.org.apache.juli.FileHandler.prefix = admin.
|
||||||
|
|
||||||
|
5host-manager.org.apache.juli.FileHandler.level = FINE
|
||||||
|
5host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
|
||||||
|
5host-manager.org.apache.juli.FileHandler.prefix = host-manager.
|
||||||
|
|
||||||
|
java.util.logging.ConsoleHandler.level = FINE
|
||||||
|
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Facility specific properties.
|
||||||
|
# Provides extra control for each logger.
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
|
||||||
|
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler
|
||||||
|
|
||||||
|
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
|
||||||
|
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler
|
||||||
|
|
||||||
|
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].level = INFO
|
||||||
|
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].handlers = 4admin.org.apache.juli.FileHandler
|
||||||
|
|
||||||
|
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
|
||||||
|
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 5host-manager.org.apache.juli.FileHandler
|
||||||
|
|
||||||
|
# For example, set the com.xyz.foo logger to only log SEVERE
|
||||||
|
# messages:
|
||||||
|
#org.apache.catalina.startup.ContextConfig.level = FINE
|
||||||
|
#org.apache.catalina.startup.HostConfig.level = FINE
|
||||||
|
#org.apache.catalina.session.ManagerBase.level = FINE
|
BIN
tomcat/common/endorsed/xercesImpl.jar
Normal file
BIN
tomcat/common/endorsed/xercesImpl.jar
Normal file
Binary file not shown.
BIN
tomcat/common/endorsed/xml-apis.jar
Normal file
BIN
tomcat/common/endorsed/xml-apis.jar
Normal file
Binary file not shown.
BIN
tomcat/common/i18n/tomcat-i18n-en.jar
Normal file
BIN
tomcat/common/i18n/tomcat-i18n-en.jar
Normal file
Binary file not shown.
BIN
tomcat/common/i18n/tomcat-i18n-es.jar
Normal file
BIN
tomcat/common/i18n/tomcat-i18n-es.jar
Normal file
Binary file not shown.
BIN
tomcat/common/i18n/tomcat-i18n-fr.jar
Normal file
BIN
tomcat/common/i18n/tomcat-i18n-fr.jar
Normal file
Binary file not shown.
BIN
tomcat/common/i18n/tomcat-i18n-ja.jar
Normal file
BIN
tomcat/common/i18n/tomcat-i18n-ja.jar
Normal file
Binary file not shown.
BIN
tomcat/common/lib/commons-el.jar
Normal file
BIN
tomcat/common/lib/commons-el.jar
Normal file
Binary file not shown.
BIN
tomcat/common/lib/jasper-compiler-jdt.jar
Normal file
BIN
tomcat/common/lib/jasper-compiler-jdt.jar
Normal file
Binary file not shown.
BIN
tomcat/common/lib/jasper-compiler.jar
Normal file
BIN
tomcat/common/lib/jasper-compiler.jar
Normal file
Binary file not shown.
BIN
tomcat/common/lib/jasper-runtime.jar
Normal file
BIN
tomcat/common/lib/jasper-runtime.jar
Normal file
Binary file not shown.
BIN
tomcat/common/lib/jsp-api.jar
Normal file
BIN
tomcat/common/lib/jsp-api.jar
Normal file
Binary file not shown.
BIN
tomcat/common/lib/naming-factory-dbcp.jar
Normal file
BIN
tomcat/common/lib/naming-factory-dbcp.jar
Normal file
Binary file not shown.
BIN
tomcat/common/lib/naming-factory.jar
Normal file
BIN
tomcat/common/lib/naming-factory.jar
Normal file
Binary file not shown.
BIN
tomcat/common/lib/naming-resources.jar
Normal file
BIN
tomcat/common/lib/naming-resources.jar
Normal file
Binary file not shown.
BIN
tomcat/common/lib/servlet-api.jar
Normal file
BIN
tomcat/common/lib/servlet-api.jar
Normal file
Binary file not shown.
20
tomcat/conf/Catalina/localhost/admin.xml
Normal file
20
tomcat/conf/Catalina/localhost/admin.xml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Context configuration file for the Tomcat Administration Web App
|
||||||
|
|
||||||
|
$Id: admin.xml,v 1.3 2005/05/17 16:50:38 aranganath Exp $
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<Context docBase="${catalina.home}/server/webapps/admin" privileged="true"
|
||||||
|
antiResourceLocking="false" antiJARLocking="false">
|
||||||
|
|
||||||
|
<!-- Uncomment this Valve to limit access to the Admin app to localhost
|
||||||
|
for obvious security reasons. Allow may be a comma-separated list of
|
||||||
|
hosts (or even regular expressions).
|
||||||
|
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
|
||||||
|
allow="127.0.0.1"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
</Context>
|
13
tomcat/conf/Catalina/localhost/host-manager.xml
Normal file
13
tomcat/conf/Catalina/localhost/host-manager.xml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Context configuration file for the Tomcat Host Manager Web App
|
||||||
|
|
||||||
|
$Id: host-manager.xml,v 1.1 2005/05/17 16:50:38 aranganath Exp $
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<Context docBase="${catalina.home}/server/webapps/host-manager"
|
||||||
|
privileged="true" antiResourceLocking="false" antiJARLocking="false">
|
||||||
|
|
||||||
|
</Context>
|
30
tomcat/conf/Catalina/localhost/lex.xml
Normal file
30
tomcat/conf/Catalina/localhost/lex.xml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
<Context path="/lex" docBase="/home/anoop/workspaces/thdl-ws/Dictionary/webroot" debug="0" reloadable="true" crossContext="true">
|
||||||
|
|
||||||
|
<!-- Jakarta Tomcat 5.5 does not accept the resource & resourceparams partnership. There use this: -->
|
||||||
|
|
||||||
|
<Resource name="jdbc/lex-datasource" scope="Shareable" type="javax.sql.DataSource"
|
||||||
|
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
|
||||||
|
url="jdbc:mysql://localhost:3306/Lex?useUnicode=true&characterEncoding=UTF-8"
|
||||||
|
driverClassName="com.mysql.jdbc.Driver"
|
||||||
|
username="root"
|
||||||
|
useUnicode="true"
|
||||||
|
characterEncoding="utf-8"
|
||||||
|
maxWait="5000"
|
||||||
|
maxIdle="7"
|
||||||
|
maxActive="15"
|
||||||
|
removeAbandoned="true"/>
|
||||||
|
|
||||||
|
<Resource name="jdbc/thdl-users-datasource" scope="Shareable" type="javax.sql.DataSource"
|
||||||
|
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
|
||||||
|
url="jdbc:mysql://localhost:3306/ThdlUser"
|
||||||
|
driverClassName="com.mysql.jdbc.Driver"
|
||||||
|
username="root"
|
||||||
|
useUnicode="true"
|
||||||
|
characterEncoding="utf-8"
|
||||||
|
maxWait="5000"
|
||||||
|
maxIdle="7"
|
||||||
|
maxActive="15"
|
||||||
|
removeAbandoned="true"/>
|
||||||
|
|
||||||
|
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs/access" prefix="lex_access_log." suffix=".txt" pattern="combined" resolveHosts="true"/>
|
||||||
|
</Context>
|
17
tomcat/conf/Catalina/localhost/manager.xml
Normal file
17
tomcat/conf/Catalina/localhost/manager.xml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Context configuration file for the Tomcat Manager Web App
|
||||||
|
|
||||||
|
$Id: manager.xml,v 1.3 2005/05/17 16:50:38 aranganath Exp $
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<Context docBase="${catalina.home}/server/webapps/manager"
|
||||||
|
privileged="true" antiResourceLocking="false" antiJARLocking="false">
|
||||||
|
|
||||||
|
<!-- Link to the user database we will get roles from -->
|
||||||
|
<ResourceLink name="users" global="UserDatabase"
|
||||||
|
type="org.apache.catalina.UserDatabase"/>
|
||||||
|
|
||||||
|
</Context>
|
172
tomcat/conf/catalina.policy
Normal file
172
tomcat/conf/catalina.policy
Normal file
|
@ -0,0 +1,172 @@
|
||||||
|
// ============================================================================
|
||||||
|
// catalina.corepolicy - Security Policy Permissions for Tomcat 5
|
||||||
|
//
|
||||||
|
// This file contains a default set of security policies to be enforced (by the
|
||||||
|
// JVM) when Catalina is executed with the "-security" option. In addition
|
||||||
|
// to the permissions granted here, the following additional permissions are
|
||||||
|
// granted to the codebase specific to each web application:
|
||||||
|
//
|
||||||
|
// * Read access to the document root directory
|
||||||
|
//
|
||||||
|
// $Id: catalina.policy,v 1.3 2005/05/17 16:50:45 aranganath Exp $
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
|
||||||
|
// ========== SYSTEM CODE PERMISSIONS =========================================
|
||||||
|
|
||||||
|
|
||||||
|
// These permissions apply to javac
|
||||||
|
grant codeBase "file:${java.home}/lib/-" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to all shared system extensions
|
||||||
|
grant codeBase "file:${java.home}/jre/lib/ext/-" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre
|
||||||
|
grant codeBase "file:${java.home}/../lib/-" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to all shared system extensions when
|
||||||
|
// ${java.home} points at $JAVA_HOME/jre
|
||||||
|
grant codeBase "file:${java.home}/lib/ext/-" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ========== CATALINA CODE PERMISSIONS =======================================
|
||||||
|
|
||||||
|
|
||||||
|
// These permissions apply to the launcher code
|
||||||
|
grant codeBase "file:${catalina.home}/bin/commons-launcher.jar" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to the daemon code
|
||||||
|
grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to the commons-logging API
|
||||||
|
grant codeBase "file:${catalina.home}/bin/commons-logging-api.jar" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to the server startup code
|
||||||
|
grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to the JMX server
|
||||||
|
grant codeBase "file:${catalina.home}/bin/jmx.jar" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to JULI
|
||||||
|
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to the servlet API classes
|
||||||
|
// and those that are shared across all class loaders
|
||||||
|
// located in the "common" directory
|
||||||
|
grant codeBase "file:${catalina.home}/common/-" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to the container's core code, plus any additional
|
||||||
|
// libraries installed in the "server" directory
|
||||||
|
grant codeBase "file:${catalina.home}/server/-" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// The permissions granted to the balancer WEB-INF/classes directory
|
||||||
|
grant codeBase "file:${catalina.home}/webapps/balancer/WEB-INF/classes/-" {
|
||||||
|
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.util.digester";
|
||||||
|
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.util.digester.*";
|
||||||
|
};
|
||||||
|
// ========== WEB APPLICATION PERMISSIONS =====================================
|
||||||
|
|
||||||
|
|
||||||
|
// These permissions are granted by default to all web applications
|
||||||
|
// In addition, a web application will be given a read FilePermission
|
||||||
|
// and JndiPermission for all files and directories in its document root.
|
||||||
|
grant {
|
||||||
|
// Required for JNDI lookup of named JDBC DataSource's and
|
||||||
|
// javamail named MimePart DataSource used to send mail
|
||||||
|
permission java.util.PropertyPermission "java.home", "read";
|
||||||
|
permission java.util.PropertyPermission "java.naming.*", "read";
|
||||||
|
permission java.util.PropertyPermission "javax.sql.*", "read";
|
||||||
|
|
||||||
|
// OS Specific properties to allow read access
|
||||||
|
permission java.util.PropertyPermission "os.name", "read";
|
||||||
|
permission java.util.PropertyPermission "os.version", "read";
|
||||||
|
permission java.util.PropertyPermission "os.arch", "read";
|
||||||
|
permission java.util.PropertyPermission "file.separator", "read";
|
||||||
|
permission java.util.PropertyPermission "path.separator", "read";
|
||||||
|
permission java.util.PropertyPermission "line.separator", "read";
|
||||||
|
|
||||||
|
// JVM properties to allow read access
|
||||||
|
permission java.util.PropertyPermission "java.version", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vendor", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vendor.url", "read";
|
||||||
|
permission java.util.PropertyPermission "java.class.version", "read";
|
||||||
|
permission java.util.PropertyPermission "java.specification.version", "read";
|
||||||
|
permission java.util.PropertyPermission "java.specification.vendor", "read";
|
||||||
|
permission java.util.PropertyPermission "java.specification.name", "read";
|
||||||
|
|
||||||
|
permission java.util.PropertyPermission "java.vm.specification.version", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vm.specification.name", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vm.version", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vm.vendor", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vm.name", "read";
|
||||||
|
|
||||||
|
// Required for OpenJMX
|
||||||
|
permission java.lang.RuntimePermission "getAttribute";
|
||||||
|
|
||||||
|
// Allow read of JAXP compliant XML parser debug
|
||||||
|
permission java.util.PropertyPermission "jaxp.debug", "read";
|
||||||
|
|
||||||
|
// Precompiled JSPs need access to this package.
|
||||||
|
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";
|
||||||
|
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime.*";
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// You can assign additional permissions to particular web applications by
|
||||||
|
// adding additional "grant" entries here, based on the code base for that
|
||||||
|
// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
|
||||||
|
//
|
||||||
|
// Different permissions can be granted to JSP pages, classes loaded from
|
||||||
|
// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
|
||||||
|
// directory, or even to individual jar files in the /WEB-INF/lib/ directory.
|
||||||
|
//
|
||||||
|
// For instance, assume that the standard "examples" application
|
||||||
|
// included a JDBC driver that needed to establish a network connection to the
|
||||||
|
// corresponding database and used the scrape taglib to get the weather from
|
||||||
|
// the NOAA web server. You might create a "grant" entries like this:
|
||||||
|
//
|
||||||
|
// The permissions granted to the context root directory apply to JSP pages.
|
||||||
|
// grant codeBase "file:${catalina.home}/webapps/examples/-" {
|
||||||
|
// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
|
||||||
|
// permission java.net.SocketPermission "*.noaa.gov:80", "connect";
|
||||||
|
// };
|
||||||
|
//
|
||||||
|
// The permissions granted to the context WEB-INF/classes directory
|
||||||
|
// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/classes/-" {
|
||||||
|
// };
|
||||||
|
//
|
||||||
|
// The permission granted to your JDBC driver
|
||||||
|
// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
|
||||||
|
// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
|
||||||
|
// };
|
||||||
|
// The permission granted to the scrape taglib
|
||||||
|
// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
|
||||||
|
// permission java.net.SocketPermission "*.noaa.gov:80", "connect";
|
||||||
|
// };
|
||||||
|
|
64
tomcat/conf/catalina.properties
Normal file
64
tomcat/conf/catalina.properties
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
#
|
||||||
|
# List of comma-separated packages that start with or equal this string
|
||||||
|
# will cause a security exception to be thrown when
|
||||||
|
# passed to checkPackageAccess unless the
|
||||||
|
# corresponding RuntimePermission ("accessClassInPackage."+package) has
|
||||||
|
# been granted.
|
||||||
|
package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans.
|
||||||
|
#
|
||||||
|
# List of comma-separated packages that start with or equal this string
|
||||||
|
# will cause a security exception to be thrown when
|
||||||
|
# passed to checkPackageDefinition unless the
|
||||||
|
# corresponding RuntimePermission ("defineClassInPackage."+package) has
|
||||||
|
# been granted.
|
||||||
|
#
|
||||||
|
# by default, no packages are restricted for definition, and none of
|
||||||
|
# the class loaders supplied with the JDK call checkPackageDefinition.
|
||||||
|
#
|
||||||
|
package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
|
||||||
|
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# List of comma-separated paths defining the contents of the "common"
|
||||||
|
# classloader. Prefixes should be used to define what is the repository type.
|
||||||
|
# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
|
||||||
|
# If left as blank,the JVM system loader will be used as Catalina's "common"
|
||||||
|
# loader.
|
||||||
|
# Examples:
|
||||||
|
# "foo": Add this folder as a class repository
|
||||||
|
# "foo/*.jar": Add all the JARs of the specified folder as class
|
||||||
|
# repositories
|
||||||
|
# "foo/bar.jar": Add bar.jar as a class repository
|
||||||
|
common.loader=${catalina.home}/common/classes,${catalina.home}/common/i18n/*.jar,${catalina.home}/common/endorsed/*.jar,${catalina.home}/common/lib/*.jar
|
||||||
|
|
||||||
|
#
|
||||||
|
# List of comma-separated paths defining the contents of the "server"
|
||||||
|
# classloader. Prefixes should be used to define what is the repository type.
|
||||||
|
# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
|
||||||
|
# If left as blank, the "common" loader will be used as Catalina's "server"
|
||||||
|
# loader.
|
||||||
|
# Examples:
|
||||||
|
# "foo": Add this folder as a class repository
|
||||||
|
# "foo/*.jar": Add all the JARs of the specified folder as class
|
||||||
|
# repositories
|
||||||
|
# "foo/bar.jar": Add bar.jar as a class repository
|
||||||
|
server.loader=${catalina.home}/server/classes,${catalina.home}/server/lib/*.jar
|
||||||
|
|
||||||
|
#
|
||||||
|
# List of comma-separated paths defining the contents of the "shared"
|
||||||
|
# classloader. Prefixes should be used to define what is the repository type.
|
||||||
|
# Path may be relative to the CATALINA_BASE path or absolute. If left as blank,
|
||||||
|
# the "common" loader will be used as Catalina's "shared" loader.
|
||||||
|
# Examples:
|
||||||
|
# "foo": Add this folder as a class repository
|
||||||
|
# "foo/*.jar": Add all the JARs of the specified folder as class
|
||||||
|
# repositories
|
||||||
|
# "foo/bar.jar": Add bar.jar as a class repository
|
||||||
|
shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar
|
||||||
|
|
||||||
|
#
|
||||||
|
# String cache configuration.
|
||||||
|
tomcat.util.buf.StringCache.byte.enabled=true
|
||||||
|
#tomcat.util.buf.StringCache.char.enabled=true
|
||||||
|
#tomcat.util.buf.StringCache.trainThreshold=500000
|
||||||
|
#tomcat.util.buf.StringCache.cacheSize=5000
|
12
tomcat/conf/context.xml
Normal file
12
tomcat/conf/context.xml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<!-- The contents of this file will be loaded for each web application -->
|
||||||
|
<Context>
|
||||||
|
|
||||||
|
<!-- Default set of monitored resources -->
|
||||||
|
<WatchedResource>WEB-INF/web.xml</WatchedResource>
|
||||||
|
|
||||||
|
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
|
||||||
|
<!--
|
||||||
|
<Manager pathname="" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
</Context>
|
2
tomcat/conf/jk2.manifest
Normal file
2
tomcat/conf/jk2.manifest
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Main-Class: org.apache.jk.apr.TomcatStarter
|
||||||
|
Class-Path: ../lib/tomcat.jar log4j.jar log4j-core.jar ../lib/common/log4j.jar ../lib/common/log4j-core.jar ../lib/common/classes ../lib/common/commons-logging.jar bootstrap.jar ../server/lib/commons-logging.jar ../server/lib/jmx.jar jmx.jar commons-logging-api.jar
|
26
tomcat/conf/jk2.properties
Normal file
26
tomcat/conf/jk2.properties
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
|
||||||
|
## WHEN YOU EDIT THE FILE.
|
||||||
|
|
||||||
|
## COMMENTS WILL BE _LOST_
|
||||||
|
|
||||||
|
## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.
|
||||||
|
|
||||||
|
# Set the desired handler list
|
||||||
|
# handler.list=apr,request,channelJni
|
||||||
|
#
|
||||||
|
# Override the default port for the socketChannel
|
||||||
|
# channelSocket.port=8019
|
||||||
|
# Default:
|
||||||
|
# channelUnix.file=${jkHome}/work/jk2.socket
|
||||||
|
# Just to check if the the config is working
|
||||||
|
# shm.file=${jkHome}/work/jk2.shm
|
||||||
|
|
||||||
|
# In order to enable jni use any channelJni directive
|
||||||
|
# channelJni.disabled = 0
|
||||||
|
# And one of the following directives:
|
||||||
|
|
||||||
|
# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so
|
||||||
|
|
||||||
|
# If set to inprocess the mod_jk2 will Register natives itself
|
||||||
|
# This will enable the starting of the Tomcat from mod_jk2
|
||||||
|
# apr.jniModeSo=inprocess
|
51
tomcat/conf/jkconf.ant.xml
Normal file
51
tomcat/conf/jkconf.ant.xml
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
<project name="jkconf" default="main" basedir=".">
|
||||||
|
|
||||||
|
<target name="init-3x" if="33.detect">
|
||||||
|
<taskdef name="jkconf"
|
||||||
|
classname="org.apache.jk.config.WebXml2Jk" >
|
||||||
|
<classpath>
|
||||||
|
<!-- 3.3 support -->
|
||||||
|
<pathelement location="/ws/jtc/jk/build/classes" />
|
||||||
|
<pathelement location="${tomcat.home}/lib/container/tomcat-jk2.jar" />
|
||||||
|
<pathelement location="${tomcat.home}/lib/container/crimson.jar"/>
|
||||||
|
<pathelement location="${tomcat.home}/lib/common/commons-logging.jar"/>
|
||||||
|
</classpath>
|
||||||
|
</taskdef>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="init-4x" if="4x.detect" >
|
||||||
|
<path id="main.classpath">
|
||||||
|
<!-- 3.3 support -->
|
||||||
|
<fileset dir="${tomcat.home}/lib" includes="*.jar" />
|
||||||
|
<fileset dir="${tomcat.home}/server/lib" includes="*.jar" />
|
||||||
|
<fileset dir="${tomcat.home}/common/lib" includes="*.jar" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<taskdef name="jkconf" classpathref="main.classpath"
|
||||||
|
classname="org.apache.jk.config.WebXml2Jk" />
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="detect" >
|
||||||
|
<property file="build.properties"/>
|
||||||
|
<property file="${user.home}/build.properties"/>
|
||||||
|
<property file="${user.home}/.build.properties"/>
|
||||||
|
|
||||||
|
<!-- default locations, overrident by properties.
|
||||||
|
This file must be installed in conf/ -->
|
||||||
|
<property name="tomcat.home" location=".." />
|
||||||
|
|
||||||
|
<available property="33.detect" file="${tomcat.home}/lib/container" />
|
||||||
|
<available property="4x.detect" file="${tomcat.home}/server/lib" />
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="init" depends="detect,init-3x,init-4x" />
|
||||||
|
|
||||||
|
<!-- ==================== Detection and reports ==================== -->
|
||||||
|
|
||||||
|
|
||||||
|
<target name="main" depends="init">
|
||||||
|
<jkconf docBase="${tomcat.home}/webapps/examples"
|
||||||
|
context="/examples" />
|
||||||
|
</target>
|
||||||
|
|
||||||
|
</project>
|
2
tomcat/conf/jkconfig.manifest
Normal file
2
tomcat/conf/jkconfig.manifest
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Main-Class: org.apache.jk.config.WebXml2Jk
|
||||||
|
Class-Path: tomcat-jk2.jar commons-logging.jar crimson.jar xercesImpl.jar xmlApis.jar tomcat-util.jar log4j.jar log4j-core.jar
|
25
tomcat/conf/server-minimal.xml
Normal file
25
tomcat/conf/server-minimal.xml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
<Server port="8005" shutdown="SHUTDOWN">
|
||||||
|
|
||||||
|
<GlobalNamingResources>
|
||||||
|
<!-- Used by Manager webapp -->
|
||||||
|
<Resource name="UserDatabase" auth="Container"
|
||||||
|
type="org.apache.catalina.UserDatabase"
|
||||||
|
description="User database that can be updated and saved"
|
||||||
|
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
|
||||||
|
pathname="conf/tomcat-users.xml" />
|
||||||
|
</GlobalNamingResources>
|
||||||
|
|
||||||
|
<Service name="Catalina">
|
||||||
|
<Connector port="8080" />
|
||||||
|
|
||||||
|
<!-- This is here for compatibility only, not required -->
|
||||||
|
<Connector port="8009" protocol="AJP/1.3" />
|
||||||
|
|
||||||
|
<Engine name="Catalina" defaultHost="localhost">
|
||||||
|
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
|
||||||
|
resourceName="UserDatabase" />
|
||||||
|
<Host name="localhost" appBase="webapps" />
|
||||||
|
</Engine>
|
||||||
|
|
||||||
|
</Service>
|
||||||
|
</Server>
|
378
tomcat/conf/server.xml
Normal file
378
tomcat/conf/server.xml
Normal file
|
@ -0,0 +1,378 @@
|
||||||
|
<!-- Example Server Configuration File -->
|
||||||
|
<!-- Note that component elements are nested corresponding to their
|
||||||
|
parent-child relationships with each other -->
|
||||||
|
|
||||||
|
<!-- A "Server" is a singleton element that represents the entire JVM,
|
||||||
|
which may contain one or more "Service" instances. The Server
|
||||||
|
listens for a shutdown command on the indicated port.
|
||||||
|
|
||||||
|
Note: A "Server" is not itself a "Container", so you may not
|
||||||
|
define subcomponents such as "Valves" or "Loggers" at this level.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<Server port="8005" shutdown="SHUTDOWN">
|
||||||
|
|
||||||
|
<!-- Comment these entries out to disable JMX MBeans support used for the
|
||||||
|
administration web application -->
|
||||||
|
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
|
||||||
|
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
|
||||||
|
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
|
||||||
|
|
||||||
|
<!-- Global JNDI resources -->
|
||||||
|
<GlobalNamingResources>
|
||||||
|
|
||||||
|
<!-- Test entry for demonstration purposes -->
|
||||||
|
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
|
||||||
|
|
||||||
|
<!-- Editable user database that can also be used by
|
||||||
|
UserDatabaseRealm to authenticate users -->
|
||||||
|
<Resource name="UserDatabase" auth="Container"
|
||||||
|
type="org.apache.catalina.UserDatabase"
|
||||||
|
description="User database that can be updated and saved"
|
||||||
|
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
|
||||||
|
pathname="conf/tomcat-users.xml" />
|
||||||
|
|
||||||
|
</GlobalNamingResources>
|
||||||
|
|
||||||
|
<!-- A "Service" is a collection of one or more "Connectors" that share
|
||||||
|
a single "Container" (and therefore the web applications visible
|
||||||
|
within that Container). Normally, that Container is an "Engine",
|
||||||
|
but this is not required.
|
||||||
|
|
||||||
|
Note: A "Service" is not itself a "Container", so you may not
|
||||||
|
define subcomponents such as "Valves" or "Loggers" at this level.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define the Tomcat Stand-Alone Service -->
|
||||||
|
<Service name="Catalina">
|
||||||
|
|
||||||
|
<!-- A "Connector" represents an endpoint by which requests are received
|
||||||
|
and responses are returned. Each Connector passes requests on to the
|
||||||
|
associated "Container" (normally an Engine) for processing.
|
||||||
|
|
||||||
|
By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
|
||||||
|
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
|
||||||
|
following the instructions below and uncommenting the second Connector
|
||||||
|
entry. SSL support requires the following steps (see the SSL Config
|
||||||
|
HOWTO in the Tomcat 5 documentation bundle for more detailed
|
||||||
|
instructions):
|
||||||
|
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
|
||||||
|
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
|
||||||
|
* Execute:
|
||||||
|
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
|
||||||
|
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
|
||||||
|
with a password value of "changeit" for both the certificate and
|
||||||
|
the keystore itself.
|
||||||
|
|
||||||
|
By default, DNS lookups are enabled when a web application calls
|
||||||
|
request.getRemoteHost(). This can have an adverse impact on
|
||||||
|
performance, so you can disable it by setting the
|
||||||
|
"enableLookups" attribute to "false". When DNS lookups are disabled,
|
||||||
|
request.getRemoteHost() will return the String version of the
|
||||||
|
IP address of the remote client.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
|
||||||
|
<Connector port="8080" maxHttpHeaderSize="8192"
|
||||||
|
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
|
||||||
|
enableLookups="false" redirectPort="8443" acceptCount="100"
|
||||||
|
connectionTimeout="20000" disableUploadTimeout="true" />
|
||||||
|
<!-- Note : To disable connection timeouts, set connectionTimeout value
|
||||||
|
to 0 -->
|
||||||
|
|
||||||
|
<!-- Note : To use gzip compression you could set the following properties :
|
||||||
|
|
||||||
|
compression="on"
|
||||||
|
compressionMinSize="2048"
|
||||||
|
noCompressionUserAgents="gozilla, traviata"
|
||||||
|
compressableMimeType="text/html,text/xml"
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
|
||||||
|
<!--
|
||||||
|
<Connector port="8443" maxHttpHeaderSize="8192"
|
||||||
|
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
|
||||||
|
enableLookups="false" disableUploadTimeout="true"
|
||||||
|
acceptCount="100" scheme="https" secure="true"
|
||||||
|
clientAuth="false" sslProtocol="TLS" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define an AJP 1.3 Connector on port 8009 -->
|
||||||
|
<Connector port="8009"
|
||||||
|
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
|
||||||
|
|
||||||
|
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
|
||||||
|
<!-- See proxy documentation for more information about using this. -->
|
||||||
|
<!--
|
||||||
|
<Connector port="8082"
|
||||||
|
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
|
||||||
|
enableLookups="false" acceptCount="100" connectionTimeout="20000"
|
||||||
|
proxyPort="80" disableUploadTimeout="true" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- An Engine represents the entry point (within Catalina) that processes
|
||||||
|
every request. The Engine implementation for Tomcat stand alone
|
||||||
|
analyzes the HTTP headers included with the request, and passes them
|
||||||
|
on to the appropriate Host (virtual host). -->
|
||||||
|
|
||||||
|
<!-- You should set jvmRoute to support load-balancing via AJP ie :
|
||||||
|
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define the top level container in our container hierarchy -->
|
||||||
|
<Engine name="Catalina" defaultHost="localhost">
|
||||||
|
|
||||||
|
<!-- The request dumper valve dumps useful debugging information about
|
||||||
|
the request headers and cookies that were received, and the response
|
||||||
|
headers and cookies that were sent, for all requests received by
|
||||||
|
this instance of Tomcat. If you care only about requests to a
|
||||||
|
particular virtual host, or a particular application, nest this
|
||||||
|
element inside the corresponding <Host> or <Context> entry instead.
|
||||||
|
|
||||||
|
For a similar mechanism that is portable to all Servlet 2.4
|
||||||
|
containers, check out the "RequestDumperFilter" Filter in the
|
||||||
|
example application (the source for this filter may be found in
|
||||||
|
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
|
||||||
|
|
||||||
|
Request dumping is disabled by default. Uncomment the following
|
||||||
|
element to enable it. -->
|
||||||
|
<!--
|
||||||
|
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Because this Realm is here, an instance will be shared globally -->
|
||||||
|
|
||||||
|
<!-- This Realm uses the UserDatabase configured in the global JNDI
|
||||||
|
resources under the key "UserDatabase". Any edits
|
||||||
|
that are performed against this UserDatabase are immediately
|
||||||
|
available for use by the Realm. -->
|
||||||
|
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
|
||||||
|
resourceName="UserDatabase"/>
|
||||||
|
|
||||||
|
<!-- Comment out the old realm but leave here for now in case we
|
||||||
|
need to go back quickly -->
|
||||||
|
<!--
|
||||||
|
<Realm className="org.apache.catalina.realm.MemoryRealm" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Replace the above Realm with one of the following to get a Realm
|
||||||
|
stored in a database and accessed via JDBC -->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<Realm className="org.apache.catalina.realm.JDBCRealm"
|
||||||
|
driverName="org.gjt.mm.mysql.Driver"
|
||||||
|
connectionURL="jdbc:mysql://localhost/authority"
|
||||||
|
connectionName="test" connectionPassword="test"
|
||||||
|
userTable="users" userNameCol="user_name" userCredCol="user_pass"
|
||||||
|
userRoleTable="user_roles" roleNameCol="role_name" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<Realm className="org.apache.catalina.realm.JDBCRealm"
|
||||||
|
driverName="oracle.jdbc.driver.OracleDriver"
|
||||||
|
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
|
||||||
|
connectionName="scott" connectionPassword="tiger"
|
||||||
|
userTable="users" userNameCol="user_name" userCredCol="user_pass"
|
||||||
|
userRoleTable="user_roles" roleNameCol="role_name" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<Realm className="org.apache.catalina.realm.JDBCRealm"
|
||||||
|
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
|
||||||
|
connectionURL="jdbc:odbc:CATALINA"
|
||||||
|
userTable="users" userNameCol="user_name" userCredCol="user_pass"
|
||||||
|
userRoleTable="user_roles" roleNameCol="role_name" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define the default virtual host
|
||||||
|
Note: XML Schema validation will not work with Xerces 2.2.
|
||||||
|
-->
|
||||||
|
<Host name="localhost" appBase="webapps"
|
||||||
|
unpackWARs="true" autoDeploy="true"
|
||||||
|
xmlValidation="false" xmlNamespaceAware="false">
|
||||||
|
|
||||||
|
<!-- Defines a cluster for this node,
|
||||||
|
By defining this element, means that every manager will be changed.
|
||||||
|
So when running a cluster, only make sure that you have webapps in there
|
||||||
|
that need to be clustered and remove the other ones.
|
||||||
|
A cluster has the following parameters:
|
||||||
|
|
||||||
|
className = the fully qualified name of the cluster class
|
||||||
|
|
||||||
|
name = a descriptive name for your cluster, can be anything
|
||||||
|
|
||||||
|
mcastAddr = the multicast address, has to be the same for all the nodes
|
||||||
|
|
||||||
|
mcastPort = the multicast port, has to be the same for all the nodes
|
||||||
|
|
||||||
|
mcastBindAddr = bind the multicast socket to a specific address
|
||||||
|
|
||||||
|
mcastTTL = the multicast TTL if you want to limit your broadcast
|
||||||
|
|
||||||
|
mcastSoTimeout = the multicast readtimeout
|
||||||
|
|
||||||
|
mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
|
||||||
|
|
||||||
|
mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
|
||||||
|
|
||||||
|
tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
|
||||||
|
|
||||||
|
tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
|
||||||
|
in case of multiple ethernet cards.
|
||||||
|
auto means that address becomes
|
||||||
|
InetAddress.getLocalHost().getHostAddress()
|
||||||
|
|
||||||
|
tcpListenPort = the tcp listen port
|
||||||
|
|
||||||
|
tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
|
||||||
|
has a wakup bug in java.nio. Set to 0 for no timeout
|
||||||
|
|
||||||
|
printToScreen = true means that managers will also print to std.out
|
||||||
|
|
||||||
|
expireSessionsOnShutdown = true means that
|
||||||
|
|
||||||
|
useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
|
||||||
|
false means to replicate the session after each request.
|
||||||
|
false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
|
||||||
|
<%
|
||||||
|
HashMap map = (HashMap)session.getAttribute("map");
|
||||||
|
map.put("key","value");
|
||||||
|
%>
|
||||||
|
replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
|
||||||
|
* Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
|
||||||
|
* Synchronous means that the thread that executes the request, is also the
|
||||||
|
thread the replicates the data to the other nodes, and will not return until all
|
||||||
|
nodes have received the information.
|
||||||
|
* Asynchronous means that there is a specific 'sender' thread for each cluster node,
|
||||||
|
so the request thread will queue the replication request into a "smart" queue,
|
||||||
|
and then return to the client.
|
||||||
|
The "smart" queue is a queue where when a session is added to the queue, and the same session
|
||||||
|
already exists in the queue from a previous request, that session will be replaced
|
||||||
|
in the queue instead of replicating two requests. This almost never happens, unless there is a
|
||||||
|
large network delay.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
When configuring for clustering, you also add in a valve to catch all the requests
|
||||||
|
coming in, at the end of the request, the session may or may not be replicated.
|
||||||
|
A session is replicated if and only if all the conditions are met:
|
||||||
|
1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
|
||||||
|
2. a session exists (has been created)
|
||||||
|
3. the request is not trapped by the "filter" attribute
|
||||||
|
|
||||||
|
The filter attribute is to filter out requests that could not modify the session,
|
||||||
|
hence we don't replicate the session after the end of this request.
|
||||||
|
The filter is negative, ie, anything you put in the filter, you mean to filter out,
|
||||||
|
ie, no replication will be done on requests that match one of the filters.
|
||||||
|
The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
|
||||||
|
|
||||||
|
filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
|
||||||
|
ending with .gif and .js are intercepted.
|
||||||
|
|
||||||
|
The deployer element can be used to deploy apps cluster wide.
|
||||||
|
Currently the deployment only deploys/undeploys to working members in the cluster
|
||||||
|
so no WARs are copied upons startup of a broken node.
|
||||||
|
The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
|
||||||
|
When a new war file is added the war gets deployed to the local instance,
|
||||||
|
and then deployed to the other instances in the cluster.
|
||||||
|
When a war file is deleted from the watchDir the war is undeployed locally
|
||||||
|
and cluster wide
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
|
||||||
|
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
|
||||||
|
expireSessionsOnShutdown="false"
|
||||||
|
useDirtyFlag="true"
|
||||||
|
notifyListenersOnReplication="true">
|
||||||
|
|
||||||
|
<Membership
|
||||||
|
className="org.apache.catalina.cluster.mcast.McastService"
|
||||||
|
mcastAddr="228.0.0.4"
|
||||||
|
mcastPort="45564"
|
||||||
|
mcastFrequency="500"
|
||||||
|
mcastDropTime="3000"/>
|
||||||
|
|
||||||
|
<Receiver
|
||||||
|
className="org.apache.catalina.cluster.tcp.ReplicationListener"
|
||||||
|
tcpListenAddress="auto"
|
||||||
|
tcpListenPort="4001"
|
||||||
|
tcpSelectorTimeout="100"
|
||||||
|
tcpThreadCount="6"/>
|
||||||
|
|
||||||
|
<Sender
|
||||||
|
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
|
||||||
|
replicationMode="pooled"
|
||||||
|
ackTimeout="15000"/>
|
||||||
|
|
||||||
|
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
|
||||||
|
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
|
||||||
|
|
||||||
|
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
|
||||||
|
tempDir="/tmp/war-temp/"
|
||||||
|
deployDir="/tmp/war-deploy/"
|
||||||
|
watchDir="/tmp/war-listen/"
|
||||||
|
watchEnabled="false"/>
|
||||||
|
</Cluster>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Normally, users must authenticate themselves to each web app
|
||||||
|
individually. Uncomment the following entry if you would like
|
||||||
|
a user to be authenticated the first time they encounter a
|
||||||
|
resource protected by a security constraint, and then have that
|
||||||
|
user identity maintained across *all* web applications contained
|
||||||
|
in this virtual host. -->
|
||||||
|
<!--
|
||||||
|
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Access log processes all requests for this virtual host. By
|
||||||
|
default, log files are created in the "logs" directory relative to
|
||||||
|
$CATALINA_HOME. If you wish, you can specify a different
|
||||||
|
directory with the "directory" attribute. Specify either a relative
|
||||||
|
(to $CATALINA_HOME) or absolute path to the desired directory.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
<Valve className="org.apache.catalina.valves.AccessLogValve"
|
||||||
|
directory="logs" prefix="localhost_access_log." suffix=".txt"
|
||||||
|
pattern="common" resolveHosts="false"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Access log processes all requests for this virtual host. By
|
||||||
|
default, log files are created in the "logs" directory relative to
|
||||||
|
$CATALINA_HOME. If you wish, you can specify a different
|
||||||
|
directory with the "directory" attribute. Specify either a relative
|
||||||
|
(to $CATALINA_HOME) or absolute path to the desired directory.
|
||||||
|
This access log implementation is optimized for maximum performance,
|
||||||
|
but is hardcoded to support only the "common" and "combined" patterns.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
|
||||||
|
directory="logs" prefix="localhost_access_log." suffix=".txt"
|
||||||
|
pattern="common" resolveHosts="false"/>
|
||||||
|
-->
|
||||||
|
<!-- Access log processes all requests for this virtual host. By
|
||||||
|
default, log files are created in the "logs" directory relative to
|
||||||
|
$CATALINA_HOME. If you wish, you can specify a different
|
||||||
|
directory with the "directory" attribute. Specify either a relative
|
||||||
|
(to $CATALINA_HOME) or absolute path to the desired directory.
|
||||||
|
This access log implementation is optimized for maximum performance,
|
||||||
|
but is hardcoded to support only the "common" and "combined" patterns.
|
||||||
|
|
||||||
|
This valve use NIO direct Byte Buffer to asynchornously store the
|
||||||
|
log.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
<Valve className="org.apache.catalina.valves.ByteBufferAccessLogValve"
|
||||||
|
directory="logs" prefix="localhost_access_log." suffix=".txt"
|
||||||
|
pattern="common" resolveHosts="false"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
</Host>
|
||||||
|
|
||||||
|
</Engine>
|
||||||
|
|
||||||
|
</Service>
|
||||||
|
|
||||||
|
</Server>
|
2
tomcat/conf/shm.manifest
Normal file
2
tomcat/conf/shm.manifest
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Main-Class: org.apache.jk.common.Shm
|
||||||
|
Class-Path: tomcat-jk2.jar commons-logging.jar tomcat-util.jar log4j.jar log4j-core.jar
|
7
tomcat/conf/tomcat-jk2.manifest
Normal file
7
tomcat/conf/tomcat-jk2.manifest
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Manifest-version: 1.0
|
||||||
|
Extension-Name: org.apache.jk
|
||||||
|
Specification-Vendor: Apache Software Foundation
|
||||||
|
Specification-Version: 2.0
|
||||||
|
Implementation-Vendor-Id: org.apache
|
||||||
|
Implementation-Vendor: Apache Software Foundation
|
||||||
|
Implementation-Version: 2.1
|
10
tomcat/conf/tomcat-users.xml
Normal file
10
tomcat/conf/tomcat-users.xml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<tomcat-users>
|
||||||
|
<role rolename="tomcat"/>
|
||||||
|
<role rolename="role1"/>
|
||||||
|
<role rolename="admin"/>
|
||||||
|
<user username="tomcat" password="tomcat" roles="tomcat"/>
|
||||||
|
<user username="both" password="tomcat" roles="tomcat,role1"/>
|
||||||
|
<user username="role1" password="tomcat" roles="role1"/>
|
||||||
|
<user username="admin" password="ldht" roles="admin"/>
|
||||||
|
</tomcat-users>
|
13
tomcat/conf/uriworkermap.properties
Normal file
13
tomcat/conf/uriworkermap.properties
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# uriworkermap.properties - IIS
|
||||||
|
#
|
||||||
|
# This file provides sample mappings for example ajp13w
|
||||||
|
# worker defined in workermap.properties.minimal
|
||||||
|
# The general sytax for this file is:
|
||||||
|
# [URL]=[Worker name]
|
||||||
|
|
||||||
|
/servlet-examples/*=ajp13w
|
||||||
|
|
||||||
|
# Optionally filter out all .jpeg files inside that context
|
||||||
|
# For no mapping the url has to start with exclamation (!)
|
||||||
|
|
||||||
|
!/servlet-examples/*.jpeg=ajp13w
|
979
tomcat/conf/web.xml
Normal file
979
tomcat/conf/web.xml
Normal file
|
@ -0,0 +1,979 @@
|
||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
|
||||||
|
version="2.4">
|
||||||
|
|
||||||
|
<!-- ======================== Introduction ============================== -->
|
||||||
|
<!-- This document defines default values for *all* web applications -->
|
||||||
|
<!-- loaded into this instance of Tomcat. As each application is -->
|
||||||
|
<!-- deployed, this file is processed, followed by the -->
|
||||||
|
<!-- "/WEB-INF/web.xml" deployment descriptor from your own -->
|
||||||
|
<!-- applications. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- WARNING: Do not configure application-specific resources here! -->
|
||||||
|
<!-- They should go in the "/WEB-INF/web.xml" file in your application. -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ================== Built In Servlet Definitions ==================== -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- The default servlet for all web applications, that serves static -->
|
||||||
|
<!-- resources. It processes all requests that are not mapped to other -->
|
||||||
|
<!-- servlets with servlet mappings (defined either here or in your own -->
|
||||||
|
<!-- web.xml file. This servlet supports the following initialization -->
|
||||||
|
<!-- parameters (default values are in square brackets): -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- debug Debugging detail level for messages logged -->
|
||||||
|
<!-- by this servlet. [0] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- fileEncoding Encoding to be used to read static resources -->
|
||||||
|
<!-- [platform default] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- input Input buffer size (in bytes) when reading -->
|
||||||
|
<!-- resources to be served. [2048] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- listings Should directory listings be produced if there -->
|
||||||
|
<!-- is no welcome file in this directory? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- output Output buffer size (in bytes) when writing -->
|
||||||
|
<!-- resources to be served. [2048] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- readonly Is this context "read only", so HTTP -->
|
||||||
|
<!-- commands like PUT and DELETE are -->
|
||||||
|
<!-- rejected? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- readmeFile File name to display with the directory -->
|
||||||
|
<!-- contents. [null] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- For directory listing customization. Checks localXsltFile, then -->
|
||||||
|
<!-- globalXsltFile, then defaults to original behavior. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- localXsltFile Make directory listings an XML doc and -->
|
||||||
|
<!-- pass the result to this style sheet residing -->
|
||||||
|
<!-- in that directory. This overrides -->
|
||||||
|
<!-- globalXsltFile[null] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- globalXsltFile Site wide configuration version of -->
|
||||||
|
<!-- localXsltFile This argument is expected -->
|
||||||
|
<!-- to be a physical file. [null] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- -->
|
||||||
|
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>default</servlet-name>
|
||||||
|
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>debug</param-name>
|
||||||
|
<param-value>0</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>listings</param-name>
|
||||||
|
<param-value>true</param-value>
|
||||||
|
</init-param>
|
||||||
|
<load-on-startup>1</load-on-startup>
|
||||||
|
</servlet>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- The "invoker" servlet, which executes anonymous servlet classes -->
|
||||||
|
<!-- that have not been defined in a web.xml file. Traditionally, this -->
|
||||||
|
<!-- servlet is mapped to the URL pattern "/servlet/*", but you can map -->
|
||||||
|
<!-- it to other patterns as well. The extra path info portion of such a -->
|
||||||
|
<!-- request must be the fully qualified class name of a Java class that -->
|
||||||
|
<!-- implements Servlet (or extends HttpServlet), or the servlet name -->
|
||||||
|
<!-- of an existing servlet definition. This servlet supports the -->
|
||||||
|
<!-- following initialization parameters (default values are in square -->
|
||||||
|
<!-- brackets): -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- debug Debugging detail level for messages logged -->
|
||||||
|
<!-- by this servlet. [0] -->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>invoker</servlet-name>
|
||||||
|
<servlet-class>
|
||||||
|
org.apache.catalina.servlets.InvokerServlet
|
||||||
|
</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>debug</param-name>
|
||||||
|
<param-value>0</param-value>
|
||||||
|
</init-param>
|
||||||
|
<load-on-startup>2</load-on-startup>
|
||||||
|
</servlet>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- The JSP page compiler and execution servlet, which is the mechanism -->
|
||||||
|
<!-- used by Tomcat to support JSP pages. Traditionally, this servlet -->
|
||||||
|
<!-- is mapped to the URL pattern "*.jsp". This servlet supports the -->
|
||||||
|
<!-- following initialization parameters (default values are in square -->
|
||||||
|
<!-- brackets): -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- checkInterval If development is false and checkInterval is -->
|
||||||
|
<!-- greater than zero, background compilations are -->
|
||||||
|
<!-- enabled. checkInterval is the time in seconds -->
|
||||||
|
<!-- between checks to see if a JSP page needs to -->
|
||||||
|
<!-- be recompiled. [0] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- modificationTestInterval -->
|
||||||
|
<!-- Causes a JSP (and its dependent files) to not -->
|
||||||
|
<!-- be checked for modification during the -->
|
||||||
|
<!-- specified time interval (in seconds) from the -->
|
||||||
|
<!-- last time the JSP was checked for -->
|
||||||
|
<!-- modification. A value of 0 will cause the JSP -->
|
||||||
|
<!-- to be checked on every access. -->
|
||||||
|
<!-- Used in development mode only. [4] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- compiler Which compiler Ant should use to compile JSP -->
|
||||||
|
<!-- pages. See the Ant documentation for more -->
|
||||||
|
<!-- information. [javac] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- classdebuginfo Should the class file be compiled with -->
|
||||||
|
<!-- debugging information? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- classpath What class path should I use while compiling -->
|
||||||
|
<!-- generated servlets? [Created dynamically -->
|
||||||
|
<!-- based on the current web application] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- development Is Jasper used in development mode? If true, -->
|
||||||
|
<!-- the frequency at which JSPs are checked for -->
|
||||||
|
<!-- modification may be specified via the -->
|
||||||
|
<!-- modificationTestInterval parameter. [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- enablePooling Determines whether tag handler pooling is -->
|
||||||
|
<!-- enabled [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- fork Tell Ant to fork compiles of JSP pages so that -->
|
||||||
|
<!-- a separate JVM is used for JSP page compiles -->
|
||||||
|
<!-- from the one Tomcat is running in. [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- ieClassId The class-id value to be sent to Internet -->
|
||||||
|
<!-- Explorer when using <jsp:plugin> tags. -->
|
||||||
|
<!-- [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- javaEncoding Java file encoding to use for generating java -->
|
||||||
|
<!-- source files. [UTF8] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- keepgenerated Should we keep the generated Java source code -->
|
||||||
|
<!-- for each page instead of deleting it? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- mappedfile Should we generate static content with one -->
|
||||||
|
<!-- print statement per input line, to ease -->
|
||||||
|
<!-- debugging? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- trimSpaces Should white spaces in template text between -->
|
||||||
|
<!-- actions or directives be trimmed? [false] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- suppressSmap Should the generation of SMAP info for JSR45 -->
|
||||||
|
<!-- debugging be suppressed? [false] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- dumpSmap Should the SMAP info for JSR45 debugging be -->
|
||||||
|
<!-- dumped to a file? [false] -->
|
||||||
|
<!-- False if suppressSmap is true -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- genStrAsCharArray Should text strings be generated as char -->
|
||||||
|
<!-- arrays, to improve performance in some cases? -->
|
||||||
|
<!-- [false] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- errorOnUseBeanInvalidClassAttribute -->
|
||||||
|
<!-- Should Jasper issue an error when the value of -->
|
||||||
|
<!-- the class attribute in an useBean action is -->
|
||||||
|
<!-- not a valid bean class? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- scratchdir What scratch directory should we use when -->
|
||||||
|
<!-- compiling JSP pages? [default work directory -->
|
||||||
|
<!-- for the current web application] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- xpoweredBy Determines whether X-Powered-By response -->
|
||||||
|
<!-- header is added by generated servlet [false] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- If you wish to use Jikes to compile JSP pages: -->
|
||||||
|
<!-- Please see the "Using Jikes" section of the Jasper-HowTo -->
|
||||||
|
<!-- page in the Tomcat documentation. -->
|
||||||
|
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>jsp</servlet-name>
|
||||||
|
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>fork</param-name>
|
||||||
|
<param-value>false</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>xpoweredBy</param-name>
|
||||||
|
<param-value>false</param-value>
|
||||||
|
</init-param>
|
||||||
|
<load-on-startup>3</load-on-startup>
|
||||||
|
</servlet>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Server Side Includes processing servlet, which processes SSI -->
|
||||||
|
<!-- directives in HTML pages consistent with similar support in web -->
|
||||||
|
<!-- servers like Apache. Traditionally, this servlet is mapped to the -->
|
||||||
|
<!-- URL pattern "*.shtml". This servlet supports the following -->
|
||||||
|
<!-- initialization parameters (default values are in square brackets): -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- buffered Should output from this servlet be buffered? -->
|
||||||
|
<!-- (0=false, 1=true) [0] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- debug Debugging detail level for messages logged -->
|
||||||
|
<!-- by this servlet. [0] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- expires The number of seconds before a page with SSI -->
|
||||||
|
<!-- directives will expire. [No default] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- isVirtualWebappRelative -->
|
||||||
|
<!-- Should "virtual" paths be interpreted as -->
|
||||||
|
<!-- relative to the context root, instead of -->
|
||||||
|
<!-- the server root? (0=false, 1=true) [0] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- IMPORTANT: To use the SSI servlet, you also need to rename the -->
|
||||||
|
<!-- $CATALINA_HOME/server/lib/servlets-ssi.renametojar file -->
|
||||||
|
<!-- to $CATALINA_HOME/server/lib/servlets-ssi.jar -->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>ssi</servlet-name>
|
||||||
|
<servlet-class>
|
||||||
|
org.apache.catalina.ssi.SSIServlet
|
||||||
|
</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>buffered</param-name>
|
||||||
|
<param-value>1</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>debug</param-name>
|
||||||
|
<param-value>0</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>expires</param-name>
|
||||||
|
<param-value>666</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>isVirtualWebappRelative</param-name>
|
||||||
|
<param-value>0</param-value>
|
||||||
|
</init-param>
|
||||||
|
<load-on-startup>4</load-on-startup>
|
||||||
|
</servlet>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Common Gateway Includes (CGI) processing servlet, which supports -->
|
||||||
|
<!-- execution of external applications that conform to the CGI spec -->
|
||||||
|
<!-- requirements. Typically, this servlet is mapped to the URL pattern -->
|
||||||
|
<!-- "/cgi-bin/*", which means that any CGI applications that are -->
|
||||||
|
<!-- executed must be present within the web application. This servlet -->
|
||||||
|
<!-- supports the following initialization parameters (default values -->
|
||||||
|
<!-- are in square brackets): -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- cgiPathPrefix The CGI search path will start at -->
|
||||||
|
<!-- webAppRootDir + File.separator + this prefix. -->
|
||||||
|
<!-- [WEB-INF/cgi] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- debug Debugging detail level for messages logged -->
|
||||||
|
<!-- by this servlet. [0] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- executable Name of the exectuable used to run the -->
|
||||||
|
<!-- script. [perl] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- parameterEncoding Name of parameter encoding to be used with -->
|
||||||
|
<!-- CGI servlet. -->
|
||||||
|
<!-- [System.getProperty("file.encoding","UTF-8")] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- passShellEnvironment Should the shell environment variables (if -->
|
||||||
|
<!-- any) be passed to the CGI script? [false] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- IMPORTANT: To use the CGI servlet, you also need to rename the -->
|
||||||
|
<!-- $CATALINA_HOME/server/lib/servlets-cgi.renametojar file -->
|
||||||
|
<!-- to $CATALINA_HOME/server/lib/servlets-cgi.jar -->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>cgi</servlet-name>
|
||||||
|
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>debug</param-name>
|
||||||
|
<param-value>6</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>cgiPathPrefix</param-name>
|
||||||
|
<param-value>WEB-INF/cgi</param-value>
|
||||||
|
</init-param>
|
||||||
|
<load-on-startup>5</load-on-startup>
|
||||||
|
</servlet>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ================ Built In Servlet Mappings ========================= -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- The servlet mappings for the built in servlets defined above. Note -->
|
||||||
|
<!-- that, by default, the CGI and SSI servlets are *not* mapped. You -->
|
||||||
|
<!-- must uncomment these mappings (or add them to your application's own -->
|
||||||
|
<!-- web.xml deployment descriptor) to enable these services -->
|
||||||
|
|
||||||
|
<!-- The mapping for the default servlet -->
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>default</servlet-name>
|
||||||
|
<url-pattern>/</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
|
||||||
|
<!-- The mapping for the invoker servlet -->
|
||||||
|
<!--
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>invoker</servlet-name>
|
||||||
|
<url-pattern>/servlet/*</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- The mapping for the JSP servlet -->
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>jsp</servlet-name>
|
||||||
|
<url-pattern>*.jsp</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>jsp</servlet-name>
|
||||||
|
<url-pattern>*.jspx</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
|
||||||
|
<!-- The mapping for the SSI servlet -->
|
||||||
|
<!--
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>ssi</servlet-name>
|
||||||
|
<url-pattern>*.shtml</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- The mapping for the CGI Gateway servlet -->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>cgi</servlet-name>
|
||||||
|
<url-pattern>/cgi-bin/*</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ==================== Default Session Configuration ================= -->
|
||||||
|
<!-- You can set the default session timeout (in minutes) for all newly -->
|
||||||
|
<!-- created sessions by modifying the value below. -->
|
||||||
|
|
||||||
|
<session-config>
|
||||||
|
<session-timeout>30</session-timeout>
|
||||||
|
</session-config>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ===================== Default MIME Type Mappings =================== -->
|
||||||
|
<!-- When serving static resources, Tomcat will automatically generate -->
|
||||||
|
<!-- a "Content-Type" header based on the resource's filename extension, -->
|
||||||
|
<!-- based on these mappings. Additional mappings can be added here (to -->
|
||||||
|
<!-- apply to all web applications), or in your own application's web.xml -->
|
||||||
|
<!-- deployment descriptor. -->
|
||||||
|
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>abs</extension>
|
||||||
|
<mime-type>audio/x-mpeg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>ai</extension>
|
||||||
|
<mime-type>application/postscript</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>aif</extension>
|
||||||
|
<mime-type>audio/x-aiff</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>aifc</extension>
|
||||||
|
<mime-type>audio/x-aiff</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>aiff</extension>
|
||||||
|
<mime-type>audio/x-aiff</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>aim</extension>
|
||||||
|
<mime-type>application/x-aim</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>art</extension>
|
||||||
|
<mime-type>image/x-jg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>asf</extension>
|
||||||
|
<mime-type>video/x-ms-asf</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>asx</extension>
|
||||||
|
<mime-type>video/x-ms-asf</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>au</extension>
|
||||||
|
<mime-type>audio/basic</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>avi</extension>
|
||||||
|
<mime-type>video/x-msvideo</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>avx</extension>
|
||||||
|
<mime-type>video/x-rad-screenplay</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>bcpio</extension>
|
||||||
|
<mime-type>application/x-bcpio</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>bin</extension>
|
||||||
|
<mime-type>application/octet-stream</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>bmp</extension>
|
||||||
|
<mime-type>image/bmp</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>body</extension>
|
||||||
|
<mime-type>text/html</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>cdf</extension>
|
||||||
|
<mime-type>application/x-cdf</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>cer</extension>
|
||||||
|
<mime-type>application/x-x509-ca-cert</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>class</extension>
|
||||||
|
<mime-type>application/java</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>cpio</extension>
|
||||||
|
<mime-type>application/x-cpio</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>csh</extension>
|
||||||
|
<mime-type>application/x-csh</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>css</extension>
|
||||||
|
<mime-type>text/css</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>dib</extension>
|
||||||
|
<mime-type>image/bmp</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>doc</extension>
|
||||||
|
<mime-type>application/msword</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>dtd</extension>
|
||||||
|
<mime-type>application/xml-dtd</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>dv</extension>
|
||||||
|
<mime-type>video/x-dv</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>dvi</extension>
|
||||||
|
<mime-type>application/x-dvi</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>eps</extension>
|
||||||
|
<mime-type>application/postscript</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>etx</extension>
|
||||||
|
<mime-type>text/x-setext</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>exe</extension>
|
||||||
|
<mime-type>application/octet-stream</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>gif</extension>
|
||||||
|
<mime-type>image/gif</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>gtar</extension>
|
||||||
|
<mime-type>application/x-gtar</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>gz</extension>
|
||||||
|
<mime-type>application/x-gzip</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>hdf</extension>
|
||||||
|
<mime-type>application/x-hdf</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>hqx</extension>
|
||||||
|
<mime-type>application/mac-binhex40</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>htc</extension>
|
||||||
|
<mime-type>text/x-component</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>htm</extension>
|
||||||
|
<mime-type>text/html</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>html</extension>
|
||||||
|
<mime-type>text/html</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>hqx</extension>
|
||||||
|
<mime-type>application/mac-binhex40</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>ief</extension>
|
||||||
|
<mime-type>image/ief</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>jad</extension>
|
||||||
|
<mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>jar</extension>
|
||||||
|
<mime-type>application/java-archive</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>java</extension>
|
||||||
|
<mime-type>text/plain</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>jnlp</extension>
|
||||||
|
<mime-type>application/x-java-jnlp-file</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>jpe</extension>
|
||||||
|
<mime-type>image/jpeg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>jpeg</extension>
|
||||||
|
<mime-type>image/jpeg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>jpg</extension>
|
||||||
|
<mime-type>image/jpeg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>js</extension>
|
||||||
|
<mime-type>text/javascript</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>jsf</extension>
|
||||||
|
<mime-type>text/plain</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>jspf</extension>
|
||||||
|
<mime-type>text/plain</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>kar</extension>
|
||||||
|
<mime-type>audio/x-midi</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>latex</extension>
|
||||||
|
<mime-type>application/x-latex</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>m3u</extension>
|
||||||
|
<mime-type>audio/x-mpegurl</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mac</extension>
|
||||||
|
<mime-type>image/x-macpaint</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>man</extension>
|
||||||
|
<mime-type>application/x-troff-man</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mathml</extension>
|
||||||
|
<mime-type>application/mathml+xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>me</extension>
|
||||||
|
<mime-type>application/x-troff-me</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mid</extension>
|
||||||
|
<mime-type>audio/x-midi</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>midi</extension>
|
||||||
|
<mime-type>audio/x-midi</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mif</extension>
|
||||||
|
<mime-type>application/x-mif</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mov</extension>
|
||||||
|
<mime-type>video/quicktime</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>movie</extension>
|
||||||
|
<mime-type>video/x-sgi-movie</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mp1</extension>
|
||||||
|
<mime-type>audio/x-mpeg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mp2</extension>
|
||||||
|
<mime-type>audio/x-mpeg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mp3</extension>
|
||||||
|
<mime-type>audio/x-mpeg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mpa</extension>
|
||||||
|
<mime-type>audio/x-mpeg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mpe</extension>
|
||||||
|
<mime-type>video/mpeg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mpeg</extension>
|
||||||
|
<mime-type>video/mpeg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mpega</extension>
|
||||||
|
<mime-type>audio/x-mpeg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mpg</extension>
|
||||||
|
<mime-type>video/mpeg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mpv2</extension>
|
||||||
|
<mime-type>video/mpeg2</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>ms</extension>
|
||||||
|
<mime-type>application/x-wais-source</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>nc</extension>
|
||||||
|
<mime-type>application/x-netcdf</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>oda</extension>
|
||||||
|
<mime-type>application/oda</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>ogg</extension>
|
||||||
|
<mime-type>application/ogg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>pbm</extension>
|
||||||
|
<mime-type>image/x-portable-bitmap</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>pct</extension>
|
||||||
|
<mime-type>image/pict</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>pdf</extension>
|
||||||
|
<mime-type>application/pdf</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>pgm</extension>
|
||||||
|
<mime-type>image/x-portable-graymap</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>pic</extension>
|
||||||
|
<mime-type>image/pict</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>pict</extension>
|
||||||
|
<mime-type>image/pict</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>pls</extension>
|
||||||
|
<mime-type>audio/x-scpls</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>png</extension>
|
||||||
|
<mime-type>image/png</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>pnm</extension>
|
||||||
|
<mime-type>image/x-portable-anymap</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>pnt</extension>
|
||||||
|
<mime-type>image/x-macpaint</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>ppm</extension>
|
||||||
|
<mime-type>image/x-portable-pixmap</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>ppt</extension>
|
||||||
|
<mime-type>application/powerpoint</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>ps</extension>
|
||||||
|
<mime-type>application/postscript</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>psd</extension>
|
||||||
|
<mime-type>image/x-photoshop</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>qt</extension>
|
||||||
|
<mime-type>video/quicktime</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>qti</extension>
|
||||||
|
<mime-type>image/x-quicktime</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>qtif</extension>
|
||||||
|
<mime-type>image/x-quicktime</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>ras</extension>
|
||||||
|
<mime-type>image/x-cmu-raster</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>rdf</extension>
|
||||||
|
<mime-type>application/rdf+xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>rgb</extension>
|
||||||
|
<mime-type>image/x-rgb</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>rm</extension>
|
||||||
|
<mime-type>application/vnd.rn-realmedia</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>roff</extension>
|
||||||
|
<mime-type>application/x-troff</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>rtf</extension>
|
||||||
|
<mime-type>application/rtf</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>rtx</extension>
|
||||||
|
<mime-type>text/richtext</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>sh</extension>
|
||||||
|
<mime-type>application/x-sh</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>shar</extension>
|
||||||
|
<mime-type>application/x-shar</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>smf</extension>
|
||||||
|
<mime-type>audio/x-midi</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>sit</extension>
|
||||||
|
<mime-type>application/x-stuffit</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>snd</extension>
|
||||||
|
<mime-type>audio/basic</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>src</extension>
|
||||||
|
<mime-type>application/x-wais-source</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>sv4cpio</extension>
|
||||||
|
<mime-type>application/x-sv4cpio</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>sv4crc</extension>
|
||||||
|
<mime-type>application/x-sv4crc</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>svg</extension>
|
||||||
|
<mime-type>image/svg+xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>swf</extension>
|
||||||
|
<mime-type>application/x-shockwave-flash</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>t</extension>
|
||||||
|
<mime-type>application/x-troff</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>tar</extension>
|
||||||
|
<mime-type>application/x-tar</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>tcl</extension>
|
||||||
|
<mime-type>application/x-tcl</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>tex</extension>
|
||||||
|
<mime-type>application/x-tex</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>texi</extension>
|
||||||
|
<mime-type>application/x-texinfo</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>texinfo</extension>
|
||||||
|
<mime-type>application/x-texinfo</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>tif</extension>
|
||||||
|
<mime-type>image/tiff</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>tiff</extension>
|
||||||
|
<mime-type>image/tiff</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>tr</extension>
|
||||||
|
<mime-type>application/x-troff</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>tsv</extension>
|
||||||
|
<mime-type>text/tab-separated-values</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>txt</extension>
|
||||||
|
<mime-type>text/plain</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>ulw</extension>
|
||||||
|
<mime-type>audio/basic</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>ustar</extension>
|
||||||
|
<mime-type>application/x-ustar</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>vxml</extension>
|
||||||
|
<mime-type>application/voicexml+xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>xbm</extension>
|
||||||
|
<mime-type>image/x-xbitmap</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>xht</extension>
|
||||||
|
<mime-type>application/xhtml+xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>xhtml</extension>
|
||||||
|
<mime-type>application/xhtml+xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>xml</extension>
|
||||||
|
<mime-type>application/xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>xpm</extension>
|
||||||
|
<mime-type>image/x-xpixmap</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>xsl</extension>
|
||||||
|
<mime-type>application/xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>xslt</extension>
|
||||||
|
<mime-type>application/xslt+xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>xul</extension>
|
||||||
|
<mime-type>application/vnd.mozilla.xul+xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>xwd</extension>
|
||||||
|
<mime-type>image/x-xwindowdump</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>wav</extension>
|
||||||
|
<mime-type>audio/x-wav</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>svg</extension>
|
||||||
|
<mime-type>image/svg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>svgz</extension>
|
||||||
|
<mime-type>image/svg</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>vsd</extension>
|
||||||
|
<mime-type>application/x-visio</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<!-- Wireless Bitmap -->
|
||||||
|
<extension>wbmp</extension>
|
||||||
|
<mime-type>image/vnd.wap.wbmp</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<!-- WML Source -->
|
||||||
|
<extension>wml</extension>
|
||||||
|
<mime-type>text/vnd.wap.wml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<!-- Compiled WML -->
|
||||||
|
<extension>wmlc</extension>
|
||||||
|
<mime-type>application/vnd.wap.wmlc</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<!-- WML Script Source -->
|
||||||
|
<extension>wmls</extension>
|
||||||
|
<mime-type>text/vnd.wap.wmlscript</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<!-- Compiled WML Script -->
|
||||||
|
<extension>wmlscriptc</extension>
|
||||||
|
<mime-type>application/vnd.wap.wmlscriptc</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>wrl</extension>
|
||||||
|
<mime-type>x-world/x-vrml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>Z</extension>
|
||||||
|
<mime-type>application/x-compress</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>z</extension>
|
||||||
|
<mime-type>application/x-compress</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>zip</extension>
|
||||||
|
<mime-type>application/zip</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ==================== Default Welcome File List ===================== -->
|
||||||
|
<!-- When a request URI refers to a directory, the default servlet looks -->
|
||||||
|
<!-- for a "welcome file" within that directory and, if present, -->
|
||||||
|
<!-- to the corresponding resource URI for display. If no welcome file -->
|
||||||
|
<!-- is present, the default servlet either serves a directory listing, -->
|
||||||
|
<!-- or returns a 404 status, depending on how it is configured. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- If you define welcome files in your own application's web.xml -->
|
||||||
|
<!-- deployment descriptor, that list *replaces* the list configured -->
|
||||||
|
<!-- here, so be sure that you include any of the default values that -->
|
||||||
|
<!-- you wish to include. -->
|
||||||
|
|
||||||
|
<welcome-file-list>
|
||||||
|
<welcome-file>index.html</welcome-file>
|
||||||
|
<welcome-file>index.htm</welcome-file>
|
||||||
|
<welcome-file>index.jsp</welcome-file>
|
||||||
|
</welcome-file-list>
|
||||||
|
|
||||||
|
</web-app>
|
206
tomcat/conf/workers.properties
Normal file
206
tomcat/conf/workers.properties
Normal file
|
@ -0,0 +1,206 @@
|
||||||
|
# workers.properties -
|
||||||
|
#
|
||||||
|
# This file provides jk derived plugins with the needed information to
|
||||||
|
# connect to the different tomcat workers. Note that the distributed
|
||||||
|
# version of this file requires modification before it is usable by a
|
||||||
|
# plugin.
|
||||||
|
#
|
||||||
|
# As a general note, the characters $( and ) are used internally to define
|
||||||
|
# macros. Do not use them in your own configuration!!!
|
||||||
|
#
|
||||||
|
# Whenever you see a set of lines such as:
|
||||||
|
# x=value
|
||||||
|
# y=$(x)\something
|
||||||
|
#
|
||||||
|
# the final value for y will be value\something
|
||||||
|
#
|
||||||
|
# Normaly all you will need to do is un-comment and modify the first three
|
||||||
|
# properties, i.e. workers.tomcat_home, workers.java_home and ps.
|
||||||
|
# Most of the configuration is derived from these.
|
||||||
|
#
|
||||||
|
# When you are done updating workers.tomcat_home, workers.java_home and ps
|
||||||
|
# you should have 3 workers configured:
|
||||||
|
#
|
||||||
|
# - An ajp12 worker that connects to localhost:8007
|
||||||
|
# - An ajp13 worker that connects to localhost:8009
|
||||||
|
# - A jni inprocess worker.
|
||||||
|
# - A load balancer worker
|
||||||
|
#
|
||||||
|
# However by default the plugins will only use the ajp12 worker. To have
|
||||||
|
# the plugins use other workers you should modify the worker.list property.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
# OPTIONS ( very important for jni mode )
|
||||||
|
|
||||||
|
#
|
||||||
|
# workers.tomcat_home should point to the location where you
|
||||||
|
# installed tomcat. This is where you have your conf, webapps and lib
|
||||||
|
# directories.
|
||||||
|
#
|
||||||
|
workers.tomcat_home=/var/tomcat3
|
||||||
|
|
||||||
|
#
|
||||||
|
# workers.java_home should point to your Java installation. Normally
|
||||||
|
# you should have a bin and lib directories beneath it.
|
||||||
|
#
|
||||||
|
workers.java_home=/opt/IBMJava2-13
|
||||||
|
|
||||||
|
#
|
||||||
|
# You should configure your environment slash... ps=\ on NT and / on UNIX
|
||||||
|
# and maybe something different elsewhere.
|
||||||
|
#
|
||||||
|
ps=/
|
||||||
|
|
||||||
|
#
|
||||||
|
#------ ADVANCED MODE ------------------------------------------------
|
||||||
|
#---------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
#------ DEFAULT worket list ------------------------------------------
|
||||||
|
#---------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# The workers that your plugins should create and work with
|
||||||
|
#
|
||||||
|
# Add 'inprocess' if you want JNI connector
|
||||||
|
worker.list=ajp12, ajp13
|
||||||
|
# , inprocess
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
#------ DEFAULT ajp12 WORKER DEFINITION ------------------------------
|
||||||
|
#---------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Defining a worker named ajp12 and of type ajp12
|
||||||
|
# Note that the name and the type do not have to match.
|
||||||
|
#
|
||||||
|
worker.ajp12.port=8007
|
||||||
|
worker.ajp12.host=localhost
|
||||||
|
worker.ajp12.type=ajp12
|
||||||
|
#
|
||||||
|
# Specifies the load balance factor when used with
|
||||||
|
# a load balancing worker.
|
||||||
|
# Note:
|
||||||
|
# ----> lbfactor must be > 0
|
||||||
|
# ----> Low lbfactor means less work done by the worker.
|
||||||
|
worker.ajp12.lbfactor=1
|
||||||
|
|
||||||
|
#
|
||||||
|
#------ DEFAULT ajp13 WORKER DEFINITION ------------------------------
|
||||||
|
#---------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Defining a worker named ajp13 and of type ajp13
|
||||||
|
# Note that the name and the type do not have to match.
|
||||||
|
#
|
||||||
|
worker.ajp13.port=8009
|
||||||
|
worker.ajp13.host=localhost
|
||||||
|
worker.ajp13.type=ajp13
|
||||||
|
#
|
||||||
|
# Specifies the load balance factor when used with
|
||||||
|
# a load balancing worker.
|
||||||
|
# Note:
|
||||||
|
# ----> lbfactor must be > 0
|
||||||
|
# ----> Low lbfactor means less work done by the worker.
|
||||||
|
worker.ajp13.lbfactor=1
|
||||||
|
|
||||||
|
#
|
||||||
|
# Specify the size of the open connection cache.
|
||||||
|
#worker.ajp13.cachesize
|
||||||
|
|
||||||
|
#
|
||||||
|
#------ DEFAULT LOAD BALANCER WORKER DEFINITION ----------------------
|
||||||
|
#---------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# The loadbalancer (type lb) workers perform wighted round-robin
|
||||||
|
# load balancing with sticky sessions.
|
||||||
|
# Note:
|
||||||
|
# ----> If a worker dies, the load balancer will check its state
|
||||||
|
# once in a while. Until then all work is redirected to peer
|
||||||
|
# workers.
|
||||||
|
worker.loadbalancer.type=lb
|
||||||
|
worker.loadbalancer.balanced_workers=ajp12, ajp13
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
#------ DEFAULT JNI WORKER DEFINITION---------------------------------
|
||||||
|
#---------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Defining a worker named inprocess and of type jni
|
||||||
|
# Note that the name and the type do not have to match.
|
||||||
|
#
|
||||||
|
worker.inprocess.type=jni
|
||||||
|
|
||||||
|
#
|
||||||
|
#------ CLASSPATH DEFINITION -----------------------------------------
|
||||||
|
#---------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Additional class path components.
|
||||||
|
#
|
||||||
|
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
|
||||||
|
|
||||||
|
#
|
||||||
|
# Setting the command line for tomcat.
|
||||||
|
# Note: The cmd_line string may not contain spaces.
|
||||||
|
#
|
||||||
|
worker.inprocess.cmd_line=start
|
||||||
|
|
||||||
|
# Not needed, but can be customized.
|
||||||
|
#worker.inprocess.cmd_line=-config
|
||||||
|
#worker.inprocess.cmd_line=$(workers.tomcat_home)$(ps)conf$(ps)server.xml
|
||||||
|
#worker.inprocess.cmd_line=-home
|
||||||
|
#worker.inprocess.cmd_line=$(workers.tomcat_home)
|
||||||
|
|
||||||
|
#
|
||||||
|
# The JVM that we are about to use
|
||||||
|
#
|
||||||
|
# This is for Java2
|
||||||
|
#
|
||||||
|
# Windows
|
||||||
|
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
|
||||||
|
# IBM JDK1.3
|
||||||
|
#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)libjvm.so
|
||||||
|
# Unix - Sun VM or blackdown
|
||||||
|
#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.so
|
||||||
|
|
||||||
|
#
|
||||||
|
# And this is for jdk1.1.X
|
||||||
|
#
|
||||||
|
#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)bin$(ps)javai.dll
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Setting the place for the stdout and stderr of tomcat
|
||||||
|
#
|
||||||
|
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
|
||||||
|
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr
|
||||||
|
|
||||||
|
#
|
||||||
|
# Setting the tomcat.home Java property
|
||||||
|
#
|
||||||
|
#worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Java system properties
|
||||||
|
#
|
||||||
|
# worker.inprocess.sysprops=java.compiler=NONE
|
||||||
|
# worker.inprocess.sysprops=myprop=mypropvalue
|
||||||
|
|
||||||
|
#
|
||||||
|
# Additional path components.
|
||||||
|
#
|
||||||
|
# worker.inprocess.ld_path=d:$(ps)SQLLIB$(ps)bin
|
||||||
|
#
|
||||||
|
|
||||||
|
|
17
tomcat/conf/workers.properties.minimal
Normal file
17
tomcat/conf/workers.properties.minimal
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# workers.properties.minimal -
|
||||||
|
#
|
||||||
|
# This file provides minimal jk configuration properties needed to
|
||||||
|
# connect to Tomcat.
|
||||||
|
#
|
||||||
|
# The workers that jk should create and work with
|
||||||
|
#
|
||||||
|
worker.list=ajp13w
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Defining a worker named ajp13w and of type ajp13
|
||||||
|
# Note that the name and the type do not have to match.
|
||||||
|
#
|
||||||
|
worker.ajp13w.type=ajp13
|
||||||
|
worker.ajp13w.host=localhost
|
||||||
|
worker.ajp13w.port=8009
|
132
tomcat/conf/workers2.properties
Normal file
132
tomcat/conf/workers2.properties
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
[logger]
|
||||||
|
level=DEBUG
|
||||||
|
|
||||||
|
[config:]
|
||||||
|
file=${serverRoot}/conf/workers2.properties
|
||||||
|
debug=0
|
||||||
|
debugEnv=0
|
||||||
|
|
||||||
|
[uriMap:]
|
||||||
|
info=Maps the requests. Options: debug
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
# Alternate file logger
|
||||||
|
#[logger.file:0]
|
||||||
|
#level=DEBUG
|
||||||
|
#file=${serverRoot}/logs/jk2.log
|
||||||
|
|
||||||
|
[shm:]
|
||||||
|
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
|
||||||
|
file=${serverRoot}/logs/jk2.shm
|
||||||
|
size=1000000
|
||||||
|
debug=0
|
||||||
|
disabled=0
|
||||||
|
|
||||||
|
[workerEnv:]
|
||||||
|
info=Global server options
|
||||||
|
timing=1
|
||||||
|
debug=0
|
||||||
|
# Default Native Logger (apache2 or win32 )
|
||||||
|
# can be overriden to a file logger, useful
|
||||||
|
# when tracing win32 related issues
|
||||||
|
#logger=logger.file:0
|
||||||
|
|
||||||
|
[lb:lb]
|
||||||
|
info=Default load balancer.
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
[lb:lb_1]
|
||||||
|
info=A second load balancer.
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
[channel.socket:localhost:8009]
|
||||||
|
info=Ajp13 forwarding over socket
|
||||||
|
debug=0
|
||||||
|
tomcatId=localhost:8009
|
||||||
|
|
||||||
|
[channel.socket:localhost:8019]
|
||||||
|
info=A second tomcat instance.
|
||||||
|
debug=0
|
||||||
|
tomcatId=localhost:8019
|
||||||
|
lb_factor=1
|
||||||
|
#group=lb
|
||||||
|
group:lb:lb
|
||||||
|
#group=lb_1
|
||||||
|
group:lb:lb_1
|
||||||
|
disabled=0
|
||||||
|
|
||||||
|
[channel.un:/opt/33/work/jk2.socket]
|
||||||
|
info=A second channel connecting to localhost:8019 via unix socket
|
||||||
|
tomcatId=localhost:8019
|
||||||
|
lb_factor=1
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
[channel.jni:jni]
|
||||||
|
info=The jni channel, used if tomcat is started inprocess
|
||||||
|
|
||||||
|
[status:]
|
||||||
|
info=Status worker, displays runtime informations
|
||||||
|
|
||||||
|
[vm:]
|
||||||
|
info=Parameters used to load a JVM in the server process
|
||||||
|
#JVM=C:\jdk\jre\bin\hotspot\jvm.dll
|
||||||
|
classpath=${TOMCAT_HOME}/bin/tomcat-jni.jar
|
||||||
|
classpath=${TOMCAT_HOME}/server/lib/commons-logging.jar
|
||||||
|
OPT=-Dtomcat.home=${TOMCAT_HOME}
|
||||||
|
OPT=-Dcatalina.home=${TOMCAT_HOME}
|
||||||
|
OPT=-Xmx128M
|
||||||
|
#OPT=-Djava.compiler=NONE
|
||||||
|
disabled=1
|
||||||
|
|
||||||
|
[worker.jni:onStartup]
|
||||||
|
info=Command to be executed by the VM on startup. This one will start tomcat.
|
||||||
|
class=org/apache/jk/apr/TomcatStarter
|
||||||
|
ARG=start
|
||||||
|
# For Tomcat 5 use the 'stard' for startup argument
|
||||||
|
# ARG=stard
|
||||||
|
disabled=1
|
||||||
|
stdout=${serverRoot}/logs/stdout.log
|
||||||
|
stderr=${serverRoot}/logs/stderr.log
|
||||||
|
|
||||||
|
[worker.jni:onShutdown]
|
||||||
|
info=Command to be executed by the VM on shutdown. This one will stop tomcat.
|
||||||
|
class=org/apache/jk/apr/TomcatStarter
|
||||||
|
ARG=stop
|
||||||
|
disabled=1
|
||||||
|
|
||||||
|
[uri:/jkstatus/*]
|
||||||
|
info=Display status information and checks the config file for changes.
|
||||||
|
group=status:
|
||||||
|
|
||||||
|
[uri:127.0.0.1:8003]
|
||||||
|
info=Example virtual host. Make sure myVirtualHost is in /etc/hosts to test it
|
||||||
|
alias=myVirtualHost:8003
|
||||||
|
|
||||||
|
[uri:127.0.0.1:8003/ex]
|
||||||
|
info=Example webapp in the virtual host. It'll go to lb_1 ( i.e. localhost:8019 )
|
||||||
|
context=/ex
|
||||||
|
group=lb_1
|
||||||
|
|
||||||
|
[uri:/examples]
|
||||||
|
info=Example webapp in the default context.
|
||||||
|
context=/examples
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
[uri:/examples1/*]
|
||||||
|
info=A second webapp, this time going to the second tomcat only.
|
||||||
|
group=lb_1
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
[uri:/examples/servlet/*]
|
||||||
|
info=Prefix mapping
|
||||||
|
|
||||||
|
[uri:/examples/*.jsp]
|
||||||
|
info=Extension mapping
|
||||||
|
|
||||||
|
[uri:/examples/*]
|
||||||
|
info=Map the whole webapp
|
||||||
|
|
||||||
|
[uri:/examples/servlet/HelloW]
|
||||||
|
info=Example with debug enabled.
|
||||||
|
debug=10
|
||||||
|
|
55
tomcat/conf/workers2.properties.minimal
Normal file
55
tomcat/conf/workers2.properties.minimal
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
#
|
||||||
|
# This is the minimal JK2 connector configuration file.
|
||||||
|
#
|
||||||
|
|
||||||
|
[logger]
|
||||||
|
info=Native logger
|
||||||
|
level=ERROR
|
||||||
|
|
||||||
|
[config:]
|
||||||
|
file=${serverRoot}/conf/workers2.properties
|
||||||
|
debug=0
|
||||||
|
debugEnv=0
|
||||||
|
|
||||||
|
[uriMap:]
|
||||||
|
info=Maps the requests.
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
[shm:]
|
||||||
|
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
|
||||||
|
file=anonymous
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
[workerEnv:]
|
||||||
|
info=Global server options
|
||||||
|
timing=0
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
[lb:lb]
|
||||||
|
info=Default load balancer.
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
[channel.socket:localhost:8009]
|
||||||
|
info=Ajp13 forwarding over socket
|
||||||
|
debug=0
|
||||||
|
tomcatId=localhost:8009
|
||||||
|
|
||||||
|
[uri:/admin]
|
||||||
|
info=Tomcat HTML based administration web application.
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
[uri:/manager]
|
||||||
|
info=A scriptable management web application for the Tomcat Web Server.
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
[uri:/jsp-examples]
|
||||||
|
info=JSP 2.0 Examples.
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
[uri:/servlets-examples]
|
||||||
|
info=Servlet 2.4 Examples.
|
||||||
|
debug=0
|
||||||
|
|
||||||
|
[uri:/*.jsp]
|
||||||
|
info=JSP Extension mapping.
|
||||||
|
debug=0
|
2
tomcat/logs/.cvsignore
Normal file
2
tomcat/logs/.cvsignore
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
*.log
|
||||||
|
*.out
|
1
tomcat/logs/access/.cvsignore
Normal file
1
tomcat/logs/access/.cvsignore
Normal file
|
@ -0,0 +1 @@
|
||||||
|
*.txt
|
BIN
tomcat/server/lib/catalina-ant.jar
Normal file
BIN
tomcat/server/lib/catalina-ant.jar
Normal file
Binary file not shown.
BIN
tomcat/server/lib/catalina-cluster.jar
Normal file
BIN
tomcat/server/lib/catalina-cluster.jar
Normal file
Binary file not shown.
BIN
tomcat/server/lib/catalina-optional.jar
Normal file
BIN
tomcat/server/lib/catalina-optional.jar
Normal file
Binary file not shown.
BIN
tomcat/server/lib/catalina-storeconfig.jar
Normal file
BIN
tomcat/server/lib/catalina-storeconfig.jar
Normal file
Binary file not shown.
BIN
tomcat/server/lib/catalina.jar
Normal file
BIN
tomcat/server/lib/catalina.jar
Normal file
Binary file not shown.
BIN
tomcat/server/lib/commons-modeler.jar
Normal file
BIN
tomcat/server/lib/commons-modeler.jar
Normal file
Binary file not shown.
BIN
tomcat/server/lib/servlets-cgi.renametojar
Normal file
BIN
tomcat/server/lib/servlets-cgi.renametojar
Normal file
Binary file not shown.
BIN
tomcat/server/lib/servlets-default.jar
Normal file
BIN
tomcat/server/lib/servlets-default.jar
Normal file
Binary file not shown.
BIN
tomcat/server/lib/servlets-invoker.jar
Normal file
BIN
tomcat/server/lib/servlets-invoker.jar
Normal file
Binary file not shown.
BIN
tomcat/server/lib/servlets-ssi.renametojar
Normal file
BIN
tomcat/server/lib/servlets-ssi.renametojar
Normal file
Binary file not shown.
BIN
tomcat/server/lib/servlets-webdav.jar
Normal file
BIN
tomcat/server/lib/servlets-webdav.jar
Normal file
Binary file not shown.
BIN
tomcat/server/lib/tomcat-ajp.jar
Normal file
BIN
tomcat/server/lib/tomcat-ajp.jar
Normal file
Binary file not shown.
BIN
tomcat/server/lib/tomcat-coyote.jar
Normal file
BIN
tomcat/server/lib/tomcat-coyote.jar
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue