在我的项目文件夹中,我们有2个ContextPath/WEB-INF/Classes/*.class名称为App1.class和的java文件App2.class
如果我想运行App1.class,我只需要在浏览器中触发URL.
http://localhost:8080/Mapping/App1
Run Code Online (Sandbox Code Playgroud)
同样,如果要触发App2.class,请使用以下链接
http://localhost:8080/Mapping/App2
Run Code Online (Sandbox Code Playgroud)
我想触发App2的App1,意味着如果触发App1在浏览器对应的URL,这将是触发App2.
我也不想做任何回应.
我怎样才能做到这一点.
谁能帮我.
谢谢.
我想从App1触发App2,意味着如果你在浏览器中触发带有相应URL的App1,它将触发App2.
在Web应用程序中考虑App1并App2配置为servlet Mapping; 你可以利用a RequestDispatcher来forward()满足要求App2.这将发生在服务器端,即浏览器将收到响应,就好像它来自App1.
if (isForwardReqd()) {
RequestDispatcher rd = request.getRequestDispatcher("App2");
rd.forward(request, response);
}
Run Code Online (Sandbox Code Playgroud)
请注意,App1在做之前一定不要做出回应forward(),否则你会得到一个IllegalStateException.
参考:http :
//docs.oracle.com/javaee/7/api/javax/servlet/RequestDispatcher.html
定义一个对象,该对象接收来自客户端的请求,并将它们发送到服务器上的任何资源(例如servlet,HTML文件或JSP文件).