class javax/servlet/ServletResponse
getContentType
 ()Ljava/lang/String;
 ()L0java/lang/String;
getLocale
 ()Ljava/util/Locale;
 ()L1java/util/Locale;
getOutputStream
 ()Ljavax/servlet/ServletOutputStream;
 ()L1javax/servlet/ServletOutputStream;
