By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,064 Members | 1,542 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,064 IT Pros & Developers. It's quick & easy.

is it possible to combine jsp and php?

P: n/a
here's my problem - i run a web site with a java servlet backend
(apache/tomcat/linux/mysql), and i want to add some php content to my jsp
pages. why would i want to do something like this? i want to add some
third party blogging software that's written in php. it would be easy to
have two entirely different sets of pages - but i don't want a MacDLT
solution. i'd like to be able to have blog content throughout the website.

is there some standard way of doing this?

daniel
Jul 17 '05 #1
Share this Question
Share on Google+
7 Replies


P: n/a
Blah Blah wrote:
here's my problem - i run a web site with a java servlet backend
(apache/tomcat/linux/mysql), and i want to add some php content to my jsp
pages. why would i want to do something like this? i want to add some
third party blogging software that's written in php. it would be easy to
have two entirely different sets of pages - but i don't want a MacDLT
solution. i'd like to be able to have blog content throughout the website.

is there some standard way of doing this?

daniel


Apache 2.0 allows pipelining of module processing. unfortunately, I know
nothing about if there is a module (for apache2) which will run a JSP
processor.

I would be more inclined to use a [virtual?] "remote" method. So from
the PHP script, you can do something like
$fileResource = fopen("http://localhost/tomcat/fooapp/foo.jsp","r");
In this case, your JSP is processed first and the interpreted output is
accessible from PHP.

You can go the other way and do a remote include (doing whatever it is
you need to do in jsp) to access the PHP script via HTTP instead of the
local filesystem.
Jul 17 '05 #2

P: n/a
Terence wrote:
Blah Blah wrote:
here's my problem - i run a web site with a java servlet backend
(apache/tomcat/linux/mysql), and i want to add some php content to my jsp
pages. why would i want to do something like this? i want to add some
third party blogging software that's written in php. it would be easy to
have two entirely different sets of pages - but i don't want a MacDLT
solution. i'd like to be able to have blog content throughout the
website.

is there some standard way of doing this?

daniel
Apache 2.0 allows pipelining of module processing. unfortunately, I know
nothing about if there is a module (for apache2) which will run a JSP
processor.

I would be more inclined to use a [virtual?] "remote" method. So from
the PHP script, you can do something like
$fileResource = fopen("http://localhost/tomcat/fooapp/foo.jsp","r");
In this case, your JSP is processed first and the interpreted output is
accessible from PHP.


I think you can simply

include "http://localhost/tomcat/fooapp/foo.jsp";

(never tried it)

You can go the other way and do a remote include (doing whatever it is
you need to do in jsp) to access the PHP script via HTTP instead of the
local filesystem.


Jul 17 '05 #3

P: n/a
"Blah Blah" <bl**@blahblah.com> wrote in message
news:<P5********************@comcast.com>...

here's my problem - i run a web site with a java servlet backend
(apache/tomcat/linux/mysql), and i want to add some php content to my jsp
pages. why would i want to do something like this? i want to add some
third party blogging software that's written in php. it would be easy to
have two entirely different sets of pages - but i don't want a MacDLT
solution. i'd like to be able to have blog content throughout the website.


You have a number of options here...

First of all, note that you, by your own admission, want "to have blog
content throughout the website". Content, not layout. So you can write
some JSP code to read content of the blog directly from the database
that holds it and leave the PHP application in place only for writing
entries/comments.

Option number two: deploy the PHP-based blog in a separate frame.

Option number three: insert PHP-generated content into your JSP pages
as if it were static content. In other words, you need a JSP analog
of

readfile ('http://yoursite.com/yourpath/yourscript.php');

This one is likely to be somewhat slow though... There may be issues
with hyperlinks/references, too...

Option number four: wait until PHP integrates with Java natively
(which is in works right now) and stop using JSP altogether.

Cheers,
NC
Jul 17 '05 #4

P: n/a
sir, you are a gentleman and a scholar.
using "include" appears to make everything work.
although it introduces an interesting wrinkle - it appears that the way to
organize things this way is to make one php file per jsp file, to include
the jsp files in their respective php files, and then have all of the links
(in the jsp files) point to php files. somewhat circular, but interesting.

you have just saved me a TON of work (where do i send the beer? ;)

another bonus: by processing the jsp files first, tomcat is able to compile
them to bytecode once instead of interpreting them from scratch each time
(if a file changes, tomcat has to recompile them). which raises the php
newbie question: does php do the same thing, and compile php files to
bytecode the first time they're read? or does it interpret them each time?

daniel

"Terence" <tk******@fastmail.fm> wrote in message news:3fbab50f$1@herald...
Terence wrote:
Blah Blah wrote:
here's my problem - i run a web site with a java servlet backend
(apache/tomcat/linux/mysql), and i want to add some php content to my jsp pages. why would i want to do something like this? i want to add some
third party blogging software that's written in php. it would be easy to have two entirely different sets of pages - but i don't want a MacDLT
solution. i'd like to be able to have blog content throughout the
website.

is there some standard way of doing this?

daniel


Apache 2.0 allows pipelining of module processing. unfortunately, I know
nothing about if there is a module (for apache2) which will run a JSP
processor.

I would be more inclined to use a [virtual?] "remote" method. So from
the PHP script, you can do something like
$fileResource = fopen("http://localhost/tomcat/fooapp/foo.jsp","r");
In this case, your JSP is processed first and the interpreted output is
accessible from PHP.


I think you can simply

include "http://localhost/tomcat/fooapp/foo.jsp";

(never tried it)

You can go the other way and do a remote include (doing whatever it is
you need to do in jsp) to access the PHP script via HTTP instead of the
local filesystem.

Jul 17 '05 #5

P: n/a
Blah Blah wrote:
sir, you are a gentleman and a scholar.
using "include" appears to make everything work.
although it introduces an interesting wrinkle - it appears that the way to
organize things this way is to make one php file per jsp file, to include
the jsp files in their respective php files, and then have all of the links
(in the jsp files) point to php files. somewhat circular, but interesting.

you have just saved me a TON of work (where do i send the beer? ;)

another bonus: by processing the jsp files first, tomcat is able to compile
them to bytecode once instead of interpreting them from scratch each time
(if a file changes, tomcat has to recompile them). which raises the php
newbie question: does php do the same thing, and compile php files to
bytecode the first time they're read? or does it interpret them each time?

The short answer is no.

the real answer is, yes, only if you employ a pre-compiler. There are a
range of pre-compilers avialble which use resultant binaries (none of
this pussy pseudo-code crap ;)) after the first access (which compiles
on demand). Many people get away with just using the interpreter as-is
in high-performance environments.

You will find that PHP gives you a lot of choice in many many ways.
This is one of the reasons why it is so popular even without marketing.
I'm glad include "http://..." is working for you, it relies on a
directive in the php.ini file to allow remote access in local file
functions. Obviously this is on by default :)

daniel

"Terence" <tk******@fastmail.fm> wrote in message news:3fbab50f$1@herald...
Terence wrote:

Blah Blah wrote:
here's my problem - i run a web site with a java servlet backend
(apache/tomcat/linux/mysql), and i want to add some php content to my
jsp
pages. why would i want to do something like this? i want to add some
third party blogging software that's written in php. it would be easy
to
have two entirely different sets of pages - but i don't want a MacDLT
solution. i'd like to be able to have blog content throughout the
website.

is there some standard way of doing this?

daniel

Apache 2.0 allows pipelining of module processing. unfortunately, I know
nothing about if there is a module (for apache2) which will run a JSP
processor.

I would be more inclined to use a [virtual?] "remote" method. So from
the PHP script, you can do something like
$fileResource = fopen("http://localhost/tomcat/fooapp/foo.jsp","r");
In this case, your JSP is processed first and the interpreted output is
accessible from PHP.


I think you can simply

include "http://localhost/tomcat/fooapp/foo.jsp";

(never tried it)

You can go the other way and do a remote include (doing whatever it is
you need to do in jsp) to access the PHP script via HTTP instead of the
local filesystem.



Jul 17 '05 #6

P: n/a
looks like i broke out the champagne a little too early.
there's one key problem: submitting a form won't go to the servlet. so,
given the following html:

<FORM name="logonForm" action="/myApp/LogonSubmit.do" method="post">
User Name:<INPUT type="text" name="userName" /><br />
Password:<INPUT type="password" name="password" /><br />
<INPUT type="submit" value="Submit" />
</FORM>

it wants to go to http://localhost/myApp/LogonSubmit.do, not
http://localhost:8080/myApp/LogonSubmit.do.
is there any way around this?

if we can figure out a solution, this would allow me to mix and match php
and jsp in one file. otherwise, i'm going to have to go with a somewhat more
painful approach...

daniel
I think you can simply

include "http://localhost/tomcat/fooapp/foo.jsp";

(never tried it)

You can go the other way and do a remote include (doing whatever it is
you need to do in jsp) to access the PHP script via HTTP instead of the
local filesystem.

Jul 17 '05 #7

P: n/a
never mind - it looks like my problem is that (being a struts user) i was
using special jsp tags which were assuming things. all i had to do was take
out the tags and manually type in the code they output, with
action="http://www.myhost.com:8080/myApp/LogonSubmit.do".

i'm pretty excited about this.

daniel

"Blah Blah" <bl**@blahblah.com> wrote in message
news:J5********************@comcast.com...
looks like i broke out the champagne a little too early.
there's one key problem: submitting a form won't go to the servlet. so,
given the following html:

<FORM name="logonForm" action="/myApp/LogonSubmit.do" method="post">
User Name:<INPUT type="text" name="userName" /><br />
Password:<INPUT type="password" name="password" /><br />
<INPUT type="submit" value="Submit" />
</FORM>

it wants to go to http://localhost/myApp/LogonSubmit.do, not
http://localhost:8080/myApp/LogonSubmit.do.
is there any way around this?

if we can figure out a solution, this would allow me to mix and match php
and jsp in one file. otherwise, i'm going to have to go with a somewhat more painful approach...

daniel
I think you can simply

include "http://localhost/tomcat/fooapp/foo.jsp";

(never tried it)

You can go the other way and do a remote include (doing whatever it is
you need to do in jsp) to access the PHP script via HTTP instead of the local filesystem.


Jul 17 '05 #8

This discussion thread is closed

Replies have been disabled for this discussion.