I have a simple question, but I can't find out the answer. I'm wondering if we can see that a website is built using the Java EE technology, or servlets/JSP. I think it could be possible to look for specials pages from the server (404, wrong parameters, ...) in some cases, but what about the everyday use ?
In fact, I look for a collection of great (or wide used) website using the java technology, and I can't really find a list of these. I'll be very happy if you can help me with these two small questions
-
It's pretty hard to tell from the outside if a web site was created with Java EE or other technology unless the person making it specifically tells you. For example the CTV.ca news site used to have news stories with /servlet/ in the path. That's now gone, but I don't think they've switched to a new system entirely. I think they just got rid of the unnecessary path element.JUST MY correct OPINION– JUST MY correct OPINION2010年06月06日 08:39:32 +00:00Commented Jun 6, 2010 at 8:39
-
Aha! They didn't convert all the paths yet. ctv.ca/servlet/ArticleNews/story/CTVNews/20090811/… tells me that CTV.ca is at the very least based on Java EE.JUST MY correct OPINION– JUST MY correct OPINION2010年06月06日 08:43:14 +00:00Commented Jun 6, 2010 at 8:43
-
You won't get such a list and many Java EE applications are not public. Still, have a look at "most popular j2ee based websites" that your question actually duplicates. Voting to close.Pascal Thivent– Pascal Thivent2010年06月06日 14:54:56 +00:00Commented Jun 6, 2010 at 14:54
3 Answers 3
You can hide it completely so that it's not visible from the URL or the response headers. I at least can tell that Google and Flickr are using a Java backend. Also a lot of banking/financial systems run on it.
For the remnant, just check the portfolios of well-known Java EE based frameworks. E.g. Liferay, IceFaces, Seam
Comments
I don't think there is a bullet proof way to tell what technologies a website that you don't control was built with - any common clues can always be hidden or made to look like something else on purpose.
You can look at the Server header in a HTTP response (Tomcat seems to use "Apache-Coyote/1.1"), it may give you a clue. Keep in mind that the server running the website may be hidden from outside access, with other kind of servers acting as proxies placed in front of it. You cannot be sure which server's header you end up getting.
Personally, I tend to recognize Java web apps from the URLs (*.do = typical Struts, .jsf/.faces = Java Server Faces, ?wicket:interface = Wicket, etc), but again, these are configurable and subject to change. In today's world of REST and pretty URLs, don't bet on this either.
Out of curiosity, why do you need a list of popular websites built with Java?
1 Comment
You can use nmap to detect server type.
Eg: nmap -A -T4 serverhostname
See here: http://nmap.org/book/vscan.html