Java 无法注册ServletRunner在web.xml中没有映射的servlet?
我正在使用com.meterware.servletunit.ServletRunner初始化我的一个servlet。 我尝试使用下一种方法:Java 无法注册ServletRunner在web.xml中没有映射的servlet?,java,unit-testing,servlets,http-unit,Java,Unit Testing,Servlets,Http Unit,我正在使用com.meterware.servletunit.ServletRunner初始化我的一个servlet。 我尝试使用下一种方法: ServletRunner.registerServlet(String resourceName, String servletClassName) 据我所知,resourceName是servlet映射,比如说/myservlet/*等等 但问题是这个servlet在web.xml文件中没有映射,应该在启动时初始化。我需要在JUnit中初始化这个s
ServletRunner.registerServlet(String resourceName, String servletClassName)
据我所知,resourceName是servlet映射,比如说/myservlet/*等等
但问题是这个servlet在web.xml文件中没有映射,应该在启动时初始化。我需要在JUnit中初始化这个servlet。我该怎么做呢?您可以简单地执行以下操作,它应该可以正常工作 HelloAppEngine是我的servlet类
@Test
public void doGetWritesResponse() throws Exception {
ServletRunner sr = new ServletRunner();
sr.registerServlet("/hello", HelloAppEngine.class.getName());
WebClient wc = sr.newClient();
WebResponse response = wc.getResponse(http://localhost/hello");
assertEquals("content type", "text/plain", response.getContentType());
assertEquals("response text is ", "Hello app Engine", response.getText());
}
HelloAppEngine的源代码如下
@WebServlet(name = "HelloAppEngine", value = "/hello")
public class HelloAppEngine extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse
response) throws IOException {
response.setContentType("text/plain");
response.getWriter().print("Hello app Engine");
}
}
你可能想提醒Russell Gold你的问题。