This commit is contained in:
2024-11-30 19:03:49 +08:00
commit 1e6763c160
3806 changed files with 737676 additions and 0 deletions

View File

@@ -0,0 +1,72 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
package org.apache.catalina.connector;
import java.io.IOException;
/**
* Wrap an IOException identifying it as being caused by an abort
* of a request by a remote client.
*
* @author Glenn L. Nielsen
*/
public final class ClientAbortException extends IOException {
private static final long serialVersionUID = 1L;
//------------------------------------------------------------ Constructors
/**
* Construct a new ClientAbortException with no other information.
*/
public ClientAbortException() {
super();
}
/**
* Construct a new ClientAbortException for the specified message.
*
* @param message Message describing this exception
*/
public ClientAbortException(String message) {
super(message);
}
/**
* Construct a new ClientAbortException for the specified throwable.
*
* @param throwable Throwable that caused this exception
*/
public ClientAbortException(Throwable throwable) {
super(throwable);
}
/**
* Construct a new ClientAbortException for the specified message
* and throwable.
*
* @param message Message describing this exception
* @param throwable Throwable that caused this exception
*/
public ClientAbortException(String message, Throwable throwable) {
super(message, throwable);
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,290 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
package org.apache.catalina.connector;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.security.AccessController;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import javax.servlet.ReadListener;
import javax.servlet.ServletInputStream;
import org.apache.catalina.security.SecurityUtil;
import org.apache.tomcat.util.res.StringManager;
/**
* This class handles reading bytes.
*
* @author Remy Maucherat
*/
public class CoyoteInputStream extends ServletInputStream {
protected static final StringManager sm = StringManager.getManager(CoyoteInputStream.class);
protected InputBuffer ib;
protected CoyoteInputStream(InputBuffer ib) {
this.ib = ib;
}
/**
* Clear facade.
*/
void clear() {
ib = null;
}
/**
* Prevent cloning the facade.
*/
@Override
protected Object clone() throws CloneNotSupportedException {
throw new CloneNotSupportedException();
}
@Override
public int read() throws IOException {
checkNonBlockingRead();
if (SecurityUtil.isPackageProtectionEnabled()) {
try {
Integer result = AccessController
.doPrivileged(new PrivilegedExceptionAction<Integer>() {
@Override
public Integer run() throws IOException {
Integer integer = Integer.valueOf(ib.readByte());
return integer;
}
});
return result.intValue();
} catch (PrivilegedActionException pae) {
Exception e = pae.getException();
if (e instanceof IOException) {
throw (IOException) e;
} else {
throw new RuntimeException(e.getMessage(), e);
}
}
} else {
return ib.readByte();
}
}
@Override
public int available() throws IOException {
if (SecurityUtil.isPackageProtectionEnabled()) {
try {
Integer result = AccessController
.doPrivileged(new PrivilegedExceptionAction<Integer>() {
@Override
public Integer run() throws IOException {
Integer integer = Integer.valueOf(ib.available());
return integer;
}
});
return result.intValue();
} catch (PrivilegedActionException pae) {
Exception e = pae.getException();
if (e instanceof IOException) {
throw (IOException) e;
} else {
throw new RuntimeException(e.getMessage(), e);
}
}
} else {
return ib.available();
}
}
@Override
public int read(final byte[] b) throws IOException {
checkNonBlockingRead();
if (SecurityUtil.isPackageProtectionEnabled()) {
try {
Integer result = AccessController
.doPrivileged(new PrivilegedExceptionAction<Integer>() {
@Override
public Integer run() throws IOException {
Integer integer = Integer.valueOf(ib.read(b, 0, b.length));
return integer;
}
});
return result.intValue();
} catch (PrivilegedActionException pae) {
Exception e = pae.getException();
if (e instanceof IOException) {
throw (IOException) e;
} else {
throw new RuntimeException(e.getMessage(), e);
}
}
} else {
return ib.read(b, 0, b.length);
}
}
@Override
public int read(final byte[] b, final int off, final int len) throws IOException {
checkNonBlockingRead();
if (SecurityUtil.isPackageProtectionEnabled()) {
try {
Integer result = AccessController
.doPrivileged(new PrivilegedExceptionAction<Integer>() {
@Override
public Integer run() throws IOException {
Integer integer = Integer.valueOf(ib.read(b, off, len));
return integer;
}
});
return result.intValue();
} catch (PrivilegedActionException pae) {
Exception e = pae.getException();
if (e instanceof IOException) {
throw (IOException) e;
} else {
throw new RuntimeException(e.getMessage(), e);
}
}
} else {
return ib.read(b, off, len);
}
}
/**
* Transfers bytes from the buffer to the specified ByteBuffer. After the
* operation the position of the ByteBuffer will be returned to the one
* before the operation, the limit will be the position incremented by
* the number of the transferred bytes.
*
* @param b the ByteBuffer into which bytes are to be written.
* @return an integer specifying the actual number of bytes read, or -1 if
* the end of the stream is reached
* @throws IOException if an input or output exception has occurred
*/
public int read(final ByteBuffer b) throws IOException {
checkNonBlockingRead();
if (SecurityUtil.isPackageProtectionEnabled()) {
try {
Integer result = AccessController
.doPrivileged(new PrivilegedExceptionAction<Integer>() {
@Override
public Integer run() throws IOException {
Integer integer = Integer.valueOf(ib.read(b));
return integer;
}
});
return result.intValue();
} catch (PrivilegedActionException pae) {
Exception e = pae.getException();
if (e instanceof IOException) {
throw (IOException) e;
} else {
throw new RuntimeException(e.getMessage(), e);
}
}
} else {
return ib.read(b);
}
}
@Override
public int readLine(byte[] b, int off, int len) throws IOException {
return super.readLine(b, off, len);
}
/**
* Close the stream
* Since we re-cycle, we can't allow the call to super.close()
* which would permanently disable us.
*/
@Override
public void close() throws IOException {
if (SecurityUtil.isPackageProtectionEnabled()) {
try {
AccessController.doPrivileged(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws IOException {
ib.close();
return null;
}
});
} catch (PrivilegedActionException pae) {
Exception e = pae.getException();
if (e instanceof IOException) {
throw (IOException) e;
} else {
throw new RuntimeException(e.getMessage(), e);
}
}
} else {
ib.close();
}
}
@Override
public boolean isFinished() {
return ib.isFinished();
}
@Override
public boolean isReady() {
return ib.isReady();
}
@Override
public void setReadListener(ReadListener listener) {
ib.setReadListener(listener);
}
private void checkNonBlockingRead() {
if (!ib.isBlocking() && !ib.isReady()) {
throw new IllegalStateException(sm.getString("coyoteInputStream.nbNotready"));
}
}
}

View File

@@ -0,0 +1,171 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
package org.apache.catalina.connector;
import java.io.IOException;
import java.nio.ByteBuffer;
import javax.servlet.ServletOutputStream;
import javax.servlet.WriteListener;
import org.apache.tomcat.util.res.StringManager;
/**
* Coyote implementation of the servlet output stream.
*
* @author Costin Manolache
* @author Remy Maucherat
*/
public class CoyoteOutputStream extends ServletOutputStream {
protected static final StringManager sm = StringManager.getManager(CoyoteOutputStream.class);
// ----------------------------------------------------- Instance Variables
protected OutputBuffer ob;
// ----------------------------------------------------------- Constructors
protected CoyoteOutputStream(OutputBuffer ob) {
this.ob = ob;
}
// --------------------------------------------------------- Public Methods
/**
* Prevent cloning the facade.
*/
@Override
protected Object clone() throws CloneNotSupportedException {
throw new CloneNotSupportedException();
}
// -------------------------------------------------------- Package Methods
/**
* Clear facade.
*/
void clear() {
ob = null;
}
// --------------------------------------------------- OutputStream Methods
@Override
public void write(int i) throws IOException {
boolean nonBlocking = checkNonBlockingWrite();
ob.writeByte(i);
if (nonBlocking) {
checkRegisterForWrite();
}
}
@Override
public void write(byte[] b) throws IOException {
write(b, 0, b.length);
}
@Override
public void write(byte[] b, int off, int len) throws IOException {
boolean nonBlocking = checkNonBlockingWrite();
ob.write(b, off, len);
if (nonBlocking) {
checkRegisterForWrite();
}
}
public void write(ByteBuffer from) throws IOException {
boolean nonBlocking = checkNonBlockingWrite();
ob.write(from);
if (nonBlocking) {
checkRegisterForWrite();
}
}
/**
* Will send the buffer to the client.
*/
@Override
public void flush() throws IOException {
boolean nonBlocking = checkNonBlockingWrite();
ob.flush();
if (nonBlocking) {
checkRegisterForWrite();
}
}
/**
* Checks for concurrent writes which are not permitted. This object has no
* state information so the call chain is
* CoyoteOutputStream->OutputBuffer->CoyoteResponse.
*
* @return <code>true</code> if this OutputStream is currently in
* non-blocking mode.
*/
private boolean checkNonBlockingWrite() {
boolean nonBlocking = !ob.isBlocking();
if (nonBlocking && !ob.isReady()) {
throw new IllegalStateException(sm.getString("coyoteOutputStream.nbNotready"));
}
return nonBlocking;
}
/**
* Checks to see if there is data left in the Coyote output buffers (NOT the
* servlet output buffer) and if so registers the associated socket for
* write so the buffers will be emptied. The container will take care of
* this. As far as the app is concerned, there is a non-blocking write in
* progress. It doesn't have visibility of whether the data is buffered in
* the socket buffer or the Coyote buffers.
*/
private void checkRegisterForWrite() {
ob.checkRegisterForWrite();
}
@Override
public void close() throws IOException {
ob.close();
}
@Override
public boolean isReady() {
return ob.isReady();
}
@Override
public void setWriteListener(WriteListener listener) {
ob.setWriteListener(listener);
}
}

View File

@@ -0,0 +1,72 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
package org.apache.catalina.connector;
import java.io.Serializable;
import java.security.Principal;
/**
* Generic implementation of <strong>java.security.Principal</strong> that
* is used to represent principals authenticated at the protocol handler level.
*
* @author Remy Maucherat
*/
public class CoyotePrincipal implements Principal, Serializable {
private static final long serialVersionUID = 1L;
// ----------------------------------------------------------- Constructors
public CoyotePrincipal(String name) {
this.name = name;
}
// ------------------------------------------------------------- Properties
/**
* The username of the user represented by this Principal.
*/
protected final String name;
@Override
public String getName() {
return this.name;
}
// --------------------------------------------------------- Public Methods
/**
* Return a String representation of this object, which exposes only
* information that should be public.
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder("CoyotePrincipal[");
sb.append(this.name);
sb.append("]");
return sb.toString();
}
}

View File

@@ -0,0 +1,217 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
package org.apache.catalina.connector;
import java.io.BufferedReader;
import java.io.IOException;
/**
* Coyote implementation of the buffered reader.
*
* @author Remy Maucherat
*/
public class CoyoteReader
extends BufferedReader {
// -------------------------------------------------------------- Constants
private static final char[] LINE_SEP = { '\r', '\n' };
private static final int MAX_LINE_LENGTH = 4096;
// ----------------------------------------------------- Instance Variables
protected InputBuffer ib;
protected char[] lineBuffer = null;
// ----------------------------------------------------------- Constructors
public CoyoteReader(InputBuffer ib) {
super(ib, 1);
this.ib = ib;
}
// --------------------------------------------------------- Public Methods
/**
* Prevent cloning the facade.
*/
@Override
protected Object clone()
throws CloneNotSupportedException {
throw new CloneNotSupportedException();
}
// -------------------------------------------------------- Package Methods
/**
* Clear facade.
*/
void clear() {
ib = null;
}
// --------------------------------------------------------- Reader Methods
@Override
public void close()
throws IOException {
ib.close();
}
@Override
public int read()
throws IOException {
return ib.read();
}
@Override
public int read(char[] cbuf)
throws IOException {
return ib.read(cbuf, 0, cbuf.length);
}
@Override
public int read(char[] cbuf, int off, int len)
throws IOException {
return ib.read(cbuf, off, len);
}
@Override
public long skip(long n)
throws IOException {
return ib.skip(n);
}
@Override
public boolean ready()
throws IOException {
return ib.ready();
}
@Override
public boolean markSupported() {
return true;
}
@Override
public void mark(int readAheadLimit)
throws IOException {
ib.mark(readAheadLimit);
}
@Override
public void reset()
throws IOException {
ib.reset();
}
@Override
public String readLine()
throws IOException {
if (lineBuffer == null) {
lineBuffer = new char[MAX_LINE_LENGTH];
}
String result = null;
int pos = 0;
int end = -1;
int skip = -1;
StringBuilder aggregator = null;
while (end < 0) {
mark(MAX_LINE_LENGTH);
while ((pos < MAX_LINE_LENGTH) && (end < 0)) {
int nRead = read(lineBuffer, pos, MAX_LINE_LENGTH - pos);
if (nRead < 0) {
if (pos == 0 && aggregator == null) {
return null;
}
end = pos;
skip = pos;
}
for (int i = pos; (i < (pos + nRead)) && (end < 0); i++) {
if (lineBuffer[i] == LINE_SEP[0]) {
end = i;
skip = i + 1;
char nextchar;
if (i == (pos + nRead - 1)) {
nextchar = (char) read();
} else {
nextchar = lineBuffer[i+1];
}
if (nextchar == LINE_SEP[1]) {
skip++;
}
} else if (lineBuffer[i] == LINE_SEP[1]) {
end = i;
skip = i + 1;
}
}
if (nRead > 0) {
pos += nRead;
}
}
if (end < 0) {
if (aggregator == null) {
aggregator = new StringBuilder();
}
aggregator.append(lineBuffer);
pos = 0;
} else {
reset();
skip(skip);
}
}
if (aggregator == null) {
result = new String(lineBuffer, 0, end);
} else {
aggregator.append(lineBuffer, 0, end);
result = aggregator.toString();
}
return result;
}
}

View File

@@ -0,0 +1,317 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
package org.apache.catalina.connector;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Coyote implementation of the servlet writer.
*
* @author Remy Maucherat
*/
public class CoyoteWriter extends PrintWriter {
// -------------------------------------------------------------- Constants
private static final char[] LINE_SEP = System.lineSeparator().toCharArray();
// ----------------------------------------------------- Instance Variables
protected OutputBuffer ob;
protected boolean error = false;
// ----------------------------------------------------------- Constructors
public CoyoteWriter(OutputBuffer ob) {
super(ob);
this.ob = ob;
}
// --------------------------------------------------------- Public Methods
/**
* Prevent cloning the facade.
*/
@Override
protected Object clone()
throws CloneNotSupportedException {
throw new CloneNotSupportedException();
}
// -------------------------------------------------------- Package Methods
/**
* Clear facade.
*/
void clear() {
ob = null;
}
/**
* Recycle.
*/
void recycle() {
error = false;
}
// --------------------------------------------------------- Writer Methods
@Override
public void flush() {
if (error) {
return;
}
try {
ob.flush();
} catch (IOException e) {
error = true;
}
}
@Override
public void close() {
// We don't close the PrintWriter - super() is not called,
// so the stream can be reused. We close ob.
try {
ob.close();
} catch (IOException ex ) {
// Ignore
}
error = false;
}
@Override
public boolean checkError() {
flush();
return error;
}
@Override
public void write(int c) {
if (error) {
return;
}
try {
ob.write(c);
} catch (IOException e) {
error = true;
}
}
@Override
public void write(char buf[], int off, int len) {
if (error) {
return;
}
try {
ob.write(buf, off, len);
} catch (IOException e) {
error = true;
}
}
@Override
public void write(char buf[]) {
write(buf, 0, buf.length);
}
@Override
public void write(String s, int off, int len) {
if (error) {
return;
}
try {
ob.write(s, off, len);
} catch (IOException e) {
error = true;
}
}
@Override
public void write(String s) {
write(s, 0, s.length());
}
// ---------------------------------------------------- PrintWriter Methods
@Override
public void print(boolean b) {
if (b) {
write("true");
} else {
write("false");
}
}
@Override
public void print(char c) {
write(c);
}
@Override
public void print(int i) {
write(String.valueOf(i));
}
@Override
public void print(long l) {
write(String.valueOf(l));
}
@Override
public void print(float f) {
write(String.valueOf(f));
}
@Override
public void print(double d) {
write(String.valueOf(d));
}
@Override
public void print(char s[]) {
write(s);
}
@Override
public void print(String s) {
if (s == null) {
s = "null";
}
write(s);
}
@Override
public void print(Object obj) {
write(String.valueOf(obj));
}
@Override
public void println() {
write(LINE_SEP);
}
@Override
public void println(boolean b) {
print(b);
println();
}
@Override
public void println(char c) {
print(c);
println();
}
@Override
public void println(int i) {
print(i);
println();
}
@Override
public void println(long l) {
print(l);
println();
}
@Override
public void println(float f) {
print(f);
println();
}
@Override
public void println(double d) {
print(d);
println();
}
@Override
public void println(char c[]) {
print(c);
println();
}
@Override
public void println(String s) {
print(s);
println();
}
@Override
public void println(Object o) {
print(o);
println();
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,90 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
coyoteAdapter.accesslogFail=Exception while attempting to add an entry to the access log
coyoteAdapter.asyncDispatch=Exception while processing an asynchronous request
coyoteAdapter.authenticate=Authenticated user [{0}] provided by connector
coyoteAdapter.authorize=Authorizing user [{0}] using Tomcat''s Realm
coyoteAdapter.checkRecycled.request=Encountered a non-recycled request and recycled it forcedly.
coyoteAdapter.checkRecycled.response=Encountered a non-recycled response and recycled it forcedly.
coyoteAdapter.debug=The variable [{0}] has value [{1}]
coyoteAdapter.nullRequest=An asynchronous dispatch may only happen on an existing request
coyoteConnector.invalidEncoding=The encoding [{0}] is not recognised by the JRE. The Connector will continue to use [{1}]
coyoteConnector.invalidPort=The connector cannot start since the specified port value of [{0}] is invalid
coyoteConnector.parseBodyMethodNoTrace=TRACE method MUST NOT include an entity (see RFC 2616 Section 9.6)
coyoteConnector.protocolHandlerDestroyFailed=Protocol handler destroy failed
coyoteConnector.protocolHandlerInitializationFailed=Protocol handler initialization failed
coyoteConnector.protocolHandlerInstantiationFailed=Protocol handler instantiation failed
coyoteConnector.protocolHandlerNoAprListener=The configured protocol [{0}] requires the AprLifecycleListener which is not available
coyoteConnector.protocolHandlerNoAprLibrary=The configured protocol [{0}] requires the APR/native library which is not available
coyoteConnector.protocolHandlerPauseFailed=Protocol handler pause failed
coyoteConnector.protocolHandlerResumeFailed=Protocol handler resume failed
coyoteConnector.protocolHandlerStartFailed=Protocol handler start failed
coyoteConnector.protocolHandlerStopFailed=Protocol handler stop failed
coyoteInputStream.nbNotready=In non-blocking mode you may not read from the ServletInputStream until the previous read has completed and isReady() returns true
coyoteOutputStream.nbNotready=In non-blocking mode you may not write to the ServletOutputStream until the previous write has completed and isReady() returns true
coyoteRequest.alreadyAuthenticated=This request has already been authenticated
coyoteRequest.attributeEvent=Exception thrown by attributes event listener
coyoteRequest.authenticate.ise=Cannot call authenticate() after the response has been committed
coyoteRequest.changeSessionId=Cannot change session ID. There is no session associated with this request.
coyoteRequest.chunkedPostTooLarge=Parameters were not parsed because the size of the posted data was too big. Because this request was a chunked request, it could not be processed further. Use the maxPostSize attribute of the connector to resolve this if the application should accept large POSTs.
coyoteRequest.filterAsyncSupportUnknown=Unable to determine if any filters do not support async processing
coyoteRequest.getContextPath.ise=Unable to find match between the canonical context path [{0}] and the URI presented by the user agent [{1}]
coyoteRequest.getInputStream.ise=getReader() has already been called for this request
coyoteRequest.getReader.ise=getInputStream() has already been called for this request
coyoteRequest.gssLifetimeFail=Failed to obtain remaining lifetime for user principal [{0}]
coyoteRequest.maxPostSizeExceeded=The multi-part request contained parameter data (excluding uploaded files) that exceeded the limit for maxPostSize set on the associated connector
coyoteRequest.noAsync=Unable to start async because the following classes in the processing chain do not support async [{0}]
coyoteRequest.noMultipartConfig=Unable to process parts as no multi-part configuration has been provided
coyoteRequest.parseParameters=Exception thrown whilst processing POSTed parameters
coyoteRequest.postTooLarge=Parameters were not parsed because the size of the posted data was too big. Use the maxPostSize attribute of the connector to resolve this if the application should accept large POSTs.
coyoteRequest.sendfileNotCanonical=Unable to determine canonical name of file [{0}] specified for use with sendfile
coyoteRequest.sessionCreateCommitted=Cannot create a session after the response has been committed
coyoteRequest.sessionEndAccessFail=Exception triggered ending access to session while recycling request
coyoteRequest.setAttribute.namenull=Cannot call setAttribute with a null name
coyoteRequest.uploadCreate=Creating the temporary upload location [{0}] as it is required by the servlet [{1}]
coyoteRequest.uploadCreateFail=Failed to create the upload location [{0}]
coyoteRequest.uploadLocationInvalid=The temporary upload location [{0}] is not valid
coyoteResponse.encoding.invalid=The encoding [{0}] is not recognised by the JRE
coyoteResponse.getOutputStream.ise=getWriter() has already been called for this response
coyoteResponse.getWriter.ise=getOutputStream() has already been called for this response
coyoteResponse.reset.ise=Cannot call reset() after response has been committed
coyoteResponse.resetBuffer.ise=Cannot reset buffer after response has been committed
coyoteResponse.sendError.ise=Cannot call sendError() after the response has been committed
coyoteResponse.sendRedirect.ise=Cannot call sendRedirect() after the response has been committed
coyoteResponse.sendRedirect.note=<html><body><p>Redirecting to <a href="{0}">{0}</a></p></body></html>
coyoteResponse.setBufferSize.ise=Cannot change buffer size after data has been written
inputBuffer.requiresNonBlocking=Not available in non blocking mode
inputBuffer.streamClosed=Stream closed
outputBuffer.writeNull=The String argument to write(String,int,int) may not be null
request.asyncNotSupported=A filter or servlet of the current chain does not support asynchronous operations.
request.fragmentInDispatchPath=The fragment in dispatch path [{0}] has been removed
request.illegalWrap=The request wrapper must wrap the request obtained from getRequest()
request.notAsync=It is illegal to call this method if the current request is not in asynchronous mode (i.e. isAsyncStarted() returns false)
requestFacade.nullRequest=The request object has been recycled and is no longer associated with this facade
response.illegalWrap=The response wrapper must wrap the response obtained from getResponse()
response.sendRedirectFail=Failed to redirect to [{0}]
responseFacade.nullResponse=The response object has been recycled and is no longer associated with this facade

View File

@@ -0,0 +1,26 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
coyoteAdapter.checkRecycled.response=Eine nicht recycelte Antwort wurde erkannt und recylet
coyoteAdapter.debug=Die Variable [{0}] hat den Wert [{1}]
coyoteConnector.invalidEncoding=Das Encoding [{0}] wird von der JRE nicht erkannt. Der Konnektor wird weiterhin [{1}] nutzen
coyoteConnector.invalidPort=Der Konnektor kann nicht starten, da der als Port angegebene Wert [{0}] nicht gültig ist.
coyoteConnector.protocolHandlerStartFailed=Der Start des Protokoll-Handlers ist fehlgeschlagen
coyoteRequest.filterAsyncSupportUnknown=Es konnte nicht ermittelt werden ob einer der Filter asyncrone Bearbeitung nicht unterstützt
coyoteRequest.gssLifetimeFail=Die verbleibende Lebenzeit für den Principal [{0}] konnte nicht ermittelt werden.
responseFacade.nullResponse=Das Response Objekt ist wiederverwendet worden und nicht mehr mit der Facade verknüpft.

View File

@@ -0,0 +1,62 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
coyoteAdapter.accesslogFail=Excepción al intentar añadir una entrada al historial de acceso
coyoteAdapter.checkRecycled.response=Se encontró una respuesta no reciclable y se crecicló a la fuerza
coyoteAdapter.debug=La variable [{0}] tiene el valor [{1}]
coyoteConnector.invalidEncoding=La codificación [{0}] no esta reconocida por JRE. El conector continuará usando [{1}]\n
coyoteConnector.invalidPort=El conector no puede inciar debido a que el valor del puerto especificado [{0}] no es válido
coyoteConnector.parseBodyMethodNoTrace=El método TRACE NO DEBE DE incluir una entidad (vea RFC 2616 Sección 9.6)
coyoteConnector.protocolHandlerDestroyFailed=Falló la destrucción del manejador de protocolo
coyoteConnector.protocolHandlerInitializationFailed=Falló la inicialización del manejador de protocolo
coyoteConnector.protocolHandlerInstantiationFailed=Falló la instanciación del manejador de protocolo
coyoteConnector.protocolHandlerPauseFailed=Ha fallado la pausa del manejador de protocolo
coyoteConnector.protocolHandlerResumeFailed=Ha fallado el rearranque del manejador de protocolo
coyoteConnector.protocolHandlerStartFailed=Falló el arranque del manejador de protocolo
coyoteConnector.protocolHandlerStopFailed=Ocurrió un fallo al detener el manejador del protocolo
coyoteInputStream.nbNotready=En modo non-blocking usted no puede leer desde ServletInputStream hasta que la lectura previa haya sido completada y isReady() devuelva verdadero
coyoteRequest.alreadyAuthenticated=Este requerimiento ya ha sido autenticado
coyoteRequest.attributeEvent=Excepción lanzada mediante el escuchador de eventos de atributos
coyoteRequest.authenticate.ise=No puedo llamar a authenticate() tras haberse acometido la respuesta
coyoteRequest.changeSessionId=No se puede cambiar el ID de sesión. No hay sesión asociada con esta solicitud
coyoteRequest.chunkedPostTooLarge=No se han analizado los parámetros porque la medida de los datos enviados meiante "post" era demasiado grande. Debido a que este requerimiento es una parte del original, no puede ser procesado. Utiliza el atributo "maxPostSize" del conector para resolver esta situación, en caso de que la aplicación deba de aceptar POSTs mayores.
coyoteRequest.filterAsyncSupportUnknown=Imposible determinar si algún filtro no soporta procesamiento asincrónico
coyoteRequest.getInputStream.ise=getReader() ya ha sido llamado para este requerimiento
coyoteRequest.getReader.ise=getInputStream() ya ha sido llamado para este requerimiento
coyoteRequest.gssLifetimeFail=Fallo al obtener el tiempo de vida restante para el usuario principal [{0}]\n
coyoteRequest.noMultipartConfig=Imposible procesar partes debido a que se ha proveído una configuración no multipartes
coyoteRequest.parseParameters=Excepción lanzada al procesar parámetros POST
coyoteRequest.postTooLarge=No se analizaron los parámetros porque la medida de los datos enviados era demasiado grande. Usa el atributo maxPostSize del conector para resolver esto en caso de que la aplicación debiera de aceptar POSTs más grandes.
coyoteRequest.sendfileNotCanonical=Incapaz de determinar el nombre canónico del archivo [{0}] especificado para ser usado con sendfile
coyoteRequest.sessionCreateCommitted=No puedo crear una sesión después de llevar a cabo la respueta
coyoteRequest.sessionEndAccessFail=Excepción disparada acabando acceso a sesión mientras se reciclaba el requerimiento
coyoteRequest.setAttribute.namenull=No pudeo llamar a setAttribute con un nombre nulo
coyoteRequest.uploadLocationInvalid=No es válida la localización [{0}] de carga temporal
coyoteResponse.getOutputStream.ise=getWriter() ya ha sido llamado para esta respuesta
coyoteResponse.getWriter.ise=getOutputStream() ya ha sido llamado para esta respuesta
coyoteResponse.resetBuffer.ise=No puedo limpiar el búfer después de que la respuesta ha sido llevada a cabo
coyoteResponse.sendError.ise=No puedo llamar a sendError() tras llevar a cabo la respuesta
coyoteResponse.sendRedirect.ise=No puedo llamar a sendRedirect() tras llevar a cabo la respuesta
coyoteResponse.setBufferSize.ise=No puedo cambiar la medida del búfer tras escribir los datos
inputBuffer.streamClosed=Flujo cerrado
requestFacade.nullRequest=El objeto de requerimiento ha sido reciclado y ya no está asociado con esta fachada
responseFacade.nullResponse=El objeto de respuesta ha sido reciclado y ya no está asociado con esta fachada

View File

@@ -0,0 +1,90 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
coyoteAdapter.accesslogFail=Exception lors d'une tentative d'ajout d'une entrée au journal d'accès (access log)
coyoteAdapter.asyncDispatch=Exception lors du traitement d'une requête asynchrone
coyoteAdapter.authenticate=L''utilisateur authentifié [{0}] a été fourni par le connecteur
coyoteAdapter.authorize=Autorisation de l''utilisateur [{0}] en utilisant le Realm de Tomcat
coyoteAdapter.checkRecycled.request=Trouvé une requête non recyclée dont le recyclage a été forcé
coyoteAdapter.checkRecycled.response=Trouvé une réponse non recyclée, et forcé son recyclage
coyoteAdapter.debug=La variable [{0}] a la valeur [{1}]
coyoteAdapter.nullRequest=Un dispatch asynchrone peut seulement se produire sur une requête existante
coyoteConnector.invalidEncoding=L''encodage [{0}] n''est pas reconnu par la JRE. Le connecteur (Connector) continuera à utiliser [{1}]
coyoteConnector.invalidPort=Le connecteur ne peut pas démarrer, parce que la valeur spécifiée du port [{0}] n''est pas valide
coyoteConnector.parseBodyMethodNoTrace=La méthode "TRACE" NE PEUT PAS contenir une entité (voir RFC 2616 Section 9.6)
coyoteConnector.protocolHandlerDestroyFailed=La destruction du gestionnaire de protocole a échoué
coyoteConnector.protocolHandlerInitializationFailed=L'initialisation du gestionnaire de protocole a échoué
coyoteConnector.protocolHandlerInstantiationFailed=L'instantiation du gestionnaire de protocole a échoué
coyoteConnector.protocolHandlerNoAprLibrary=Le protocole configuré [{0}] requiert la librairie APR/native qui n''est pas disponible
coyoteConnector.protocolHandlerNoAprListener=Le protocole configuré [{0}] requiert AprLifecycleListener qui n''est pas disponible
coyoteConnector.protocolHandlerPauseFailed=La suspension du gestionnaire de protocole a échouée
coyoteConnector.protocolHandlerResumeFailed=Le redémarrage du gestionnaire de protocole a échoué
coyoteConnector.protocolHandlerStartFailed=Le démarrage du gestionnaire de protocole a échoué
coyoteConnector.protocolHandlerStopFailed=L'arrêt du gestionnaire de protocole a échoué
coyoteInputStream.nbNotready=En mode non-bloquant, vous ne pouvez pas lire du ServletInputStream tant que la lecture précédente n'est pas terminée et isReady() renvoie "true"
coyoteOutputStream.nbNotready=En mode non bloquant, vous ne devez pas écrire sur la ServletOutputStream avant que l'écriture précédente ne soit terminée et que isReady() ne renvoie true
coyoteRequest.alreadyAuthenticated=Cette requête a déjà été authentifiée
coyoteRequest.attributeEvent=Une exception a été lancée par l'instance d'écoute pour l'évènement attributs (attributes)
coyoteRequest.authenticate.ise=Impossible d'appeler authenticate() après le début de l'envoi de la réponse
coyoteRequest.changeSessionId=Impossible de changer l'id de la session, il n'y a pas de session associée à cette requête
coyoteRequest.chunkedPostTooLarge=Les paramètres n'ont pas été traités parce que la taille des données du POST étaient trop grandes; comme cette requête utilisait le découpage par morceaux (chunking), le traitement est arrêté; utiliser l'attribut maxPostSize du connecteur pour résoudre ce problème si l'application devrait accepter des tailles de POST plus importantes
coyoteRequest.filterAsyncSupportUnknown=Incapacité de déterminer si un des filtres ne supporte pas le mode asynchrone
coyoteRequest.getContextPath.ise=Impossible de trouver une correspondance entre le chemin canonique du contexte [{0}] et l''URI envoyée par l''agent de l''utilisateur [{1}]
coyoteRequest.getInputStream.ise="getReader()" a déjà été appelé pour cette requête
coyoteRequest.getReader.ise="getInputStream()" a déjà été appelé pour cette requête
coyoteRequest.gssLifetimeFail=Echec d''obtention de la durée de vie restante pour le "user principal" [{0}]
coyoteRequest.maxPostSizeExceeded=La requête multi part contenait des données de paramètres (en excluant les fichiers envoyés) dont la taille a excédé la limite maxPostSize fixée sur le connecteur associé
coyoteRequest.noAsync=Impossible de démarrer le mode asynchrone car les classes [{0}] de la chaîne de traitement ne le supportent pas
coyoteRequest.noMultipartConfig=Impossible de traiter des parties, parce qu'aucune configuration multi-parties n'a été fournie
coyoteRequest.parseParameters=Exception lors du traitement des paramètres envoyés par POST
coyoteRequest.postTooLarge=Les paramètres n'ont pas été évalués car la taille des données postées est trop important. Utilisez l'attribut maxPostSize du connecteur pour corriger ce problème si votre application doit accepter des POSTs importants.
coyoteRequest.sendfileNotCanonical=Impossible d''obtenir le nom canonique du fichier [{0}] qui a été donné pour le sendfile
coyoteRequest.sessionCreateCommitted=Impossible de créer une session après que la réponse ait été envoyée
coyoteRequest.sessionEndAccessFail=Exception lancée durant l'arrêt de l'accès à la session durant le recyclage de la requête
coyoteRequest.setAttribute.namenull=Impossible d'appeler "setAttribute" avec un nom nul
coyoteRequest.uploadCreate=Un répertoire temporaire [{0}] pour les fichiers envoyés sera crée car il est requis par le Servlet [{1}]
coyoteRequest.uploadCreateFail=Echec de création du répertoire [{0}] pour les fichiers envoyés
coyoteRequest.uploadLocationInvalid=Le répertoire temporaire [{0}] pour les envois de fichier est invalide
coyoteResponse.encoding.invalid=L''encodage [{0}] n''est pas reconnu par le JRE
coyoteResponse.getOutputStream.ise="getWriter()" a déjà été appelé pour cette réponse
coyoteResponse.getWriter.ise="getOutputStream()" a déjà été appelé pour cette réponse
coyoteResponse.reset.ise=Impossible d'appeler reset() après le début de l'envoi de la réponse
coyoteResponse.resetBuffer.ise=Impossible de remettre à zéro le tampon après que la réponse ait été envoyée
coyoteResponse.sendError.ise=Impossible d'appeler "sendError()" après que la réponse ait été envoyée
coyoteResponse.sendRedirect.ise=Impossible d'appeler "sendRedirect()" après que la réponse ait été envoyée
coyoteResponse.sendRedirect.note=<html><body><p>Redirection vers <a href="{0}">{0}</a></p></body></html>
coyoteResponse.setBufferSize.ise=Impossible de changer la taille du tampon après que les données aient été écrites
inputBuffer.requiresNonBlocking=Pas disponible en mode non bloquant
inputBuffer.streamClosed=Le flux a été fermé
outputBuffer.writeNull=L'argument String dans write(String, int, int) ne doit pas être null
request.asyncNotSupported=Un filtre ou un Servlet de la chaîne actuelle ne supporte pas le mode asynchrone
request.fragmentInDispatchPath=Le fragment dans le chemin de dispatch [{0}] a été enlevé
request.illegalWrap=L'enrobeur de la réponse doit enrober la requête obtenue à partir de getRequest()
request.notAsync=Il est interdit d'appeler cette méthode si la requête actuelle n'est pas en mode asynchrone (isAsyncStarted() a renvoyé false)
requestFacade.nullRequest=L'objet requête a été recyclé et n'est plus associé à cette façade
response.illegalWrap=L'enrobeur de la réponse doit enrober la réponse obtenue à partir de getResponse()
response.sendRedirectFail=Impossible d''envoyer une redirection vers [{0}]
responseFacade.nullResponse=L'objet réponse a été recyclé et n'est plus associé à cette façade

View File

@@ -0,0 +1,89 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
coyoteAdapter.accesslogFail=アクセスログにエントリを追加する際の例外
coyoteAdapter.asyncDispatch=非同期リクエストの処理中の例外
coyoteAdapter.authenticate=コネクターから認証済みユーザー [{0}] を取得しました。
coyoteAdapter.authorize=Tomcat のRealmでユーザー [{0}] を認証します。
coyoteAdapter.checkRecycled.request=リサイクルされていないリクエストに遭遇しました。強制的にリサイクルしました。
coyoteAdapter.checkRecycled.response=リサイクルされていないレスポンスが発生、強制的にリサイクルされました。
coyoteAdapter.debug=変数[{0}]に値[{1}]があります
coyoteAdapter.nullRequest=非同期ディスパッチは、既存のリクエストでのみ発生する可能性があります
coyoteConnector.invalidEncoding=[{0}] は JRE の理解できない符号化方式です。Connector は [{1}] で処理を続行します。
coyoteConnector.invalidPort=[{0}]の指定されたポート値が無効であるため、コネクタを開始できません
coyoteConnector.parseBodyMethodNoTrace=TRACE メソッドのリクエストはエンティティを含めることはできません (RFC 2616 の 9.6 節を参照)。
coyoteConnector.protocolHandlerDestroyFailed=プロトコルハンドラの廃棄に失敗しました
coyoteConnector.protocolHandlerInitializationFailed=プロトコルハンドラの初期化に失敗しました
coyoteConnector.protocolHandlerInstantiationFailed=プロトコルハンドラのインスタンス化に失敗しました
coyoteConnector.protocolHandlerNoAprLibrary=構成されたプロトコル[{0}]には使用できないAPR/nativeライブラリが必要です。
coyoteConnector.protocolHandlerNoAprListener=構成されたプロトコル[{0}]には、使用できないAprLifecycleListenerが必要です。
coyoteConnector.protocolHandlerPauseFailed=プロトコルハンドラの一時停止に失敗しました
coyoteConnector.protocolHandlerResumeFailed=プロトコルハンドラの再開に失敗しました
coyoteConnector.protocolHandlerStartFailed=プロトコルハンドラの起動に失敗しました
coyoteConnector.protocolHandlerStopFailed=プロトコルハンドラの停止に失敗しました。
coyoteInputStream.nbNotready=ノンブロッキングモードでは、以前の読み取りが完了して isReady() が true を返すまで、ServletInputStream から読み取りできません。
coyoteOutputStream.nbNotready=ノンブロッキングモードでは直前の書き込みが完了し isReady() が true を返すまで ServletOutputStream への書き込みはできません。
coyoteRequest.alreadyAuthenticated=認証済みのリクエストです。
coyoteRequest.attributeEvent=属性イベントリスナによって例外が投げられました
coyoteRequest.authenticate.ise=レスポンスをコミットした後は authenticate() を呼び出すことはできません。
coyoteRequest.changeSessionId=セッション ID は変更できません。リクエストに関連付けられたセッションがありません。
coyoteRequest.chunkedPostTooLarge=POST データが大きすぎるためパラメーターを解析しませんでした。リクエストはチャンク化されているため、処理を継続できません。アプリケーションが大きな POST データを受信する必要があるなら、Connector 要素の maxPostSize 属性を変更してください。
coyoteRequest.filterAsyncSupportUnknown=非同期処理をサポートしていないFilterがあるかどうかを判断できません
coyoteRequest.getContextPath.ise=標準的なコンテキストパス[{0}]とユーザーエージェント[{1}]によって提示されたURIとの一致が見つかりません。
coyoteRequest.getInputStream.ise=getReader()はこのリクエストに対して既に呼び出されています
coyoteRequest.getReader.ise=getInputStream()はこのリクエストに対して既に呼び出されています
coyoteRequest.gssLifetimeFail=ユーザープリンシパル [{0}] の残りの寿命(秒単位) を取得できません。
coyoteRequest.maxPostSizeExceeded=マルチパートリクエストには、関連するコネクタで設定されたmaxPostSizeの制限を超えたパラメータデータアップロードされたファイルを除くが含まれていました。
coyoteRequest.noAsync=処理チェーン内の次のクラスが非同期をサポートしていないため、非同期を開始できません。[{0}]
coyoteRequest.noMultipartConfig=multi-part 構成が提供されていないため、partを処理することができません
coyoteRequest.parseParameters=POST パラメーターの処理中に例外を投げました。
coyoteRequest.postTooLarge=POSTされたデータが大きすぎたので、パラメータが構文解析できませんでした。そのアプリケーションが巨大なPOSTを受け付けねばならない場合には、これを解決するためにコネクタのmaxPostSize属性を使用してください。
coyoteRequest.sendfileNotCanonical=sendfile に指定されたファイル [{0}] の正式名を取得できません。
coyoteRequest.sessionCreateCommitted=レスポンスをコミットした後でセッションを作成できません
coyoteRequest.sessionEndAccessFail=リクエストの再利用中に行ったセッションへのアクセス終了処理で例外が送出されました。
coyoteRequest.setAttribute.namenull=setAttributeを名前を指定せずに呼び出すことはできません
coyoteRequest.uploadCreate=サーブレット[{1}]に必要な一時アップロード場所[{0}]を作成します。
coyoteRequest.uploadCreateFail=アップロード場所[{0}]の作成に失敗しました。
coyoteRequest.uploadLocationInvalid=一時的なアップロード場所[{0}]は無効です
coyoteResponse.encoding.invalid=JRE は文字エンコーディング [{0}] を理解しません。
coyoteResponse.getOutputStream.ise=getWriter()はこのレスポンスに対して既に呼び出されています
coyoteResponse.getWriter.ise=getOutputStream()はこのレスポンスに対して既に呼び出されています
coyoteResponse.reset.ise=レスポンスがコミットされた後でreset()を呼び出すことができません。
coyoteResponse.resetBuffer.ise=レスポンスがコミットされた後でバッファをリセットすることはできません
coyoteResponse.sendError.ise=レスポンスがコミットされた後でsendError()を呼び出すことはできません
coyoteResponse.sendRedirect.ise=レスポンスがコミットされた後でsendRedirect()を呼び出すことはできません
coyoteResponse.sendRedirect.note=<html> <body> <p> <a href="{0}"> {0} </a>へのリダイレクト</ p> </ body> </ html>
coyoteResponse.setBufferSize.ise=データが既に書き込まれた後でバッファサイズを変更することはできません
inputBuffer.requiresNonBlocking=ノンブロッキングモードでは利用できません。
inputBuffer.streamClosed=ストリームはクローズしています
outputBuffer.writeNull=write(String, int, int) メソッドの String 型の引数に null を指定できません。
request.asyncNotSupported=現在のチェーンのフィルタまたはサーブレットは非同期操作をサポートしていません。
request.illegalWrap=リクエストラッパーは getRequest() で取得したリクエストをラップしなければなりません。
request.notAsync=非同期モードではないリクエストでこのメソッドを呼び出すことはできません。(例えば isAsyncStarted() が false を返す場合)
requestFacade.nullRequest=リクエストオブジェクトはリサイクルされこのファサードに関連付けられなくなりました。
response.illegalWrap=レスポンスラッパーは、getResponse()から取得したレスポンスをラップする必要があります。
response.sendRedirectFail=[{0}] へのリダイレクトが失敗しました。
responseFacade.nullResponse=レスポンスオブジェクトはすでに回収されたためこのファサードとは関連付けがありません。

View File

@@ -0,0 +1,90 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
coyoteAdapter.accesslogFail=접근 로그에 엔트리를 추가하기 위한 시도 중 예외 발생
coyoteAdapter.asyncDispatch=비동기 요청을 처리하는 중 예외 발생
coyoteAdapter.authenticate=Connector에 의해 제공된 사용자 [{0}]을(를) 인증했습니다.
coyoteAdapter.authorize=Tomcat의 Realm을 사용하여 사용자 [{0}]을(를) 승인 중
coyoteAdapter.checkRecycled.request=참조 해제 되지않은 요청을 발견하여 강제로 참조 해제했습니다.
coyoteAdapter.checkRecycled.response=참조 해제되지 않은 응답이 발견되어 강제로 참조 해제합니다.
coyoteAdapter.debug=변수 [{0}]이(가) 값 [{1}]을(를) 가지고 있습니다.
coyoteAdapter.nullRequest=비동기 디스패치는, 기존 요청에 대해 오직 한번만 일어나야 합니다.
coyoteConnector.invalidEncoding=인코딩 [{0}]은(는) JRE에 의해 인식되지 않습니다. Connector는 [{1}]을(를) 계속 사용할 것입니다.
coyoteConnector.invalidPort=지정된 포트 번호, [{0}]이(가) 유효하지 않기 때문에, Connector가 시작될 수 없습니다.
coyoteConnector.parseBodyMethodNoTrace=TRACE 메소드는 엔티티를 포함해서는 안됩니다. (RFC 2616 Section 9.6 참조)
coyoteConnector.protocolHandlerDestroyFailed=프로토콜 핸들러 소멸 중 실패
coyoteConnector.protocolHandlerInitializationFailed=프로토콜 핸들러 초기화가 실패했습니다.
coyoteConnector.protocolHandlerInstantiationFailed=프로토콜 핸들러 인스턴스 생성에 실패했습니다.
coyoteConnector.protocolHandlerNoAprLibrary=설정된 프로토콜 [{0}]이(가), 가용하지 않은 APR/native 라이브러리를 요구합니다.
coyoteConnector.protocolHandlerNoAprListener=설정된 프로토콜 [{0}]이(가), 가용하지 않은 AprLifecycleListener를 요구합니다.
coyoteConnector.protocolHandlerPauseFailed=프로토콜 핸들러에 대한 일시 정지가 실패했습니다.
coyoteConnector.protocolHandlerResumeFailed=프로토콜 핸들러를 재개하지 못했습니다.
coyoteConnector.protocolHandlerStartFailed=프로토콜 핸들러 시작 실패
coyoteConnector.protocolHandlerStopFailed=프로토콜 핸들러를 중지시키지 못했습니다.
coyoteInputStream.nbNotready=Non-blocking 모드에서는, 이전의 데이터 읽기가 완료되고 isReady()가 true를 반환하기 전까지는, ServletInputStream으로부터 데이터를 읽을 수 없습니다.
coyoteOutputStream.nbNotready=Non-blocking 모드에서는, 이전의 쓰기가 완료되고 isReady()가 true를 반환할 때까지는, ServletOutputStream에 쓸 수 없습니다.
coyoteRequest.alreadyAuthenticated=해당 요청은 이미 인증되었습니다.
coyoteRequest.attributeEvent=속성 이벤트 리스너에 의해 예외 발생
coyoteRequest.authenticate.ise=응답이 커밋된 후에는 authenticate()를 호출할 수 없습니다.
coyoteRequest.changeSessionId=세션 ID를 변경할 수 없습니다. 이 요청과 연관된 세션이 없습니다.
coyoteRequest.chunkedPostTooLarge=포스트된 데이터의 크기가 너무 커서 파라미터들이 파싱되지 않았습니다. 이 요청은 chunked request였기 때문에 더 이상 처리될 수 없었습니다. 만일 애플리케이션이 매우 큰 포스트 데이터를 받아들여야 한다면, Connector의 maxPostSize 속성을 사용하여 이 문제를 해결하십시오.
coyoteRequest.filterAsyncSupportUnknown=어떤 필터들이 비동기 처리를 지원하지 않는지 여부를 결정할 수 없습니다.
coyoteRequest.getContextPath.ise=Canonical 컨텍스트 경로 [{0}]이(가), User Agent [{1}]에 의해 표시된 URI와 부합되지 않습니다.
coyoteRequest.getInputStream.ise=이 요청에 대해 getReader()가 이미 호출되었습니다.
coyoteRequest.getReader.ise=getInputStream()이 이미 이 요청을 위해 호출되었습니다.
coyoteRequest.gssLifetimeFail=사용자 principal [{0}]의 남아있는 lifetime을 구하지 못했습니다.
coyoteRequest.maxPostSizeExceeded=Multi-part 요청이, 연관된 connector에 설정된 maxPostSize의 한계치를 초과하는 파라미터 데이터(업로드된 파일들은 제외)를 포함했습니다.
coyoteRequest.noAsync=요청 처리 체인 내의 다음 클래스들이 비동기 모드를 지원하지 않기 때문에, 비동기 모드를 시작할 수 없습니다: [{0}]
coyoteRequest.noMultipartConfig=어떤 multi-part 설정도 제공되지 않았기 때문에, part들을 처리할 수 없습니다.
coyoteRequest.parseParameters=포스트된 파라미터들을 처리하는 중 예외 발생
coyoteRequest.postTooLarge=포스트된 데이터의 크기가 너무 커서, 파라미터들이 파싱되지 않았습니다. 만일 애플리케이션이 대량의 포스트 데이터를 받아들여야 하는 경우, Connector의 maxPostSize 속성을 설정하여 문제를 해결하십시오.
coyoteRequest.sendfileNotCanonical=sendfile과 사용되도록 지정된 파일 [{0}]의 canonical 이름을 결정할 수 없습니다.
coyoteRequest.sessionCreateCommitted=응답이 이미 커밋된 후에는, 세션을 생성할 수 없습니다.
coyoteRequest.sessionEndAccessFail=요청을 참조 해제하는 과정에서, 세션에 대한 접근을 종료시키려 개시하는 중 예외 발생
coyoteRequest.setAttribute.namenull=널인 이름을 사용하여 setAttribute를 호출할 수 없습니다.
coyoteRequest.uploadCreate=서블릿 [{1}]에 의해 요구되는, 임시 업로드 폴더를 [{0}] 위치에 생성합니다.
coyoteRequest.uploadCreateFail=[{0}]에 업로드 폴더를 생성하지 못했습니다.
coyoteRequest.uploadLocationInvalid=임시 파일 업로드 위치 [{0}]은(는) 유효하지 않습니다.
coyoteResponse.encoding.invalid=인코딩 [{0}]은(는) JRE에 의해 인식되지 않는 것입니다.
coyoteResponse.getOutputStream.ise=이 응답에 대해 getWriter()가 이미 호출되었습니다.
coyoteResponse.getWriter.ise=이 응답을 위해 getOutputStream()이 이미 호출되었습니다.
coyoteResponse.reset.ise=응답이 이미 커밋된 후에는, reset()을 호출할 수 없습니다.
coyoteResponse.resetBuffer.ise=응답이 이미 커밋된 후에는, 버퍼를 재설정(reset)할 수 없습니다.
coyoteResponse.sendError.ise=응답이 이미 커밋된 후에는 sendError()를 호출할 수 없습니다.
coyoteResponse.sendRedirect.ise=응답이 이미 커밋된 후에는, sendRedirect()를 호출할 수 없습니다.
coyoteResponse.sendRedirect.note=<html><body><p>Redirecting to <a href="{0}">{0}</a></p></body></html>
coyoteResponse.setBufferSize.ise=데이터가 이미 쓰여진 후에는, 버퍼 크기를 변경할 수 없습니다.
inputBuffer.requiresNonBlocking=Non blocking 모드에서는 가용하지 않습니다.
inputBuffer.streamClosed=스트림이 닫혔습니다.
outputBuffer.writeNull=write(String,int,int) 메소드에 전달되는 String 아규먼트는 널일 수 없습니다.
request.asyncNotSupported=현재 체인의 필터 또는 서블릿이, 비동기 오퍼레이션들을 지원하지 않습니다.
request.fragmentInDispatchPath=디스패치 경로 [{0}](으)로부터 URI fragment를 제거했습니다.
request.illegalWrap=요청 wrapper는 반드시 getRequest()로부터 얻어진 요청을 wrap해야 합니다.
request.notAsync=만일 현재의 쓰레드가 비동기 모드에 있지 않다면, 이 메소드를 호출하는 것은 불허됩니다. (즉, isAsyncStarted()가 false를 반환하는 경우)
requestFacade.nullRequest=요청 객체가 이미 참조 해제 되었고, 더 이상 이 facade와 연관되지 않습니다.
response.illegalWrap=응답 wrapper는, 반드시 getResponse()로부터 얻어진 응답 객체를 wrap한 것이어야 합니다.
response.sendRedirectFail=[{0}](으)로 redirect하지 못했습니다.
responseFacade.nullResponse=해당 응답 객체가 이미 참조 해제되었으며, 더 이상 이 ResponseFacade 객체와 연관이 없습니다.

View File

@@ -0,0 +1,16 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
coyoteAdapter.debug=Переменная [{0}] имеет значение [{1}]

View File

@@ -0,0 +1,56 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
coyoteAdapter.authorize=(:使用Tomcat的领域授权用户[{0}]
coyoteAdapter.checkRecycled.response=遇到非回收的相应并强行回收。
coyoteAdapter.debug=变量[{0}]的值为[{1}]。
coyoteConnector.invalidEncoding=编码 [{0}] 不能被 JRE 识别Connector 将继续使用 [{1}]
coyoteConnector.invalidPort=连接器不能启动,因为指定的端口 [{0}]无效
coyoteConnector.parseBodyMethodNoTrace=方法TRACE禁止包含实体详情查看RFC 2616 章节 9.6
coyoteConnector.protocolHandlerInstantiationFailed=协议处理程序实例化失败
coyoteConnector.protocolHandlerNoAprLibrary=配置的协议[{0}]需要不可用的APR/本机库
coyoteConnector.protocolHandlerNoAprListener=配置的协议[{0}]需要不可用的aprlifecycleListener
coyoteConnector.protocolHandlerPauseFailed=协议处理程序暂停失败
coyoteConnector.protocolHandlerStartFailed=协议处理器启动失败
coyoteConnector.protocolHandlerStopFailed=协议处理程序.停止失败
coyoteInputStream.nbNotready=在非阻塞模式下只有之前的读数据完成并且isReady()方法返回true你才可以使用 ServletInputStream 读取数据
coyoteRequest.attributeEvent=属性事件侦听器引发的异常
coyoteRequest.authenticate.ise=):提交响应后无法调用authenticate()
coyoteRequest.changeSessionId=无法更改 session ID。 没有与此请求关联的 session。
coyoteRequest.chunkedPostTooLarge=由于请求参数数据太大导致参数不能解析。因为当前请求是块状请求后续也不会处理。如果应用程序需要接收大的POST请求可以使用连接器的maxPostSize解决它。
coyoteRequest.filterAsyncSupportUnknown=无法确定是否有任何过滤器不支持异步处理
coyoteRequest.gssLifetimeFail=为用户主体 [{0}] 获取剩余生命期失败
coyoteRequest.maxPostSizeExceeded=):大多部分请求包含的参数数据不包括上载的文件超过了关联连接器上设置的maxPostSize 的限制
coyoteRequest.noMultipartConfig=由于没有提供multi-part配置无法处理parts
coyoteRequest.sendfileNotCanonical=无法确定指定用于sendfile的文件[{0}]的规范名称
coyoteRequest.sessionCreateCommitted=提交响应后无法创建会话
coyoteRequest.sessionEndAccessFail=在回收请求时,异常触发了对会话的结束访问。
coyoteRequest.setAttribute.namenull=不能在一个空的名字上调用setAttribute
coyoteRequest.uploadLocationInvalid=临时上传路径[{0}]无效
coyoteResponse.encoding.invalid=JRE无法识别编码[{0}]
coyoteResponse.getWriter.ise=当前响应已经调用了方法getOutputStream()
coyoteResponse.reset.ise=已经提交响应后无法调用reset()
coyoteResponse.sendError.ise=响应提交后无法调用sendError()
coyoteResponse.sendRedirect.note=<html><body><p>重定向到<a href="{0}">{0}</a></p></body></html>
request.asyncNotSupported=当前链的筛选器或servlet不支持异步操作。
requestFacade.nullRequest=请求对象已被回收不再与此facade关联
responseFacade.nullResponse=响应对象已被回收,不再与此外观关联

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,226 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You 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.
-->
<mbeans-descriptors>
<!-- This MBean contains Connector attributes and some common attributes of
associated ProtocolHandler instances. Common attributes extracted out
from all ProtocolHandler implementations are denoted by a comment
'common' above their description. Each attribute particular to given
ProtocolHandler implementation can be found in relevant ProtocolHandler
MBean. -->
<mbean name="CoyoteConnector"
className="org.apache.catalina.mbeans.ConnectorMBean"
description="Implementation of a Coyote connector"
domain="Catalina"
group="Connector"
type="org.apache.catalina.connector.Connector">
<!-- Common -->
<attribute name="acceptCount"
description="The accept count for this Connector"
type="int"/>
<!-- Common -->
<attribute name="address"
description="The IP address on which to bind"
type="java.lang.String"/>
<attribute name="ajpFlush"
description="Send AJP flush package for each explicit flush"
type="boolean"/>
<attribute name="allowedRequestAttributesPattern"
description="Regular expression that any custom request attributes muct match else the request will be rejected"
type="java.lang.String"/>
<attribute name="allowTrace"
description="Allow disabling TRACE method"
type="boolean"/>
<attribute name="ciphers"
description="Comma-separated list of requested cipher suites"
type="java.lang.String"/>
<attribute name="ciphersUsed"
description="Array of ciphers suites in use"
type="[Ljava.lang.String;"
writeable="false"/>
<attribute name="className"
description="Fully qualified class name of the managed object"
type="java.lang.String"
writeable="false"/>
<!-- Common -->
<attribute name="connectionLinger"
description="Linger value on the incoming connection"
type="int"/>
<!-- Common -->
<attribute name="connectionTimeout"
description="Timeout value on the incoming connection"
type="int"/>
<attribute name="enableLookups"
description="The 'enable DNS lookups' flag for this Connector"
type="boolean"/>
<attribute name="executorName"
description="The name of the executor - if any - associated with this Connector"
type="java.lang.String"
writeable="false"/>
<!-- Common -->
<attribute name="keepAliveTimeout"
description="The number of milliseconds Tomcat will wait for a subsequent request before closing the connection"
type="int"/>
<attribute name="localPort"
description="The port number on which this connector is listening to requests. If the special value for port of zero is used then this method will report the actual port bound."
type="int"
writeable="false"/>
<attribute name="maxHeaderCount"
description="The maximum number of headers that are allowed by the container. 100 by default. A value of less than 0 means no limit."
type="int"/>
<attribute name="maxKeepAliveRequests"
description="Maximum number of Keep-Alive requests to honor per connection"
type="int"/>
<attribute name="maxParameterCount"
description="The maximum number of parameters (GET plus POST) which will be automatically parsed by the container. 10000 by default. A value of less than 0 means no limit."
type="int"/>
<attribute name="maxPostSize"
description="Maximum size in bytes of a POST which will be handled by the servlet API provided features"
type="int"/>
<attribute name="maxSavePostSize"
description="Maximum size of a POST which will be saved by the container during authentication"
type="int"/>
<attribute name="maxSwallowSize"
description="The maximum number of request body bytes to be swallowed by Tomcat for an aborted upload"
type="int"/>
<!-- Common -->
<attribute name="maxThreads"
description="The maximum number of request processing threads to be created for the internal Executor. -1 indicates an external Executor is being used."
type="int"/>
<attribute name="minSpareThreads"
description="The number of request processing threads that will be created for the internal Executor. -1 indicates an external Executor is being used."
type="int"/>
<!-- Common -->
<attribute name="packetSize"
description="The ajp packet size."
type="int"/>
<attribute name="port"
description="The port number on which this connector is configured to listen for requests. The special value of 0 means select a random free port when the socket is bound."
type="int"/>
<!-- Common -->
<attribute name="processorCache"
description="The processor cache size."
type="int"/>
<attribute name="protocol"
description="Coyote protocol handler in use"
type="java.lang.String"/>
<attribute name="protocolHandlerClassName"
description="Coyote Protocol handler class name"
type="java.lang.String"
writeable="false"/>
<attribute name="proxyName"
description="The Server name to which we should pretend requests to this Connector"
type="java.lang.String"/>
<attribute name="proxyPort"
description="The Server port to which we should pretend requests to this Connector"
type="int"/>
<attribute name="redirectPort"
description="The redirect port for non-SSL to SSL redirects"
type="int"/>
<attribute name="scheme"
description="Protocol name for this Connector (http, https)"
type="java.lang.String"/>
<attribute name="secret"
description="Authentication secret"
readable = "false"
type="java.lang.String"/>
<attribute name="secretRequired"
description="Must secret be set to a non-null, non-zero-length String?"
type="boolean"/>
<attribute name="secure"
description="Is this a secure (SSL) Connector?"
type="boolean"/>
<attribute name="sslProtocols"
description="Comma-separated list of SSL protocol variants to be enabled"
type="java.lang.String"/>
<attribute name="stateName"
description="The name of the LifecycleState that this component is currently in"
type="java.lang.String"
writeable="false"/>
<!-- Common -->
<attribute name="tcpNoDelay"
description="Should we use TCP no delay?"
type="boolean"/>
<!-- Common -->
<attribute name="threadPriority"
description="The thread priority for processors using the internal Executor. -1 indicates an external Executor is being used."
type="int"/>
<attribute name="URIEncoding"
description="Character encoding used to decode the URI"
type="java.lang.String"/>
<attribute name="useBodyEncodingForURI"
description="Should the body encoding be used for URI query parameters"
type="boolean"/>
<attribute name="useIPVHosts"
description="Should IP-based virtual hosting be used? "
type="boolean"/>
<attribute name="xpoweredBy"
description="Is generation of X-Powered-By response header enabled/disabled?"
type="boolean"/>
<operation name="start" description="Start" impact="ACTION" returnType="void" />
<operation name="stop" description="Stop" impact="ACTION" returnType="void" />
<operation name="pause" description="Start" impact="ACTION" returnType="void" />
<operation name="resume" description="Stop" impact="ACTION" returnType="void" />
<operation name="init" description="Init" impact="ACTION" returnType="void" />
<operation name="destroy" description="Destroy" impact="ACTION" returnType="void" />
</mbean>
</mbeans-descriptors>