public class org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter extends org.springframework.remoting.rmi.RemoteInvocationSerializingExporter implements org.springframework.web.HttpRequestHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter
super_class: org.springframework.remoting.rmi.RemoteInvocationSerializingExporter
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.remoting.rmi.RemoteInvocationSerializingExporter.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/remoting/httpinvoker/HttpInvokerServiceExporter;
public void handleRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse);
descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.readRemoteInvocation:(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/remoting/support/RemoteInvocation;
astore 3
start local 3 1: aload 0
aload 3
aload 0
invokevirtual org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.getProxy:()Ljava/lang/Object;
invokevirtual org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.invokeAndCreateResult:(Lorg/springframework/remoting/support/RemoteInvocation;Ljava/lang/Object;)Lorg/springframework/remoting/support/RemoteInvocationResult;
astore 4
start local 4 2: aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.writeRemoteInvocationResult:(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/remoting/support/RemoteInvocationResult;)V
end local 4 end local 3 3: goto 6
4: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 3
start local 3 5: new org.springframework.web.util.NestedServletException
dup
ldc "Class not found during deserialization"
aload 3
invokespecial org.springframework.web.util.NestedServletException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/remoting/httpinvoker/HttpInvokerServiceExporter;
0 7 1 request Ljavax/servlet/http/HttpServletRequest;
0 7 2 response Ljavax/servlet/http/HttpServletResponse;
1 3 3 invocation Lorg/springframework/remoting/support/RemoteInvocation;
2 3 4 result Lorg/springframework/remoting/support/RemoteInvocationResult;
5 6 3 ex Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
0 3 4 Class java.lang.ClassNotFoundException
Exceptions:
throws javax.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
request
response
protected org.springframework.remoting.support.RemoteInvocation readRemoteInvocation(javax.servlet.http.HttpServletRequest);
descriptor: (Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/remoting/support/RemoteInvocation;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokeinterface javax.servlet.http.HttpServletRequest.getInputStream:()Ljavax/servlet/ServletInputStream;
invokevirtual org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.readRemoteInvocation:(Ljavax/servlet/http/HttpServletRequest;Ljava/io/InputStream;)Lorg/springframework/remoting/support/RemoteInvocation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/remoting/httpinvoker/HttpInvokerServiceExporter;
0 1 1 request Ljavax/servlet/http/HttpServletRequest;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
request
protected org.springframework.remoting.support.RemoteInvocation readRemoteInvocation(javax.servlet.http.HttpServletRequest, java.io.InputStream);
descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljava/io/InputStream;)Lorg/springframework/remoting/support/RemoteInvocation;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
aload 1
aload 2
invokevirtual org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.decorateInputStream:(Ljavax/servlet/http/HttpServletRequest;Ljava/io/InputStream;)Ljava/io/InputStream;
invokevirtual org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.createObjectInputStream:(Ljava/io/InputStream;)Ljava/io/ObjectInputStream;
astore 3
start local 3 1: aload 0
aload 3
invokevirtual org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.doReadRemoteInvocation:(Ljava/io/ObjectInputStream;)Lorg/springframework/remoting/support/RemoteInvocation;
astore 5
2: aload 3
invokevirtual java.io.ObjectInputStream.close:()V
3: aload 5
areturn
4: StackMap locals: org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter javax.servlet.http.HttpServletRequest java.io.InputStream java.io.ObjectInputStream
StackMap stack: java.lang.Throwable
astore 4
5: aload 3
invokevirtual java.io.ObjectInputStream.close:()V
6: aload 4
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/remoting/httpinvoker/HttpInvokerServiceExporter;
0 7 1 request Ljavax/servlet/http/HttpServletRequest;
0 7 2 is Ljava/io/InputStream;
1 7 3 ois Ljava/io/ObjectInputStream;
Exception table:
from to target type
1 2 4 any
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
request
is
protected java.io.InputStream decorateInputStream(javax.servlet.http.HttpServletRequest, java.io.InputStream);
descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljava/io/InputStream;)Ljava/io/InputStream;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/remoting/httpinvoker/HttpInvokerServiceExporter;
0 1 1 request Ljavax/servlet/http/HttpServletRequest;
0 1 2 is Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
request
is
protected void writeRemoteInvocationResult(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.springframework.remoting.support.RemoteInvocationResult);
descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/remoting/support/RemoteInvocationResult;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 0
invokevirtual org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.getContentType:()Ljava/lang/String;
invokeinterface javax.servlet.http.HttpServletResponse.setContentType:(Ljava/lang/String;)V
1: aload 0
aload 1
aload 2
aload 3
aload 2
invokeinterface javax.servlet.http.HttpServletResponse.getOutputStream:()Ljavax/servlet/ServletOutputStream;
invokevirtual org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.writeRemoteInvocationResult:(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/remoting/support/RemoteInvocationResult;Ljava/io/OutputStream;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/remoting/httpinvoker/HttpInvokerServiceExporter;
0 3 1 request Ljavax/servlet/http/HttpServletRequest;
0 3 2 response Ljavax/servlet/http/HttpServletResponse;
0 3 3 result Lorg/springframework/remoting/support/RemoteInvocationResult;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
request
response
result
protected void writeRemoteInvocationResult(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.springframework.remoting.support.RemoteInvocationResult, java.io.OutputStream);
descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/remoting/support/RemoteInvocationResult;Ljava/io/OutputStream;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
new org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter$FlushGuardedOutputStream
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.decorateOutputStream:(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/io/OutputStream;)Ljava/io/OutputStream;
invokespecial org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter$FlushGuardedOutputStream.<init>:(Ljava/io/OutputStream;)V
invokevirtual org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.createObjectOutputStream:(Ljava/io/OutputStream;)Ljava/io/ObjectOutputStream;
1: astore 5
start local 5 2: aload 0
aload 3
aload 5
invokevirtual org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.doWriteRemoteInvocationResult:(Lorg/springframework/remoting/support/RemoteInvocationResult;Ljava/io/ObjectOutputStream;)V
3: goto 7
4: StackMap locals: org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter javax.servlet.http.HttpServletRequest javax.servlet.http.HttpServletResponse org.springframework.remoting.support.RemoteInvocationResult java.io.OutputStream java.io.ObjectOutputStream
StackMap stack: java.lang.Throwable
astore 6
5: aload 5
invokevirtual java.io.ObjectOutputStream.close:()V
6: aload 6
athrow
7: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.io.ObjectOutputStream.close:()V
8: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/remoting/httpinvoker/HttpInvokerServiceExporter;
0 9 1 request Ljavax/servlet/http/HttpServletRequest;
0 9 2 response Ljavax/servlet/http/HttpServletResponse;
0 9 3 result Lorg/springframework/remoting/support/RemoteInvocationResult;
0 9 4 os Ljava/io/OutputStream;
2 9 5 oos Ljava/io/ObjectOutputStream;
Exception table:
from to target type
2 4 4 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
request
response
result
os
protected java.io.OutputStream decorateOutputStream(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.io.OutputStream);
descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/io/OutputStream;)Ljava/io/OutputStream;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/remoting/httpinvoker/HttpInvokerServiceExporter;
0 1 1 request Ljavax/servlet/http/HttpServletRequest;
0 1 2 response Ljavax/servlet/http/HttpServletResponse;
0 1 3 os Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
request
response
os
}
SourceFile: "HttpInvokerServiceExporter.java"
NestMembers:
org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter$FlushGuardedOutputStream
InnerClasses:
private FlushGuardedOutputStream = org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter$FlushGuardedOutputStream of org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter