2011-01-22 27 views
1

我目前正在評估一個JSP應用程序。我不是jsp專家,我只有jsf開發方面的一些經驗。我懷疑這個應用程序的技術是在非常老的j2ee。無論如何要從源代碼中找出詳細的版本,技術或平臺嗎?或者大概幾歲的jsp版本是這個應用程序?以下是一些ui代碼。請看一下,我發現它與當前的jsp和jsf平臺相比是非常複雜的。如何從源代碼中找出具體的jsp技術?

<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>"); 

謝謝大家!

更新:這裏是我的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> 

回答

3

你面對什麼確實是bad design。所有這些HTML必須在JSP文件中放置明文。那些bean只是由一個servlet準備的,或者最終由<jsp:useBean>和EL訪問(那些${}東西)。流量控制必須由JSTL taglib完成。

至於具體的問題,JSP版本基本上定義在web.xml的根聲明中,它必須指明Servlet版本。 JSP版本與Servlet版本相結合。下面是一個概述:

 
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) 

更新:根據您的編輯,這顯然Servlet 2.3的。不過要知道,只要有問題的servletcontainer支持它,你就可以重新聲明爲Servlet 2.4或更高版本。如果它是例如Tomcat 5.5,那麼您可以將其重新聲明爲Servlet 2.4並使用JSP 2.0。或者,如果它是例如Tomcat 6.0,那麼Servlet 2.5/JSP 2.1。或者使用Servlet 3.0/JSP 2.2的Tomcat 7.0。

+0

謝謝你的回覆。這是「http://java.sun.com/dtd/web-app_2_3.dtd」你的意思嗎? – Jack 2011-01-22 04:46:12