溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何測試JSP容器

發(fā)布時間:2021-11-22 10:39:21 來源:億速云 閱讀:134 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)如何測試JSP容器的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

由于上面給出例 復(fù)雜 。一般人很難理解。我也是 ^_^但仔細看我還是自己寫出一個比較簡單的,望大家一起討論。被測試JSP容器

<%@ taglib prefix="html" uri="/WEB-INF/struts-html.tld" %> <%@ taglib prefix="c" uri="/WEB-INF/c-1_0-rt.tld" %> <html:html> <c:if test="${name != pass}"> ${name}  <br> ${pass} <br> <!-- <html:text property="in" ></html:text> --> </c:if> </html:html>

ant直接把他放在 eclipes 工程的根目錄下 build.xml但有有3個參數(shù)要設(shè)置 tomcat.home Tomcat 的地址webapp.path 工程中的根目錄,下面有WEB-INFsrc 原代碼 (到時候JSP會翻譯成.java到這個目錄的 org.apache.JSP.JSP 下)

<project name="Webapp Precompilation" default="all" basedir="."> <!-- tomcat dir --> <property name="tomcat.home" value="D:\Tomcat 5.0"/> <!-- this=..//WEB-INF (in eclipes)  -->   <property name="webapp.path" value=".\WebRoot"/> <!-- src (in eclipes) --> <property name="src" value="./src"/> <target name="jspc"> <taskdef classname="org.apache.jasper.JspC" name="jasper2" > <classpath id="jspc.classpath"> <pathelement location="${java.home}/../lib/tools.jar"/> <fileset dir="${tomcat.home}/bin"> <include name="*.jar"/> </fileset> <fileset dir="${tomcat.home}/server/lib"> <include name="*.jar"/> </fileset> <fileset dir="${tomcat.home}/common/lib"> <include name="*.jar"/> </fileset> </classpath> </taskdef> <jasper2 validateXml="false" uriroot="${webapp.path}" webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml" outputDir="${src}" /> </target> <target name="compile"> <mkdir dir="${webapp.path}/WEB-INF/classes"/> <mkdir dir="${webapp.path}/WEB-INF/lib"/> <javac destdir="${webapp.path}/WEB-INF/classes" optimize="off" debug="on" failonerror="false" srcdir="${src}" excludes="**/*.smap"> <classpath> <pathelement location="${webapp.path}/WEB-INF/classes"/> <fileset dir="${webapp.path}/WEB-INF/lib"> <include name="*.jar"/> </fileset> <pathelement location="${tomcat.home}/common/classes"/> <fileset dir="${tomcat.home}/common/lib"> <include name="*.jar"/> </fileset> <pathelement location="${tomcat.home}/shared/classes"/> <fileset dir="${tomcat.home}/shared/lib"> <include name="*.jar"/> </fileset> <fileset dir="${tomcat.home}/bin"> <include name="*.jar"/> </fileset> </classpath> <include name="**" /> <exclude name="tags/**" /> </javac> </target> <target name="all" depends="jspc,compile"> </target> <target name="cleanup"> <delete> <fileset dir="${webapp.path}/WEB-INF/src"/> <fileset dir="${webapp.path}/WEB-INF/classes/org/apache/jsp"/> </delete> </target> </project>

TEST

package jetty.test.supper;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;  import org.apache.jsp.jsp.MyJsp_jsp;  import com.meterware.httpunit.GetMethodWebRequest;  import com.meterware.httpunit.WebRequest;  import com.meterware.httpunit.WebResponse;  import com.meterware.servletunit.InvocationContext;  import com.meterware.servletunit.ServletRunner;  import com.meterware.servletunit.ServletUnitClient;  import junit.framework.TestCase;  public class JSPCTest extends TestCase{  private InvocationContext ic = null ;  protected void setUp() throws Exception {  ServletRunner sr = new ServletRunner();  // 向環(huán)境中注冊 jsp           sr.registerServlet("HelloWorld", MyJsp_jsp.class.getName());  ServletUnitClient  sc = sr.newClient();  WebRequest request = new GetMethodWebRequest("http://localhost/HelloWorld");  ic = sc.newInvocation(request);  }  public void testJspC() throws Exception{  HttpServletRequest re =  ic .getRequest();  HttpServletResponse rq =  ic.getResponse();  re.setAttribute("name","liukaiyi");  re.setAttribute("pass","123456");  MyJsp_jsp is = (MyJsp_jsp) ic.getServlet();  is._jspService(re,rq);  WebResponse response = ic.getServletResponse();  // 輸出          System.out.println( response.getText() );  }  }

結(jié)果是

<html> liukaiyi  <br> 123456 <br> </html>

感謝各位的閱讀!關(guān)于“如何測試JSP容器”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

jsp
AI