Reputation: 177
I am currently "assessing" a JSP application. I am no jsp expert, i have some experience in jsp with jsf development only. I suspected that the technology of this application was in very old j2ee. Is there anyway to find out the detail version, technology, or platform from source code? Or roughly how old of the jsp version is this application? For following is some the ui code. Please take a look, i find it that it's ridiculously complicated compared with current jsp and jsf platform.
<jsp:include page='header.jsp'></jsp:include>
<%
StringBuffer htmlBuffer = new StringBuffer();
// get viewbean interface and cast it to view bean object accordingly
com.nihb.mtrd.bean.AdminVB vb =
(com.nihb.mtrd.bean.AdminVB)session.getAttribute(com.nihb.mtrd.bean.AbstractBean.VIEW_BEAN);
//display message if there is any
String message = vb.getMessage();
if(message == null){
message = new String("");
}
htmlBuffer.append("<p><b><font face='Verdana' size='1' color='#cc0000'>");
htmlBuffer.append( message );
htmlBuffer.append("</font></b></p>");
htmlBuffer.append("<div align='center'>");
htmlBuffer.append("<center>");
htmlBuffer.append("<table border='3' cellspacing='0' style='border-collapse: collapse' width='800 ' cellpadding='0' id='AutoNumber7' height='9' bgcolor='#E8F3FF' bordercolor='#E8F3FF'>");
htmlBuffer.append("<TR><td width='800' height='7' colspan='8'>");
htmlBuffer.append("<br>");
if( vb.getIndicator() != 0){
htmlBuffer.append("<a href='MtrdHome.jsp?mysubmit=");
htmlBuffer.append(com.nihb.mtrd.bean.AbstractBean.ACTION_HYPERLINK_CHANGE_PASSWORD);
htmlBuffer.append("' >");
}
htmlBuffer.append("<b><font face='Verdana' size='2'>Change Password</font></b>");
if( vb.getIndicator() != 0){
htmlBuffer.append("</a>");
}
htmlBuffer.append("</td></TR>");
thanks all!
Update: here are the top lines of my web.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp">
<!-- snip -->
</web-app>
Upvotes: 1
Views: 762
Reputation: 1109655
What you're facing is indeed a bad design. All that HTML has got to be placed plain in the JSP file. Those beans has just to be prepared by a servlet or eventually <jsp:useBean>
and accessed by EL (those ${}
things). The flow control has got to be done by JSTL taglib.
As to the concrete question, the JSP version is basically definied in root declaration of web.xml
which must indicate the Servlet version. The JSP version is coupled to the Servlet version. Here's an overview:
Servlet JSP J2EE/Java EE (releasedate) 3.0 2.2 Java EE 6 (Dec 2009) 2.5 2.1 Java EE 5 (May 2006) 2.4 2.0 J2EE 1.4 (Nov 2003) 2.3 1.2 J2EE 1.3 (Sep 2001)
Update: as per your edit, that's clearly Servlet 2.3. It's however good to know that you can redeclare it as Servlet 2.4 or higher whenever the servletcontainer in question supports it. If it is for example Tomcat 5.5, then you can redeclare it as Servlet 2.4 and utilize JSP 2.0. Or if it is for example Tomcat 6.0, then Servlet 2.5/JSP 2.1. Or Tomcat 7.0 with Servlet 3.0/JSP 2.2.
Upvotes: 3