On Tue, Dec 7, 2010 at 8:53 PM, exl <[email protected]> wrote:

>
> Hi.
>
> Ok, I'm trying to go down the path of what I believe is being suggested
> here.  So this is what I have as the servlet so far:
>
> {code}
> public class HelloServlet extends HttpServlet {
>
>        private static final long serialVersionUID = 1L;
>
>        @Autowired
>        private IOurService serviceInst;
>
>        public void init(ServletConfig config) throws ServletException {
>                super.init(config);
>
> SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
>        }
>
>        public void doGet (HttpServletRequest request, HttpServletResponse
> response)
>                throws ServletException, IOException {
>                // get an PrintWriter from the response object
>                PrintWriter out = response.getWriter();
>                out.println("Used doGet -> doPost<br>");
>                doPost(request, response);
>        }
>
>        public void doPost (HttpServletRequest request, HttpServletResponse
> response)
>                throws ServletException, IOException {
>                // get an PrintWriter from the response object
>                PrintWriter out = response.getWriter();
>                // prepare the response's content type
>                response.setContentType("text/html");
>                // get the IP address of the client
>                String remoteAddress = request.getRemoteAddr();
>                // print to the output stream!
>                out.println("Hello there, web surfer from " + remoteAddress
> + "");
>
>                String firstName = request.getParameter("firstName");
>                out.println("First name was: " + firstName);
>
>                // This will handle pre-processing the large file for import
> into the
> database and thus take a long time...
>                serviceInst.testImport(request);
>        }
> }
> {code}
>
> Then I have a Wicket button to submit to this servlet, but it is blocking
> (i.e. not asynchronous):
>
> {code}
> testForm.add(new Button("Upload", new
> StringResourceModel("page.helloServlet", this, null))
>                {
>                        public void onSubmit()
>                        {
>                                ServletWebRequest servletWebRequest =
> (ServletWebRequest) getRequest();
>                                HttpServletRequest request =
> servletWebRequest.getHttpServletRequest();
>                                WebResponse webResponse = (WebResponse)
> getRequestCycle().getOriginalResponse();
>                                HttpServletResponse response =
> webResponse.getHttpServletResponse();
>                                RequestDispatcher dispatcher =
> ((ServletWebRequest)
>
> getRequest()).getHttpServletRequest().getRequestDispatcher(Constants.HELLOSERVLET);
>                                GenericServletResponseWrapper
> wrappedResponse = new
> GenericServletResponseWrapper(response);
>
>                            try {
>                                        log.info("Forwarding request to
> Hello Servlet");
>                                        dispatcher.forward(request,
> wrappedResponse);
>                                    log.info("response from servlet: " +
> new
> String(wrappedResponse.getData()));
>                            } catch (ServletException e) {
>                                throw new RuntimeException(e);
>                            } catch (IOException e) {
>                                throw new RuntimeException(e);
>                            }
>                                log.info("Returned from forward to Hello
> Servlet");
>                        }
>                });
> {code}
>
> So synchronously I can get the servlet to handle my request, which prevents
> the user from doing other things in the Wicket application until it
> returns.
>
> What is the final step to get it handling asynchronously?
>
> Kind Regards,
> Eric.
> --
> View this message in context:
> http://apache-wicket.1842946.n4.nabble.com/Asynchronous-File-Uploads-tp2541855p3077633.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
You are doing this:

browser --> submits to Wicket --> submits to servlet

The whole point of writing a servlet was to take Wicket out of that loop.
 You should be doing this:

browser --> submits to servlet

-- 
Jeremy Thomerson
http://wickettraining.com
*Need a CMS for Wicket?  Use Brix! http://brixcms.org*

Reply via email to