如何从源代码中找出具体的jsp技术?

时间:2011-01-22 04:30:41

标签: java jsp servlets

我目前正在“评估”JSP应用程序。我不是jsp专家,我在jsp和jsf开发方面有一些经验。我怀疑这个应用程序的技术是在非常古老的j2ee。无论如何,从源代码中找出详细的版本,技术或平台?或者大概这个应用程序的jsp版本有多大?以下是一些ui代码。请看一下,我发现与当前的jsp和jsf平台相比,这是非常复杂的。

<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>

1 个答案:

答案 0 :(得分:3)

你所面对的确是一个bad design。所有HTML都必须放在JSP文件中 plain 。这些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。无论何时,只要有问题的servlet容器支持它,就可以将它重新声明为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。