我有以下代码
//response.sendRedirect("Cmmdc");
RequestDispatcher requestDispatcher=request.getRequestDispatcher("Cmmdc");
System.out.println(requestDispatcher);--- **NULL**
requestDispatcher.forward(request,response);
我的主要人物:
Server server = new Server(8080);
ServletHandler handler = new ServletHandler();
server.setHandler(handler);
handler.addServletWithMapping(Start.class, "/Start");
handler.addServletWithMapping(Cmmdc.class, "/Cmmdc");
handler.addServletWithMapping(OptiuneServlet.class, "/OptiuneServlet");
handler.addServletWithMapping(Prim.class, "/Prim");
handler.addServletWithMapping(ValidatorCMMDC.class, "/ValidatorCMMDC");
handler.addServletWithMapping(ValidatorPrim.class, "/ValidatorPrim");
System.out.println("Start server jetty embedded");
server.start();
server.join();
我的问题是我应该如何调用cmmdc servlet来返回引用而不是null?
答案 0 :(得分:1)
RequestDispatcher
需要一个ServletContext
(没办法)。
您的设置没有。
不要直接使用ServletHandler
,而是使用ServletContextHandler
。
Server server = new Server(8080);
ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/");
server.setHandler(context);
context.addServlet(Start.class, "/Start");
// etc ...
server.start();
server.join();