Browse Source

PHP can install and run as a servlet again on Unix.

Still todo: allow access to ext/java functionality from within servlet.
PHP-4.0.5
Sam Ruby 26 years ago
parent
commit
54259250e5
  1. 4
      sapi/servlet/Makefile.in
  2. 18
      sapi/servlet/servlet.java

4
sapi/servlet/Makefile.in

@ -19,8 +19,8 @@ java.c : ../../ext/java/java.c
phpsrvlt.jar : servlet.java ../../ext/java/reflect.java phpsrvlt.jar : servlet.java ../../ext/java/reflect.java
@test -e net || mkdir net @test -e net || mkdir net
@test -e net/php || mkdir net/php @test -e net/php || mkdir net/php
@echo library=sapi>net/php/reflect.properties
@echo library=sapi>net/php/servlet.properties
@echo library=php4>net/php/reflect.properties
@echo library=php4>net/php/servlet.properties
@cp servlet.java net/php @cp servlet.java net/php
@cp ../../ext/java/reflect.java net/php @cp ../../ext/java/reflect.java net/php
javac net/php/reflect.java javac net/php/reflect.java

18
sapi/servlet/servlet.java

@ -106,8 +106,12 @@ public class servlet extends HttpServlet {
{ {
this.request=request; this.request=request;
this.response=response; this.response=response;
String servletPath=request.getServletPath();
String contextPath=getServletContext().getRealPath(servletPath);
send(request.getMethod(), request.getQueryString(), send(request.getMethod(), request.getQueryString(),
request.getPathInfo(), getPathTranslated(),
request.getPathInfo(), contextPath,
request.getContentType(), request.getContentLength(), request.getContentType(), request.getContentLength(),
request.getRemoteUser()); request.getRemoteUser());
@ -123,16 +127,4 @@ public class servlet extends HttpServlet {
super.destroy(); super.destroy();
} }
/******************************************************************/
/* utility function */
/******************************************************************/
String getPathTranslated() {
/* I have no idea why this has to be this hard... */
String servletPath=request.getServletPath();
String contextPath=getServletContext().getRealPath(servletPath);
servletPath=servletPath.replace('/',slash);
contextPath=contextPath.substring(0,contextPath.lastIndexOf(slash));
return contextPath+servletPath;
}
} }
Loading…
Cancel
Save