more servlet definitions

This commit is contained in:
Unbit
2013-07-15 07:20:08 +02:00
parent 1393281c74
commit 1cf034881e
2 changed files with 81 additions and 1 deletions
+9 -1
View File
@@ -25,7 +25,7 @@ static int uwsgi_servlet_request(struct wsgi_request *wsgi_req) {
static int uwsgi_servlet_setup() {
uwsgi_log("loading servlet environment...\n");
jclass servlet = uwsgi_jvm_class("CelsiusToFahrenheit");
jclass servlet = uwsgi_jvm_class("org/apache/jasper/servlet/JspServlet");
uwsgi_log("jclass = %p\n", servlet);
jmethodID mid = uwsgi_jvm_get_method_id(servlet, "<init>", "()V");
@@ -33,6 +33,14 @@ static int uwsgi_servlet_setup() {
jobject instance = (*ujvm_env)->NewObject(ujvm_env, servlet, mid);
if (uwsgi_jvm_exception() || !instance) exit(1);
uwsgi_log("done\n");
jclass uwsgi_servlet_config = uwsgi_jvm_class("uWSGIServletConfig");
mid = uwsgi_jvm_get_method_id(uwsgi_servlet_config, "<init>", "()V");
jobject config = (*ujvm_env)->NewObject(ujvm_env, uwsgi_servlet_config, mid);
mid = uwsgi_jvm_get_method_id(servlet, "init", "(Ljavax/servlet/ServletConfig;)V");
uwsgi_jvm_call_object(instance, mid, config );
jclass uwsgi_request = uwsgi_jvm_class("uWSGIServletRequest");
jclass uwsgi_response = uwsgi_jvm_class("uWSGIServletResponse");
+72
View File
@@ -9,6 +9,77 @@ uWSGI Servlet 2.5 Container implementation
*/
class uWSGIServletContext implements ServletContext {
public Object getAttribute(String name) {
System.out.println("uWSGIServletContext getAttribute " + name);
return null;
}
public void log(java.lang.String message, java.lang.Throwable throwable) {
System.out.println("LOG " + message);
}
public String getRealPath(java.lang.String path) {
System.out.println("uWSGIServletContext getRealPath " + path);
return path;
}
public String getServerInfo() {
return "uWSGI";
}
public String getInitParameter(java.lang.String name) {
return null;
}
public Enumeration getInitParameterNames() {
return null;
}
public java.util.Enumeration getAttributeNames() {
System.out.println("uWSGIServletContext getAttributeNames");
return null;
}
public String getServletContextName() {
System.out.println("uWSGIServletContext getServletContextName");
return "/jsp";
}
public void removeAttribute(java.lang.String name) {
}
public void setAttribute(java.lang.String name, java.lang.Object object) {
System.out.println("uWSGIServletContext setAttribute " + name);
}
}
class uWSGIServletConfig implements ServletConfig {
uWSGIServletContext context;
public uWSGIServletConfig() {
this.context = new uWSGIServletContext();
}
public String getInitParameter(String name) {
System.out.println("ServletConfig getInitParameter " + name);
return null;
}
public Enumeration<java.lang.String> getInitParameterNames() {
return null;
}
public ServletContext getServletContext() {
return this.context;
}
public String getServletName() {
return "/jsp";
}
}
class uWSGIServletOutputStream extends ServletOutputStream {
@@ -186,6 +257,7 @@ class uWSGIServletRequest implements HttpServletRequest {
}
public String getPathTranslated() {
System.out.println("getPathTranslated");
return null;
}