使用的doGet在碼頭9另一個HTML頁面,我想發送一些數據使用的Javascript服務器:錯誤而轉發到在碼頭9
var logInBtn = new sap.ui.commons.Button({text: "LogIn", press:function(){
// Retrieve the information from the text fields
var oParameters = {
"userIDInput" : sap.ui.getCore().getElementById('userIDInput').getValue(),
"passwordInput" : sap.ui.getCore().getElementById('passwordInput').getValue()
};
var oModel = new sap.ui.model.json.JSONModel();
//console.log(oParameters);
// Post data to the server
oModel.loadData("10.161.34.8:8080", oParameters, true, 'GET');
}
});
然後,我要轉發的當前頁面基於這些數據。我可以收到數據,但我無法轉發該網頁。 這是的servlet我的doGet方法:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//***I have tried the relative address as well***
request.getRequestDispatcher("http://10.161.34.8:8080/UserAccount.html").forward(request, response);
}
這是我處理:
Server server = new Server(8080);
ServletHandler ServHandler = new ServletHandler();
ServHandler.addServletWithMapping(Servlet.class, "/*");
FilterHolder cors = new FilterHolder(CrossOriginFilter.class);
cors.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, "*");
cors.setInitParameter(CrossOriginFilter.ACCESS_CONTROL_ALLOW_ORIGIN_HEADER, "*");
cors.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, "GET,POST,HEAD");
cors.setInitParameter(CrossOriginFilter.ALLOWED_HEADERS_PARAM, "X-Requested-With,Content-Type,Accept,Origin");
cors.setName("cross-origin");
FilterMapping fm = new FilterMapping();
fm.setFilterName("cross-origin");
fm.setPathSpec("*");
ServHandler.addFilter(cors, fm);
ResourceHandler resource_handler1 = new ResourceHandler();
resource_handler1.setDirectoriesListed(true);
resource_handler1.setWelcomeFiles(new String[]{ "index.html"});//webpage to show up
resource_handler1.setResourceBase("../../Documents/GitHub/ProjectASB/WebContent/");//The address of the content(. must be there)
ContextHandler contextHandler1= new ContextHandler("/");
contextHandler1.setHandler(resource_handler1);
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { contextHandler1, ServHandler, new DefaultHandler() });
server.setHandler(handlers);
server.start();
server.join();
,但我得到這個錯誤:
2016-06-09 13:48:51.629:INFO:oejs.Server:main: jetty-9.1.1.v20140108
2016-06-09 13:48:51.640:INFO:oejsh.ContextHandler:main: Started [email protected]{/,null,AVAILABLE}
2016-06-09 13:48:51.714:INFO:oejs.ServerConnector:main: Started [email protected]{HTTP/1.1}{0.0.0.0:8080}
2016-06-09 13:48:59.919:WARN:oejur.FileResource:qtp400136488-28: bad alias for C:\Users\i853260\Documents\GitHub\ProjectASB\WebContent\10.161.34.8:8080: java.io.IOException: The filename, directory name, or volume label syntax is incorrect (path C:\Users\i853260\Documents\GitHub\ProjectASB\WebContent\10.161.34.8:8080, working dir C:\Users\i853260\hdbstudio_rev\NoiseServer)
2016-06-09 13:48:59.926:WARN:oejs.ServletHandler:qtp400136488-28: /10.161.34.8:8080
java.lang.NullPointerException: while trying to invoke the method javax.servlet.RequestDispatcher.forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse) of a null object returned from javax.servlet.http.HttpServletRequest.getRequestDispatcher(java.lang.String)
at servletPackage.Servlet.doGet(Servlet.java:35)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:717)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1644)
at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:248)
at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:211)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1615)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:459)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:281)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:232)
at org.eclipse.jetty.io.AbstractConnection$1.run(AbstractConnection.java:505)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
at java.lang.Thread.run(Thread.java:812)
謝謝Joakim,我嘗試了相對地址的真實性,沒有任何工作。我需要在JavaScript端添加一些東西嗎? –
哦,我看你沒有使用'ServletContextHandler',但是你直接使用內部的'ServletHandler'類(不是最好的選擇)。讓我看看我是否可以重做你的例子... –
哦,謝謝你正在幫助整個團隊! –