public abstract class jakarta.servlet.http.HttpServlet extends jakarta.servlet.GenericServlet
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: jakarta.servlet.http.HttpServlet
super_class: jakarta.servlet.GenericServlet
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8466325577512134784
private static final java.lang.String METHOD_DELETE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "DELETE"
private static final java.lang.String METHOD_HEAD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "HEAD"
private static final java.lang.String METHOD_GET;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "GET"
private static final java.lang.String METHOD_OPTIONS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "OPTIONS"
private static final java.lang.String METHOD_POST;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "POST"
private static final java.lang.String METHOD_PUT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PUT"
private static final java.lang.String METHOD_TRACE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "TRACE"
private static final java.lang.String ;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "If-Modified-Since"
private static final java.lang.String ;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Last-Modified"
private static final java.lang.String LSTRING_FILE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jakarta.servlet.http.LocalStrings"
private static java.util.ResourceBundle lStrings;
descriptor: Ljava/util/ResourceBundle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "jakarta.servlet.http.LocalStrings"
invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
putstatic jakarta.servlet.http.HttpServlet.lStrings:Ljava/util/ResourceBundle;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial jakarta.servlet.GenericServlet.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljakarta/servlet/http/HttpServlet;
protected void doGet(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getProtocol:()Ljava/lang/String;
astore 3
start local 3 1: getstatic jakarta.servlet.http.HttpServlet.lStrings:Ljava/util/ResourceBundle;
ldc "http.method_get_not_supported"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 2: aload 2
aload 0
aload 3
invokevirtual jakarta.servlet.http.HttpServlet.getMethodNotSupportedCode:(Ljava/lang/String;)I
aload 4
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(ILjava/lang/String;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljakarta/servlet/http/HttpServlet;
0 4 1 req Ljakarta/servlet/http/HttpServletRequest;
0 4 2 resp Ljakarta/servlet/http/HttpServletResponse;
1 4 3 protocol Ljava/lang/String;
2 4 4 msg Ljava/lang/String;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
protected long getLastModified(jakarta.servlet.http.HttpServletRequest);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;)J
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc -1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljakarta/servlet/http/HttpServlet;
0 1 1 req Ljakarta/servlet/http/HttpServletRequest;
MethodParameters:
Name Flags
req
protected void doHead(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new jakarta.servlet.http.NoBodyResponse
dup
aload 2
invokespecial jakarta.servlet.http.NoBodyResponse.<init>:(Ljakarta/servlet/http/HttpServletResponse;)V
astore 3
start local 3 1: aload 0
aload 1
aload 3
invokevirtual jakarta.servlet.http.HttpServlet.doGet:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
2: aload 3
invokevirtual jakarta.servlet.http.NoBodyResponse.setContentLength:()V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljakarta/servlet/http/HttpServlet;
0 4 1 req Ljakarta/servlet/http/HttpServletRequest;
0 4 2 resp Ljakarta/servlet/http/HttpServletResponse;
1 4 3 response Ljakarta/servlet/http/NoBodyResponse;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void doPost(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getProtocol:()Ljava/lang/String;
astore 3
start local 3 1: getstatic jakarta.servlet.http.HttpServlet.lStrings:Ljava/util/ResourceBundle;
ldc "http.method_post_not_supported"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 2: aload 2
aload 0
aload 3
invokevirtual jakarta.servlet.http.HttpServlet.getMethodNotSupportedCode:(Ljava/lang/String;)I
aload 4
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(ILjava/lang/String;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljakarta/servlet/http/HttpServlet;
0 4 1 req Ljakarta/servlet/http/HttpServletRequest;
0 4 2 resp Ljakarta/servlet/http/HttpServletResponse;
1 4 3 protocol Ljava/lang/String;
2 4 4 msg Ljava/lang/String;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void doPut(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getProtocol:()Ljava/lang/String;
astore 3
start local 3 1: getstatic jakarta.servlet.http.HttpServlet.lStrings:Ljava/util/ResourceBundle;
ldc "http.method_put_not_supported"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 2: aload 2
aload 0
aload 3
invokevirtual jakarta.servlet.http.HttpServlet.getMethodNotSupportedCode:(Ljava/lang/String;)I
aload 4
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(ILjava/lang/String;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljakarta/servlet/http/HttpServlet;
0 4 1 req Ljakarta/servlet/http/HttpServletRequest;
0 4 2 resp Ljakarta/servlet/http/HttpServletResponse;
1 4 3 protocol Ljava/lang/String;
2 4 4 msg Ljava/lang/String;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void doDelete(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getProtocol:()Ljava/lang/String;
astore 3
start local 3 1: getstatic jakarta.servlet.http.HttpServlet.lStrings:Ljava/util/ResourceBundle;
ldc "http.method_delete_not_supported"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 2: aload 2
aload 0
aload 3
invokevirtual jakarta.servlet.http.HttpServlet.getMethodNotSupportedCode:(Ljava/lang/String;)I
aload 4
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(ILjava/lang/String;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljakarta/servlet/http/HttpServlet;
0 4 1 req Ljakarta/servlet/http/HttpServletRequest;
0 4 2 resp Ljakarta/servlet/http/HttpServletResponse;
1 4 3 protocol Ljava/lang/String;
2 4 4 msg Ljava/lang/String;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
private int getMethodNotSupportedCode(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 2
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
649368564: 1
649369516: 2
default: 4
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 2
ldc "HTTP/0.9"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
goto 4
StackMap locals:
StackMap stack:
2: aload 2
ldc "HTTP/1.0"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
goto 4
3: StackMap locals:
StackMap stack:
sipush 400
ireturn
4: StackMap locals:
StackMap stack:
sipush 405
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljakarta/servlet/http/HttpServlet;
0 5 1 protocol Ljava/lang/String;
MethodParameters:
Name Flags
protocol
private java.lang.reflect.Method[] getAllDeclaredMethods(java.lang.Class<? extends jakarta.servlet.http.HttpServlet>);
descriptor: (Ljava/lang/Class;)[Ljava/lang/reflect/Method;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: goto 12
3: StackMap locals: java.lang.Class java.lang.reflect.Method[]
StackMap stack:
aload 2
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
astore 4
start local 4 4: aload 3
ifnull 10
aload 3
arraylength
ifle 10
5: aload 3
astore 5
start local 5 6: aload 4
arraylength
aload 5
arraylength
iadd
anewarray java.lang.reflect.Method
astore 3
7: aload 4
iconst_0
aload 3
iconst_0
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 5
iconst_0
aload 3
aload 4
arraylength
aload 5
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 5 9: goto 11
10: StackMap locals: java.lang.reflect.Method[]
StackMap stack:
aload 4
astore 3
11: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 2
end local 4 12: StackMap locals:
StackMap stack:
aload 2
ldc Ljakarta/servlet/http/HttpServlet;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 3
13: aload 3
ifnull 14
aload 3
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
anewarray java.lang.reflect.Method
StackMap locals:
StackMap stack: java.lang.reflect.Method[]
15: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljakarta/servlet/http/HttpServlet;
0 16 1 c Ljava/lang/Class<+Ljakarta/servlet/http/HttpServlet;>;
1 16 2 clazz Ljava/lang/Class<*>;
2 16 3 allMethods [Ljava/lang/reflect/Method;
4 12 4 thisMethods [Ljava/lang/reflect/Method;
6 9 5 subClassMethods [Ljava/lang/reflect/Method;
Signature: (Ljava/lang/Class<+Ljakarta/servlet/http/HttpServlet;>;)[Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
c
protected void doOptions(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual jakarta.servlet.http.HttpServlet.getAllDeclaredMethods:(Ljava/lang/Class;)[Ljava/lang/reflect/Method;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: iconst_0
istore 7
start local 7 5: iconst_0
istore 8
start local 8 6: iconst_1
istore 9
start local 9 7: iconst_1
istore 10
start local 10 8: iconst_0
istore 11
start local 11 9: goto 24
10: StackMap locals: jakarta.servlet.http.HttpServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.reflect.Method[] int int int int int int int int
StackMap stack:
aload 3
iload 11
aaload
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 12
start local 12 11: aload 12
ldc "doGet"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
12: iconst_1
istore 4
13: iconst_1
istore 5
14: goto 23
StackMap locals: java.lang.String
StackMap stack:
15: aload 12
ldc "doPost"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
16: iconst_1
istore 6
17: goto 23
StackMap locals:
StackMap stack:
18: aload 12
ldc "doPut"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
19: iconst_1
istore 7
20: goto 23
StackMap locals:
StackMap stack:
21: aload 12
ldc "doDelete"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
22: iconst_1
istore 8
end local 12 23: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
24: iload 11
aload 3
arraylength
if_icmplt 10
end local 11 25: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 11
start local 11 26: iload 4
ifeq 28
27: aload 11
ldc "GET"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
28: StackMap locals: jakarta.servlet.http.HttpServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.reflect.Method[] int int int int int int int java.lang.StringBuilder
StackMap stack:
iload 5
ifeq 32
29: aload 11
invokevirtual java.lang.StringBuilder.length:()I
ifle 31
30: aload 11
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
31: StackMap locals:
StackMap stack:
aload 11
ldc "HEAD"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
32: StackMap locals:
StackMap stack:
iload 6
ifeq 36
33: aload 11
invokevirtual java.lang.StringBuilder.length:()I
ifle 35
34: aload 11
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
35: StackMap locals:
StackMap stack:
aload 11
ldc "POST"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
36: StackMap locals:
StackMap stack:
iload 7
ifeq 40
37: aload 11
invokevirtual java.lang.StringBuilder.length:()I
ifle 39
38: aload 11
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
39: StackMap locals:
StackMap stack:
aload 11
ldc "PUT"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
40: StackMap locals:
StackMap stack:
iload 8
ifeq 44
41: aload 11
invokevirtual java.lang.StringBuilder.length:()I
ifle 43
42: aload 11
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
43: StackMap locals:
StackMap stack:
aload 11
ldc "DELETE"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
44: StackMap locals:
StackMap stack:
iload 9
ifeq 48
45: aload 11
invokevirtual java.lang.StringBuilder.length:()I
ifle 47
46: aload 11
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
47: StackMap locals:
StackMap stack:
aload 11
ldc "TRACE"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
48: StackMap locals:
StackMap stack:
iload 10
ifeq 52
49: aload 11
invokevirtual java.lang.StringBuilder.length:()I
ifle 51
50: aload 11
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
51: StackMap locals:
StackMap stack:
aload 11
ldc "OPTIONS"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
52: StackMap locals:
StackMap stack:
aload 2
ldc "Allow"
aload 11
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface jakarta.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
53: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 54 0 this Ljakarta/servlet/http/HttpServlet;
0 54 1 req Ljakarta/servlet/http/HttpServletRequest;
0 54 2 resp Ljakarta/servlet/http/HttpServletResponse;
1 54 3 methods [Ljava/lang/reflect/Method;
2 54 4 ALLOW_GET Z
3 54 5 ALLOW_HEAD Z
4 54 6 ALLOW_POST Z
5 54 7 ALLOW_PUT Z
6 54 8 ALLOW_DELETE Z
7 54 9 ALLOW_TRACE Z
8 54 10 ALLOW_OPTIONS Z
9 25 11 i I
11 23 12 methodName Ljava/lang/String;
26 54 11 allow Ljava/lang/StringBuilder;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void doTrace(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: ldc "\r\n"
astore 4
start local 4 1: new java.lang.StringBuilder
dup
ldc "TRACE "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getProtocol:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: astore 5
start local 5 4: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeaderNames:()Ljava/util/Enumeration;
astore 6
start local 6 5: goto 8
6: StackMap locals: jakarta.servlet.http.HttpServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse top java.lang.String java.lang.StringBuilder java.util.Enumeration
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 7: aload 5
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
aload 7
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 7 8: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 6
9: aload 5
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: aload 5
invokevirtual java.lang.StringBuilder.length:()I
istore 3
start local 3 11: aload 2
ldc "message/http"
invokeinterface jakarta.servlet.http.HttpServletResponse.setContentType:(Ljava/lang/String;)V
12: aload 2
iload 3
invokeinterface jakarta.servlet.http.HttpServletResponse.setContentLength:(I)V
13: aload 2
invokeinterface jakarta.servlet.http.HttpServletResponse.getOutputStream:()Ljakarta/servlet/ServletOutputStream;
astore 7
start local 7 14: aload 7
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual jakarta.servlet.ServletOutputStream.print:(Ljava/lang/String;)V
15: return
end local 7 end local 6 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 16 0 this Ljakarta/servlet/http/HttpServlet;
0 16 1 req Ljakarta/servlet/http/HttpServletRequest;
0 16 2 resp Ljakarta/servlet/http/HttpServletResponse;
11 16 3 responseLength I
1 16 4 CRLF Ljava/lang/String;
4 16 5 buffer Ljava/lang/StringBuilder;
5 16 6 reqHeaderEnum Ljava/util/Enumeration<Ljava/lang/String;>;
7 8 7 headerName Ljava/lang/String;
14 16 7 out Ljakarta/servlet/ServletOutputStream;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void service(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getMethod:()Ljava/lang/String;
astore 3
start local 3 1: aload 3
ldc "GET"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
2: aload 0
aload 1
invokevirtual jakarta.servlet.http.HttpServlet.getLastModified:(Ljakarta/servlet/http/HttpServletRequest;)J
lstore 4
start local 4 3: lload 4
ldc -1
lcmp
ifne 6
4: aload 0
aload 1
aload 2
invokevirtual jakarta.servlet.http.HttpServlet.doGet:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
5: goto 38
6: StackMap locals: java.lang.String long
StackMap stack:
aload 1
ldc "If-Modified-Since"
invokeinterface jakarta.servlet.http.HttpServletRequest.getDateHeader:(Ljava/lang/String;)J
lstore 6
start local 6 7: lload 6
lload 4
lcmp
ifge 11
8: aload 0
aload 2
lload 4
invokevirtual jakarta.servlet.http.HttpServlet.maybeSetLastModified:(Ljakarta/servlet/http/HttpServletResponse;J)V
9: aload 0
aload 1
aload 2
invokevirtual jakarta.servlet.http.HttpServlet.doGet:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
10: goto 38
11: StackMap locals: long
StackMap stack:
aload 2
sipush 304
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
end local 6 end local 4 12: goto 38
StackMap locals:
StackMap stack:
13: aload 3
ldc "HEAD"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
14: aload 0
aload 1
invokevirtual jakarta.servlet.http.HttpServlet.getLastModified:(Ljakarta/servlet/http/HttpServletRequest;)J
lstore 4
start local 4 15: aload 0
aload 2
lload 4
invokevirtual jakarta.servlet.http.HttpServlet.maybeSetLastModified:(Ljakarta/servlet/http/HttpServletResponse;J)V
16: aload 0
aload 1
aload 2
invokevirtual jakarta.servlet.http.HttpServlet.doHead:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
end local 4 17: goto 38
StackMap locals:
StackMap stack:
18: aload 3
ldc "POST"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
19: aload 0
aload 1
aload 2
invokevirtual jakarta.servlet.http.HttpServlet.doPost:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
20: goto 38
StackMap locals:
StackMap stack:
21: aload 3
ldc "PUT"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
22: aload 0
aload 1
aload 2
invokevirtual jakarta.servlet.http.HttpServlet.doPut:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
23: goto 38
StackMap locals:
StackMap stack:
24: aload 3
ldc "DELETE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
25: aload 0
aload 1
aload 2
invokevirtual jakarta.servlet.http.HttpServlet.doDelete:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
26: goto 38
StackMap locals:
StackMap stack:
27: aload 3
ldc "OPTIONS"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 30
28: aload 0
aload 1
aload 2
invokevirtual jakarta.servlet.http.HttpServlet.doOptions:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
29: goto 38
StackMap locals:
StackMap stack:
30: aload 3
ldc "TRACE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 33
31: aload 0
aload 1
aload 2
invokevirtual jakarta.servlet.http.HttpServlet.doTrace:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
32: goto 38
33: StackMap locals:
StackMap stack:
getstatic jakarta.servlet.http.HttpServlet.lStrings:Ljava/util/ResourceBundle;
ldc "http.method_not_implemented"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 34: iconst_1
anewarray java.lang.Object
astore 5
start local 5 35: aload 5
iconst_0
aload 3
aastore
36: aload 4
aload 5
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 4
37: aload 2
sipush 501
aload 4
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(ILjava/lang/String;)V
end local 5 end local 4 38: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Ljakarta/servlet/http/HttpServlet;
0 39 1 req Ljakarta/servlet/http/HttpServletRequest;
0 39 2 resp Ljakarta/servlet/http/HttpServletResponse;
1 39 3 method Ljava/lang/String;
3 12 4 lastModified J
7 12 6 ifModifiedSince J
15 17 4 lastModified J
34 38 4 errMsg Ljava/lang/String;
35 38 5 errArgs [Ljava/lang/Object;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
private void maybeSetLastModified(jakarta.servlet.http.HttpServletResponse, long);
descriptor: (Ljakarta/servlet/http/HttpServletResponse;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "Last-Modified"
invokeinterface jakarta.servlet.http.HttpServletResponse.containsHeader:(Ljava/lang/String;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
iflt 4
3: aload 1
ldc "Last-Modified"
lload 2
invokeinterface jakarta.servlet.http.HttpServletResponse.setDateHeader:(Ljava/lang/String;J)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljakarta/servlet/http/HttpServlet;
0 5 1 resp Ljakarta/servlet/http/HttpServletResponse;
0 5 2 lastModified J
MethodParameters:
Name Flags
resp
lastModified
public void service(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof jakarta.servlet.http.HttpServletRequest
ifeq 1
aload 2
instanceof jakarta.servlet.http.HttpServletResponse
ifne 2
1: StackMap locals:
StackMap stack:
new jakarta.servlet.ServletException
dup
ldc "non-HTTP request or response"
invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
checkcast jakarta.servlet.http.HttpServletRequest
astore 3
start local 3 3: aload 2
checkcast jakarta.servlet.http.HttpServletResponse
astore 4
start local 4 4: aload 0
aload 3
aload 4
invokevirtual jakarta.servlet.http.HttpServlet.service:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljakarta/servlet/http/HttpServlet;
0 6 1 req Ljakarta/servlet/ServletRequest;
0 6 2 res Ljakarta/servlet/ServletResponse;
3 6 3 request Ljakarta/servlet/http/HttpServletRequest;
4 6 4 response Ljakarta/servlet/http/HttpServletResponse;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
res
}
SourceFile: "HttpServlet.java"