new tomcat
This commit is contained in:
parent
879ecc62c4
commit
c568828cb8
|
@ -27,7 +27,10 @@
|
|||
<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-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/jasper-runtime.jar"/>
|
||||
<classpathentry kind="var" path="TOMCAT_HOME/common/lib/jsp-api.jar"/>
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
local-config
|
||||
working.build.properties
|
||||
dicts
|
||||
|
|
|
@ -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
|
|
@ -0,0 +1 @@
|
|||
dictionary-importer.properties
|
|
@ -1,4 +1,4 @@
|
|||
# Default localized resources for DictionaryImporter
|
||||
|
||||
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
|
||||
|
|
|
@ -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.HttpSession;
|
||||
|
||||
import org.thdl.users.ThdlUser;
|
||||
|
||||
/**
|
||||
* Description of the Class
|
||||
*
|
||||
|
@ -83,7 +81,7 @@ public class AuthenticationFilter implements Filter {
|
|||
HttpServletRequest req = (HttpServletRequest) request;
|
||||
Visit visit = UserSessionManager.getInstance().getVisit(
|
||||
req.getSession(true));
|
||||
ThdlUser user = visit.getUser();
|
||||
LexUser user = visit.getUser();
|
||||
if (null == user) {
|
||||
requireLogin(req, (HttpServletResponse) response, req
|
||||
.getSession(true));
|
||||
|
|
|
@ -11,8 +11,6 @@ import javax.servlet.ServletResponse;
|
|||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.thdl.users.ThdlUser;
|
||||
|
||||
/**
|
||||
* Description of the Class
|
||||
*
|
||||
|
@ -78,7 +76,7 @@ public class GuestFilter implements Filter {
|
|||
HttpServletRequest req = (HttpServletRequest) request;
|
||||
Visit visit = UserSessionManager.getInstance().getVisit(
|
||||
req.getSession(true));
|
||||
ThdlUser user = visit.getUser();
|
||||
LexUser user = visit.getUser();
|
||||
if (null == user) {
|
||||
try {
|
||||
user = new LexUser();
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
package org.thdl.lex;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.beanutils.BeanUtils;
|
||||
import org.thdl.lex.component.ILexComponent;
|
||||
import org.thdl.lex.component.ITerm;
|
||||
import org.thdl.lex.component.TransitionalDataComparator;
|
||||
|
||||
/**
|
||||
* Description of the Class
|
||||
|
|
|
@ -1,19 +1,54 @@
|
|||
package org.thdl.lex;
|
||||
|
||||
import org.apache.commons.beanutils.BeanUtils;
|
||||
import 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() {
|
||||
boolean bool = false;
|
||||
if (hasRole("guest")) {
|
||||
bool = true;
|
||||
}
|
||||
return bool;
|
||||
return checkRole("guest");
|
||||
}
|
||||
|
||||
public boolean isAdministrator() {
|
||||
return checkRole("admin");
|
||||
}
|
||||
|
||||
public boolean isEditor() {
|
||||
return checkRole("editorHi") || checkRole("editorLo");
|
||||
}
|
||||
|
||||
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;
|
||||
if (hasRole("dev")) {
|
||||
if (hasRole(role)) {
|
||||
bool = true;
|
||||
}
|
||||
return bool;
|
||||
}
|
||||
|
||||
public boolean isFingerprintless() {
|
||||
return isAdministrator() || isProofer();
|
||||
}
|
||||
}
|
|
@ -20,7 +20,7 @@ import org.thdl.users.ThdlUserRepositoryException;
|
|||
* @created October 2, 2003
|
||||
*/
|
||||
public class LoginServlet extends HttpServlet {
|
||||
//attributes
|
||||
// attributes
|
||||
|
||||
private String welcomePage;
|
||||
|
||||
|
@ -28,7 +28,7 @@ public class LoginServlet extends HttpServlet {
|
|||
|
||||
private UserSessionManager sessionManager;
|
||||
|
||||
//accessors
|
||||
// accessors
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
|
@ -99,15 +99,13 @@ public class LoginServlet extends HttpServlet {
|
|||
setWelcomePage("/action?cmd=menu");
|
||||
|
||||
if (getWelcomePage() == null) {
|
||||
throw new ServletException(
|
||||
"The welcomePage init parameter must be specified.");
|
||||
throw new ServletException("The welcomePage init parameter must be specified.");
|
||||
}
|
||||
|
||||
setLoginPage(config.getInitParameter("loginPage"));
|
||||
|
||||
if (getLoginPage() == null) {
|
||||
throw new ServletException(
|
||||
"The loginPage init parameter must be specified.");
|
||||
throw new ServletException("The loginPage init parameter must be specified.");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -123,8 +121,7 @@ public class LoginServlet extends HttpServlet {
|
|||
* Description of Exception
|
||||
* @since
|
||||
*/
|
||||
public void doPost(HttpServletRequest request, HttpServletResponse response)
|
||||
throws ServletException {
|
||||
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException {
|
||||
String username = request.getParameter(LexConstants.USERNAME_REQ_PARAM);
|
||||
|
||||
if (username == null) {
|
||||
|
@ -137,17 +134,15 @@ public class LoginServlet extends HttpServlet {
|
|||
throw new ServletException("No Password Specified");
|
||||
}
|
||||
|
||||
ThdlUser thdlUser = null;
|
||||
try {
|
||||
ThdlUser lexUser = new LexUser();
|
||||
lexUser.setUsername(username);
|
||||
lexUser.setPassword(password);
|
||||
lexUser = ThdlUserRepository.getInstance().validate(lexUser,
|
||||
"dictionary");
|
||||
doLoginSuccess(request, response, lexUser);
|
||||
ThdlUser thdlUser = new ThdlUser();
|
||||
thdlUser.setUsername(username);
|
||||
thdlUser.setPassword(password);
|
||||
thdlUser = ThdlUserRepository.getInstance().validate(thdlUser, "dictionary");
|
||||
doLoginSuccess(request, response, new LexUser(thdlUser));
|
||||
} catch (ThdlUserRepositoryException ture) {
|
||||
doLoginFailure(request, response, username);
|
||||
//throw new ServletException( ture );
|
||||
// throw new ServletException( ture );
|
||||
} catch (Exception e) {
|
||||
throw new ServletException(e);
|
||||
}
|
||||
|
@ -170,11 +165,8 @@ public class LoginServlet extends HttpServlet {
|
|||
* Description of Exception
|
||||
* @since
|
||||
*/
|
||||
private void doLoginSuccess(HttpServletRequest req,
|
||||
HttpServletResponse response, ThdlUser user) throws IOException,
|
||||
LexRepositoryException, LexComponentException {
|
||||
Visit visit = UserSessionManager.getInstance().getVisit(
|
||||
req.getSession(true));
|
||||
private void doLoginSuccess(HttpServletRequest req, HttpServletResponse response, LexUser user) throws IOException, LexRepositoryException, LexComponentException {
|
||||
Visit visit = UserSessionManager.getInstance().getVisit(req.getSession(true));
|
||||
|
||||
visit.setUser(user);
|
||||
|
||||
|
@ -182,8 +174,7 @@ public class LoginServlet extends HttpServlet {
|
|||
visit.setPreferences(preferences);
|
||||
|
||||
visit.setDisplayMode("brief");
|
||||
String targetPage = UserSessionManager.getInstance()
|
||||
.getSessionLoginTarget(req.getSession(true), true);
|
||||
String targetPage = UserSessionManager.getInstance().getSessionLoginTarget(req.getSession(true), true);
|
||||
|
||||
if (targetPage == null) {
|
||||
UserSessionManager.doRedirect(req, response, getWelcomePage());
|
||||
|
@ -206,9 +197,7 @@ public class LoginServlet extends HttpServlet {
|
|||
* Description of Exception
|
||||
* @since
|
||||
*/
|
||||
private void doLoginFailure(HttpServletRequest request,
|
||||
HttpServletResponse response, String username)
|
||||
throws ServletException {
|
||||
private void doLoginFailure(HttpServletRequest request, HttpServletResponse response, String username) throws ServletException {
|
||||
|
||||
String loginURL = getLoginPage() + "?retry=true&username=" + username;
|
||||
try {
|
||||
|
@ -218,4 +207,3 @@ public class LoginServlet extends HttpServlet {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ import java.sql.ResultSet;
|
|||
import java.sql.SQLException;
|
||||
|
||||
import org.thdl.lex.component.LexComponentException;
|
||||
import org.thdl.users.ThdlUser;
|
||||
|
||||
/**
|
||||
* Description of the Class
|
||||
|
@ -14,7 +13,7 @@ import org.thdl.users.ThdlUser;
|
|||
* @created October 6, 2003
|
||||
*/
|
||||
public class Preferences {
|
||||
//attributes
|
||||
// attributes
|
||||
private Integer id;
|
||||
|
||||
private Integer userId;
|
||||
|
@ -55,7 +54,7 @@ public class Preferences {
|
|||
|
||||
private Integer[] dialectSet;
|
||||
|
||||
//accessors
|
||||
// accessors
|
||||
|
||||
/**
|
||||
* Sets the id attribute of the Preferences object
|
||||
|
@ -437,7 +436,7 @@ public class Preferences {
|
|||
return note;
|
||||
}
|
||||
|
||||
//helpers
|
||||
// helpers
|
||||
|
||||
/**
|
||||
* Description of the Method
|
||||
|
@ -476,16 +475,11 @@ public class Preferences {
|
|||
setUseDefaultDialect(bool.booleanValue());
|
||||
bool = Boolean.valueOf(results.getString(15));
|
||||
setUseDefaultNote(bool.booleanValue());
|
||||
setProjectSubjectSet(LexUtilities
|
||||
.convertTokensToIntegerArray(results.getString(16)));
|
||||
setSourceSet(LexUtilities.convertTokensToIntegerArray(results
|
||||
.getString(17)));
|
||||
setLanguageSet(LexUtilities.convertTokensToIntegerArray(results
|
||||
.getString(18)));
|
||||
setScriptSet(LexUtilities.convertTokensToIntegerArray(results
|
||||
.getString(19)));
|
||||
setDialectSet(LexUtilities.convertTokensToIntegerArray(results
|
||||
.getString(20)));
|
||||
setProjectSubjectSet(LexUtilities.convertTokensToIntegerArray(results.getString(16)));
|
||||
setSourceSet(LexUtilities.convertTokensToIntegerArray(results.getString(17)));
|
||||
setLanguageSet(LexUtilities.convertTokensToIntegerArray(results.getString(18)));
|
||||
setScriptSet(LexUtilities.convertTokensToIntegerArray(results.getString(19)));
|
||||
setDialectSet(LexUtilities.convertTokensToIntegerArray(results.getString(20)));
|
||||
} else {
|
||||
insertNew();
|
||||
}
|
||||
|
@ -503,8 +497,7 @@ public class Preferences {
|
|||
*/
|
||||
public void insertNew() throws LexComponentException {
|
||||
try {
|
||||
String sql = "INSERT INTO Preferences ( id, userId ) VALUES ( NULL, "
|
||||
+ getUserId() + " )";
|
||||
String sql = "INSERT INTO Preferences ( id, userId ) VALUES ( NULL, " + getUserId() + " )";
|
||||
Integer i = new Integer(LexRepository.getInstance().doUpdate(sql));
|
||||
setId(i);
|
||||
} catch (LexRepositoryException lre) {
|
||||
|
@ -520,8 +513,7 @@ public class Preferences {
|
|||
*/
|
||||
public void save() throws LexComponentException {
|
||||
try {
|
||||
String sql = "SELECT id FROM Preferences WHERE userId = "
|
||||
+ getUserId();
|
||||
String sql = "SELECT id FROM Preferences WHERE userId = " + getUserId();
|
||||
LexRepository lr = LexRepository.getInstance();
|
||||
Connection con = lr.getDataSource().getConnection();
|
||||
ResultSet results = con.createStatement().executeQuery(sql);
|
||||
|
@ -560,20 +552,15 @@ public class Preferences {
|
|||
sqlBuffer.append("', useDefaultNote = '");
|
||||
sqlBuffer.append(getUseDefaultNote());
|
||||
sqlBuffer.append("', projectSubjectSet = '");
|
||||
sqlBuffer.append(LexUtilities
|
||||
.convertIntegerArrayToTokens(getProjectSubjectSet()));
|
||||
sqlBuffer.append(LexUtilities.convertIntegerArrayToTokens(getProjectSubjectSet()));
|
||||
sqlBuffer.append("', sourceSet = '");
|
||||
sqlBuffer.append(LexUtilities
|
||||
.convertIntegerArrayToTokens(getSourceSet()));
|
||||
sqlBuffer.append(LexUtilities.convertIntegerArrayToTokens(getSourceSet()));
|
||||
sqlBuffer.append("', languageSet = '");
|
||||
sqlBuffer.append(LexUtilities
|
||||
.convertIntegerArrayToTokens(getLanguageSet()));
|
||||
sqlBuffer.append(LexUtilities.convertIntegerArrayToTokens(getLanguageSet()));
|
||||
sqlBuffer.append("', scriptSet = '");
|
||||
sqlBuffer.append(LexUtilities
|
||||
.convertIntegerArrayToTokens(getScriptSet()));
|
||||
sqlBuffer.append(LexUtilities.convertIntegerArrayToTokens(getScriptSet()));
|
||||
sqlBuffer.append("', dialectSet = '");
|
||||
sqlBuffer.append(LexUtilities
|
||||
.convertIntegerArrayToTokens(getDialectSet()));
|
||||
sqlBuffer.append(LexUtilities.convertIntegerArrayToTokens(getDialectSet()));
|
||||
sqlBuffer.append("' WHERE id = ");
|
||||
sqlBuffer.append(getId());
|
||||
LexRepository.getInstance().doUpdate(sqlBuffer.toString());
|
||||
|
@ -601,7 +588,7 @@ public class Preferences {
|
|||
}
|
||||
}
|
||||
|
||||
//constructors
|
||||
// constructors
|
||||
/**
|
||||
* Constructor for the Preferences object
|
||||
*/
|
||||
|
@ -636,8 +623,7 @@ public class Preferences {
|
|||
* @exception LexComponentException
|
||||
* Description of the Exception
|
||||
*/
|
||||
public Preferences(ThdlUser user) throws LexRepositoryException,
|
||||
LexComponentException {
|
||||
public Preferences(LexUser user) throws LexRepositoryException, LexComponentException {
|
||||
this();
|
||||
setUserId(user.getId());
|
||||
populate();
|
||||
|
@ -649,4 +635,3 @@ public class Preferences {
|
|||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,8 +2,6 @@ package org.thdl.lex;
|
|||
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.thdl.users.ThdlUser;
|
||||
|
||||
/**
|
||||
* Description of the Class
|
||||
*
|
||||
|
@ -22,7 +20,7 @@ public class Visit {
|
|||
|
||||
LexQuery query;
|
||||
|
||||
ThdlUser user;
|
||||
LexUser user;
|
||||
|
||||
String displayMode;
|
||||
|
||||
|
@ -100,7 +98,7 @@ public class Visit {
|
|||
* @param user
|
||||
* The new user value
|
||||
*/
|
||||
public void setUser(ThdlUser user) {
|
||||
public void setUser(LexUser user) {
|
||||
if (user.hasRole("guest")) {
|
||||
getSession().setMaxInactiveInterval(60 * 5);
|
||||
} else {
|
||||
|
@ -164,7 +162,7 @@ public class Visit {
|
|||
*
|
||||
* @return The user value
|
||||
*/
|
||||
public ThdlUser getUser() {
|
||||
public LexUser getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
|
@ -203,7 +201,7 @@ public class Visit {
|
|||
* @param user
|
||||
* Description of the Parameter
|
||||
*/
|
||||
public Visit(HttpSession session, ThdlUser user) {
|
||||
public Visit(HttpSession session, LexUser user) {
|
||||
this(session);
|
||||
setUser(user);
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ import org.thdl.lex.LexConstants;
|
|||
import org.thdl.lex.LexLogger;
|
||||
import org.thdl.lex.LexQuery;
|
||||
import org.thdl.lex.LexRepositoryException;
|
||||
import org.thdl.lex.LexUser;
|
||||
import org.thdl.lex.UserSessionManager;
|
||||
import org.thdl.lex.Visit;
|
||||
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.LexComponentException;
|
||||
import org.thdl.lex.component.Translatable;
|
||||
import org.thdl.users.ThdlUser;
|
||||
|
||||
/**
|
||||
* Description of the Class
|
||||
|
@ -66,7 +66,7 @@ public class GetRemoveFormCommand extends LexCommand implements Command {
|
|||
LexQuery query = visit.getQuery();
|
||||
ITerm term = query.getEntry();
|
||||
String msg = null;
|
||||
ThdlUser user = visit.getUser();
|
||||
LexUser user = visit.getUser();
|
||||
if (validate(user, component)) {
|
||||
|
||||
try {
|
||||
|
|
|
@ -9,6 +9,7 @@ import org.thdl.lex.LexConstants;
|
|||
import org.thdl.lex.LexLogger;
|
||||
import org.thdl.lex.LexQuery;
|
||||
import org.thdl.lex.LexRepositoryException;
|
||||
import org.thdl.lex.LexUser;
|
||||
import org.thdl.lex.UserSessionManager;
|
||||
import org.thdl.lex.Visit;
|
||||
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.LexComponentException;
|
||||
import org.thdl.lex.component.Translatable;
|
||||
import org.thdl.users.ThdlUser;
|
||||
|
||||
/**
|
||||
* Description of the Class
|
||||
|
@ -66,7 +66,7 @@ public class GetUpdateFormCommand extends LexCommand implements Command {
|
|||
LexQuery query = visit.getQuery();
|
||||
ITerm term = query.getEntry();
|
||||
String msg = null;
|
||||
ThdlUser user = visit.getUser();
|
||||
LexUser user = visit.getUser();
|
||||
if (validate(user, component)) {
|
||||
|
||||
try {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package org.thdl.lex.commands;
|
||||
|
||||
import org.thdl.lex.LexUser;
|
||||
import org.thdl.lex.UserSessionManager;
|
||||
import org.thdl.lex.component.ILexComponent;
|
||||
import org.thdl.users.ThdlUser;
|
||||
|
||||
/**
|
||||
* Description of the Class
|
||||
|
@ -11,12 +11,12 @@ import org.thdl.users.ThdlUser;
|
|||
* @created October 3, 2003
|
||||
*/
|
||||
public abstract class LexCommand implements Command {
|
||||
//attributes
|
||||
// attributes
|
||||
private String next;
|
||||
|
||||
private UserSessionManager sessionManager;
|
||||
|
||||
//accessors
|
||||
// accessors
|
||||
/**
|
||||
* Sets the sessionManager attribute of the LexCommand object
|
||||
*
|
||||
|
@ -75,19 +75,17 @@ public abstract class LexCommand implements Command {
|
|||
/*
|
||||
* public ILexComponent getComponent() { return component; }
|
||||
*/
|
||||
//helpers
|
||||
public boolean validate(ThdlUser user, ILexComponent component) {
|
||||
// helpers
|
||||
public boolean validate(LexUser user, ILexComponent component) {
|
||||
boolean valid = false;
|
||||
Integer creator = component.getMeta().getCreatedBy();
|
||||
|
||||
if (user.getId().equals(creator) || user.hasRole("admin")
|
||||
|| user.hasRole("dev")) {
|
||||
if (user.getId().equals(creator) || user.isCanEdit()) {
|
||||
valid = true;
|
||||
}
|
||||
return valid;
|
||||
}
|
||||
|
||||
//constructors
|
||||
// constructors
|
||||
|
||||
/**
|
||||
* Constructor for the LexCommand object
|
||||
|
@ -108,4 +106,3 @@ public abstract class LexCommand implements Command {
|
|||
public LexCommand() {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ import org.thdl.lex.LexConstants;
|
|||
import org.thdl.lex.LexLogger;
|
||||
import org.thdl.lex.LexQuery;
|
||||
import org.thdl.lex.LexRepositoryException;
|
||||
import org.thdl.lex.LexUser;
|
||||
import org.thdl.lex.UserSessionManager;
|
||||
import org.thdl.lex.Visit;
|
||||
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.LexComponentException;
|
||||
import org.thdl.lex.component.Translatable;
|
||||
import org.thdl.users.ThdlUser;
|
||||
|
||||
/**
|
||||
* Description of the Class
|
||||
|
@ -74,7 +74,7 @@ public class RemoveCommand extends LexCommand implements Command {
|
|||
"Could not remove component, user's session has expired");
|
||||
}
|
||||
|
||||
ThdlUser user = visit.getUser();
|
||||
LexUser user = visit.getUser();
|
||||
LexQuery query = visit.getQuery();
|
||||
ITerm term = query.getEntry();
|
||||
LexComponentRepository.update(term);
|
||||
|
|
|
@ -12,6 +12,7 @@ import org.thdl.lex.LexConstants;
|
|||
import org.thdl.lex.LexLogger;
|
||||
import org.thdl.lex.LexQuery;
|
||||
import org.thdl.lex.LexRepositoryException;
|
||||
import org.thdl.lex.LexUser;
|
||||
import org.thdl.lex.UserSessionManager;
|
||||
import org.thdl.lex.Visit;
|
||||
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.LexComponentException;
|
||||
import org.thdl.lex.component.Translatable;
|
||||
import org.thdl.users.ThdlUser;
|
||||
|
||||
/**
|
||||
* Description of the Class
|
||||
|
@ -50,7 +50,7 @@ public class UpdateCommand extends LexCommand implements Command {
|
|||
return termMode;
|
||||
}
|
||||
|
||||
//helper methods
|
||||
// helper methods
|
||||
/**
|
||||
* Description of the Method
|
||||
*
|
||||
|
@ -62,53 +62,43 @@ public class UpdateCommand extends LexCommand implements Command {
|
|||
* @exception CommandException
|
||||
* Description of the Exception
|
||||
*/
|
||||
public String execute(HttpServletRequest req, ILexComponent component)
|
||||
throws CommandException {
|
||||
public String execute(HttpServletRequest req, ILexComponent component) throws CommandException {
|
||||
String msg = null;
|
||||
String next = getNext();
|
||||
Visit visit = UserSessionManager.getInstance().getVisit(
|
||||
req.getSession(true));
|
||||
Visit visit = UserSessionManager.getInstance().getVisit(req.getSession(true));
|
||||
|
||||
DisplayHelper displayHelper = visit.getHelper();
|
||||
try {
|
||||
HttpSession ses = req.getSession(false);
|
||||
if (null == ses) {
|
||||
throw new CommandException(
|
||||
"Could not update component, user's session has expired");
|
||||
throw new CommandException("Could not update component, user's session has expired");
|
||||
}
|
||||
|
||||
ThdlUser user = visit.getUser();
|
||||
LexUser user = visit.getUser();
|
||||
LexQuery query = visit.getQuery();
|
||||
ITerm term = query.getEntry();
|
||||
|
||||
if (CommandToken.isValid(req) && validate(user, component)) {
|
||||
LexComponentRepository.update(term);
|
||||
|
||||
LexLogger
|
||||
.debug("Checking component state from updateCommand BEFORE component assignment");
|
||||
LexLogger.debug("Checking component state from updateCommand BEFORE component assignment");
|
||||
LexLogger.debugComponent(component);
|
||||
if (isTermMode()) {
|
||||
term.populate(req.getParameterMap());
|
||||
term.getMeta().populate(req.getParameterMap());
|
||||
component = term;
|
||||
} else if (component instanceof AnalyticalNote) {
|
||||
LexLogger
|
||||
.debug("Debugging Component before updating analytical note");
|
||||
LexLogger.debug("Debugging Component before updating analytical note");
|
||||
LexLogger.debugComponent(component);
|
||||
ILexComponent parent = term.findParent(component
|
||||
.getParentId());
|
||||
ILexComponent parent = term.findParent(component.getParentId());
|
||||
List notes = parent.getAnalyticalNotes();
|
||||
ILexComponent ilc = (ILexComponent) notes.get(notes
|
||||
.indexOf(component));
|
||||
ILexComponent ilc = (ILexComponent) notes.get(notes.indexOf(component));
|
||||
ilc.populate(component);
|
||||
} else if (component instanceof Translatable
|
||||
&& null != ((Translatable) component)
|
||||
.getTranslationOf()) {
|
||||
} else if (component instanceof Translatable && null != ((Translatable) component).getTranslationOf()) {
|
||||
Translatable translation = (Translatable) component;
|
||||
Translatable source = null;
|
||||
try {
|
||||
source = (Translatable) translation.getClass()
|
||||
.newInstance();
|
||||
source = (Translatable) translation.getClass().newInstance();
|
||||
} catch (Exception e) {
|
||||
throw new CommandException(e);
|
||||
}
|
||||
|
@ -116,8 +106,7 @@ public class UpdateCommand extends LexCommand implements Command {
|
|||
source.setParentId(translation.getParentId());
|
||||
source = (Translatable) term.findChild(source);
|
||||
List translationList = source.getTranslations();
|
||||
component = (ILexComponent) translationList
|
||||
.get(translationList.indexOf(translation));
|
||||
component = (ILexComponent) translationList.get(translationList.indexOf(translation));
|
||||
component.populate(req.getParameterMap());
|
||||
component.getMeta().populate(req.getParameterMap());
|
||||
} else {
|
||||
|
@ -126,15 +115,17 @@ public class UpdateCommand extends LexCommand implements Command {
|
|||
ilc.getMeta().populate(req.getParameterMap());
|
||||
component = ilc;
|
||||
}
|
||||
LexLogger
|
||||
.debug("Checking component state from updateCommand AFTER component assignment");
|
||||
LexLogger.debug("Checking component state from updateCommand AFTER component assignment");
|
||||
LexLogger.debugComponent(component);
|
||||
|
||||
Date now = new Date(System.currentTimeMillis());
|
||||
component.getMeta().setModifiedOn(now);
|
||||
component.getMeta().setModifiedBy(user.getId());
|
||||
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(term);
|
||||
|
@ -143,21 +134,19 @@ public class UpdateCommand extends LexCommand implements Command {
|
|||
msg = "Successful Update";
|
||||
visit.setDisplayMode("edit");
|
||||
} else {
|
||||
msg = CommandToken.isValid(req) ? "Unauthorized update attempted"
|
||||
: "Invalid reload attempted.";
|
||||
msg = CommandToken.isValid(req) ? "Unauthorized update attempted" : "Invalid reload attempted.";
|
||||
}
|
||||
return next;
|
||||
} catch (LexComponentException e) {
|
||||
throw new CommandException(e);
|
||||
} catch (LexRepositoryException e) {
|
||||
throw new CommandException("Command had trouble processing "
|
||||
+ component, e);
|
||||
throw new CommandException("Command had trouble processing " + component, e);
|
||||
} finally {
|
||||
req.setAttribute(LexConstants.MESSAGE_REQ_ATTR, msg);
|
||||
}
|
||||
}
|
||||
|
||||
//constructors
|
||||
// constructors
|
||||
/**
|
||||
* 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
|
||||
* Description of the Exception
|
||||
*/
|
||||
public ILexComponent findChild(java.util.List list, Integer pk)
|
||||
public ILexComponent findChild(java.util.Iterator list, Integer pk)
|
||||
throws LexComponentException;
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package org.thdl.lex.component;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
|
@ -147,7 +148,7 @@ public class Term extends BaseTerm implements Serializable, LexComponentNode {
|
|||
public ILexComponent findChild(ILexComponent child)
|
||||
throws LexComponentException {
|
||||
List list = findSiblings(child);
|
||||
child = findChild(list, child.getMetaId());
|
||||
child = findChild(list.iterator(), child.getMetaId());
|
||||
return child;
|
||||
}
|
||||
|
||||
|
@ -164,8 +165,9 @@ public class Term extends BaseTerm implements Serializable, LexComponentNode {
|
|||
ILexComponent child = null;
|
||||
Iterator childMapValues = getChildMap().values().iterator();
|
||||
while (childMapValues.hasNext() && null == child) {
|
||||
List list = (List) childMapValues.next();
|
||||
child = findChild(list, pk);
|
||||
Object obj = childMapValues.next();
|
||||
Collection list = (Collection) obj;
|
||||
child = findChild(list.iterator(), pk);
|
||||
}
|
||||
if (null != getDefinitions()) {
|
||||
Iterator definitions = getDefinitions().iterator();
|
||||
|
@ -187,11 +189,11 @@ public class Term extends BaseTerm implements Serializable, LexComponentNode {
|
|||
* @return Description of the Return Value
|
||||
*/
|
||||
|
||||
public ILexComponent findChild(List list, Integer pk) {
|
||||
public ILexComponent findChild(Iterator list, Integer pk) {
|
||||
ILexComponent child = null;
|
||||
if (list != null) {
|
||||
for (Iterator it = list.iterator(); it.hasNext();) {
|
||||
ILexComponent lc = (LexComponent) it.next();
|
||||
while (list.hasNext()) {
|
||||
ILexComponent lc = (LexComponent) list.next();
|
||||
if (lc.getMetaId().equals(pk)) {
|
||||
child = lc;
|
||||
break;
|
||||
|
|
|
@ -275,7 +275,7 @@ public class DictionaryImporter {
|
|||
ResultSet set;
|
||||
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(2, "%" + lastName + "%");
|
||||
set = stmt.executeQuery();
|
||||
|
@ -288,7 +288,7 @@ public class DictionaryImporter {
|
|||
// if there are more instances of the same user delete them
|
||||
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(2, "%" + lastName + "%");
|
||||
stmt.setInt(3, creator);
|
||||
|
@ -297,7 +297,7 @@ public class DictionaryImporter {
|
|||
}
|
||||
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(2, lastName);
|
||||
stmt2.executeUpdate();
|
||||
|
@ -319,11 +319,11 @@ public class DictionaryImporter {
|
|||
ResultSet set;
|
||||
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(2, "%" + shortName + "%");
|
||||
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())
|
||||
{
|
||||
|
@ -352,7 +352,7 @@ public class DictionaryImporter {
|
|||
* */
|
||||
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.setInt(2, creator);
|
||||
stmt2.setString(3, "");
|
||||
|
@ -361,7 +361,7 @@ public class DictionaryImporter {
|
|||
|
||||
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.setString(2, "%" + projectName + "%");
|
||||
stmt2.setString(3, "%" + shortName + "%");
|
||||
|
@ -378,7 +378,7 @@ public class DictionaryImporter {
|
|||
ResultSet set;
|
||||
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(2, "%" + longName + "%");
|
||||
set = stmt.executeQuery();
|
||||
|
@ -388,13 +388,13 @@ public class DictionaryImporter {
|
|||
label = set.getInt(1);
|
||||
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.setString(2, "%" + shortName + "%");
|
||||
stmt2.setString(3, "%" + longName + "%");
|
||||
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.setString(2, shortName);
|
||||
stmt2.setString(3, longName);
|
||||
|
@ -403,7 +403,7 @@ public class DictionaryImporter {
|
|||
}
|
||||
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.setString(2, longName);
|
||||
stmt2.setString(3, shortName);
|
||||
|
|
|
@ -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.
|
|
@ -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.
|
|
@ -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/
|
|
@ -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.
|
Binary file not shown.
|
@ -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
|
|
@ -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
|
Binary file not shown.
Binary file not shown.
|
@ -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
|
|
@ -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
|
|
@ -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 "$@"
|
Binary file not shown.
Binary file not shown.
|
@ -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%
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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 "$@"
|
|
@ -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
|
|
@ -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 "$@"
|
Binary file not shown.
|
@ -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
|
|
@ -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 "$@"
|
|
@ -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
|
|
@ -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 "$@"
|
|
@ -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
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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";
|
||||
// };
|
||||
|
|
@ -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
|
|
@ -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>
|
|
@ -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
|
|
@ -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
|
|
@ -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>
|
|
@ -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
|
|
@ -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>
|
|
@ -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>
|
|
@ -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
|
|
@ -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
|
|
@ -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>
|
|
@ -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
|
|
@ -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>
|
|
@ -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
|
||||
#
|
||||
|
||||
|
|
@ -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
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -0,0 +1,2 @@
|
|||
*.log
|
||||
*.out
|
|
@ -0,0 +1 @@
|
|||
*.txt
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue