在Servlet里有 request.GetParameter("username");
现在需要写一个测试类,来测试该Servlet
所以要在该测试类里给 request 赋初值
现在需要写一个测试类,来测试该Servlet
所以要在该测试类里给 request 赋初值
解决方案 »
- 登录刷新时防止重复提交
- javax.servlet.ServletException: Could not resolve view with name 'Success' in se
- 为啥我的web.xml当中设置了<load-on-startup>2</load-on-startup>,不能够使用
- 有关cookie问题
- struts DownloadAction 下载问题
- 四海天地高薪诚聘Jsp/php软件工程师
- j2se sdk 里不包含javax.servlet包,怎样把tomcat 里的包加进去?
- why my first servlet doesnt work?最简单的问题 高手指点(不用太高)
- 在国内,java用的最多的地方好想也就是jsp,沦落到和asp抢饭碗真是悲哀
- spring+ibatis配置多数据源出错
- 怎么用JSP存取数据库的图片?
- “部署”---相关问题!!大家来讨论讨论。
继承 javax.servlet.http.HttpServletRequestWrapper, 在子类中重新实现 getParameter 方法, 然后在测试类中实例化这个子类, 当作 HttpServletRequest 传给要测试的 Servlet.其实测试 Servlet, 建议使用 Cactus 测试框架: http://jakarta.apache.org/cactus/
if (a==null)
a = "...";
我们公司要求用JUnit来做测试,你的方法还可行吗?to kevincom(木瓜):
好像根本就没有 setParameter("","") 这个方法哦
我是做测试类,你这样能用吗? 就是这个意思:假如我要测Servlet的doPost方法在我的测试类里就要这样:
testDoPost()
{
HttpServletRequest request = null;
HttpServletResponse response = null;
//在此如何给request赋值呢?? doPost(request,response);
}
public class TestRequest implements HttpServletRequest
{
private HashMap parameters = new HashMap();
private HttpSession session = null; public void setParameter(String name, String value)
{
parameters.put(name, value);
} public void setSession(HttpSession session)
{
this.session = session;
}
...
}public class TestResponse implements HttpServletResponse
{
...
}public class TestSession implements HttpSession
{
...
}然后在Test中:
protected testDoPost()
{
TestResponse response = new TestResponse();
TestRequest request = new TestRequest();
TestSession session = new TestSession(); request.setSession(session);
request.setParameter("para1", "value1"); HttpServlet servlet = new YourServlet();
servlet.doPost(request, response);
}
用你的方法在 Servlet 里不修改任何程序可以 request.getParameter(); 吗?
是不是还用在继承类(TestRequest)里覆盖getParameter()呢?
public String getParameter(String name)
{
return parameters.get(name);
}如果要实现String[] getParameters(String name)方法,用HashMap实现不了,要另写代码
好了,谢谢cbhyk()
我回去试试
你可以写一个jsp页里面只有一句话:<a href=".....servlet?username=\"username(变量的值)\"">xxxxx</a>
这样你就可以通过这个连结来进入servlet同时还可以得到变量的值。这里可以传递多个变量
我觉得比较方便