JUnitѧϰ±Ê¼Ç16 ÓÃJSPºÍtaglib½øÐе¥Ôª²âÊÔ3
ÓÃmock objects¶Ôtaglib½øÐе¥Ôª²âÊÔ ÒòΪJSP²»ÊÇ´¿´âµÄjava´úÂ룬ËùÒÔ£¬Ê¹ÓÃmock½øÐвâÊÔÊÇÐв»Í¨µÄ£¬µ«ÊÇ£¬taglibÈ´ÊÇ´¿´âµÄjava´úÂ룬¿ÉÒÔ²âÊÔ£¬µ«ÊÇËüÒ²ÓÐÂé·³µÄµØ·½£¬ÎÒÃÇҪΪ³éÏóµÄjavaÀàµÄPageContext´´½¨mocks¡£ ÔÚÇ°Ãæ£¬ÎÒÃÇÔøÑ§Ï°ÁËʹÓÃEasyMockºÍDynaMockµÄ¿ò¼ÜÀ´´´½¨mock£¬µ«ÊÇ£¬ËûÃÇʹÓõÄÊÇDynamic ProxyÌØÐÔ£¬ËûÃÇÖ»ÄÜΪ½Ó¿Ú²úÉú´úÀí£¬²»ÄÜÓÃÓÚÀà¡£Õâ´Î£¬ÎÒÃÇʹÓÃMockMaker¡£ °²×°²å¼þµÄµØÖ·ÊÇhttp://mockmaker.org/ °²×°µÄ·½·¨¼òµ¥£¬Google£¡ÏÂÃæ½öѧϰһÏÂÓ÷¨¡£ ÔÚÒªmockµÄÀàÉÏÓÒ¼ü£¬Ñ¡ÔñMockMaker—>select package ÕâÑù¾ÍÔÚÄãÑ¡ÔñµÄλÖÃÉú³ÉÁËmock³ÌÐò¡£ ÏÖÔÚÈÃÎÒÃÇΪDynaPropertiesTagÀàдһ¸ömock²âÊÔ³ÌÐò¡£ package junitbook.pages;
import junit.framework.TestCase;
import org.apache.commons.beanutils.DynaBean;
import org.apache.commons.beanutils.DynaProperty;
import org.apache.commons.beanutils.BasicDynaClass;
import javax.servlet.jsp.tagext.Tag;
public class TestDynaPropertiesMO extends TestCase
{
private DynaPropertiesTag tag;
private MockPageContext mockPageContext;
private DynaBean createDynaBean() throws Exception
{
DynaProperty[] props = new DynaProperty[] {
new DynaProperty("id", String.class),
new DynaProperty("responsetime", Long.class)
};
BasicDynaClass dynaClass = new BasicDynaClass("requesttime",
null, props);
DynaBean bean = dynaClass.newInstance();
bean.set("id", "12345");
bean.set("responsetime", new Long(500));
return bean;
}
protected void setUp()
{
tag = new DynaPropertiesTag();
mockPageContext = new MockPageContext();
tag.setPageContext(mockPageContext);
}
public void testDoStartTag() throws Exception
{
DynaBean bean = createDynaBean();
mockPageContext.setupFindAttribute(bean);
mockPageContext.addExpectedFindAttributeValues("item");
mockPageContext.addExpectedSetAttributeStringObjectValues(
Ïà¹ØÎĵµ£º
°ÑÄÇЩÏÞÖÆ·ÃÎʵÄ×ÊÔ´£¨±ÈÈç˵jspÔ´´úÂ룩·Åµ½WebÓ¦ÓõÄWEB-INFĿ¼Ï£¬¶ÔÓÚ/web-INF/¼°Æä×ÓĿ¼£¬²»ÔÊÐíÖ±½ÓµÄ¹«¹²·ÃÎÊ£¬ËùÒԾͿÉÒÔÆðµ½±£»¤ÕâЩ´úÂëδ¾ÊÚȨµÄ·ÃÎʺͿúÊÓ£¬¸üºÃµÄ±£»¤ÁËÔ´´úÂë¡£
ͨ³£JSP¿ª·¢ÈËÔ±»á°ÑËûÃǵÄÒ³ÃæÎļþ´æ·ÅÔÚWebÓ¦ÓÃÏàÓ¦µÄ×ÓĿ¼Ï¡£ÕâÖÖ·½·¨µÄÎÊÌâÊÇ ......
Ò».request¶ÔÏó
¿Í»§¶ËµÄÇëÇóÐÅÏ¢±»·â×°ÔÚrequest¶ÔÏóÖУ¬Í¨¹ýËü²ÅÄÜÁ˽⵽¿Í»§µÄÐèÇó£¬È»ºó×ö³öÏìÓ¦¡£ËüÊÇHttpServletRequestÀàµÄʵÀý¡£
µ±request¶ÔÏó»ñÈ¡Óû§Ìá½»µÄºº×Ö×Ö·ûʱ£¬»á²úÉúÂÒÂ룬ÓÉÏÂÃæµÄ·½·¨¿ÉÒÔ½â¾ö£º
¡¡¡¡ Sting s2 = new String(s1.getBytes("iso8859-1"),"GB2312") ......
setAttribute()ÊÇÓÃÓÚ·þÎñÆ÷¶ËÉèÖÃÊôÐÔÏò¿Í»§¶Ë·¢Ë͸ÃÊôÐÔ£¬ÔÚ¿Í»§¶Ëͨ¹ýgetAttribute£¨£©»ñµÃÊôÐÔ¡£setAttribute()Ò²ÄÜ´«µÝ¶ÔÏó¡£
setParameter()Êǿͻ§¶ËÏò·þÎñÆ÷¶Ë·¢ËÍÊôÐÔ£¬Ö»ÄÜ´«×Ö·û£¬ÓÃÓÚget/postµÄÊýÖµ´«µÝ£¬ÔÚ·þÎñ¶ËÓÃgetParameter£¨£©»ñÈ¡£¬Ò³ÃæÖÐÓÐforward´Ó¶¨ÏòÒ³ÃæµÄµØÖ·ÖеIJÎÊýÒ²ÄÜÓÃgetParameter£¨£©»ñÈ¡¡ ......
ÒýÓÃ×Ô: http://hi.baidu.com/tickwudi/blog/item/1c0ddb6dd4e821fc4316949b.html
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort ......
JSPÓëServletsµÄÇø±ð
JSPºÍSERVLETµ½µ×ÔÚÓ¦ÓÃÉÏÓÐÊ²Ã´Çø±ð£¬ºÜ¶àÈ˸㲻Çå³þ¡£ÎÒÀ´ºú³¶¼¸¾ä°É¡£¼òµ¥µÄ˵£¬SUNÊ×ÏÈ·¢Õ¹³öSERVLET£¬Æä¹¦ÄܱȽÏÇ¿¾¢£¬ÌåϵÉè¼ÆÒ²ºÜÏȽø£¬Ö»ÊÇ£¬ËüÊä³öHTMLÓï¾ä»¹ÊDzÉÓÃÁËÀϵÄCGI·½Ê½£¬ÊÇÒ»¾äÒ»¾äÊä³ ......