簡體   English   中英

GWT-未調用HTTPServlet POST請求

[英]GWT - HTTPServlet POST Request not called

我希望仍然有一些GWT開發人員...我是GWT開發的新手,我正在嘗試做一個基於表單的文件上傳系統。 為此,我實現了一個HTTPServlet並覆蓋了doPost方法。 但是,當我提交表單時,我確實收到沒有任何內容的回復200。 但是,如果您在下面查看我的文件,我將發送500響應...並且System.out.println沒有被調用...

我在網絡上瀏覽了很多已經問過的問題,但是找不到解決方案...

Servlet上未調用POST方法-GWT項目

servlet在GWT中不起作用

servlet在GWT中到底如何工作?

這是我擁有的文件:

web.xml

<servlet>
    <servlet-name>fileupload</servlet-name>
    <servlet-class>com.myCompany.FileUpload
    </servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>fileupload</servlet-name>
    <url-pattern>/myModule/fileupload</url-pattern>
</servlet-mapping>

FormPresenter.java (我正在使用MVP體系結構)

formPanel.setAction(GWT.getModuleBaseURL() + "fileupload");
formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
formPanel.setMethod(FormPanel.METHOD_POST);

FileUpload.java (Servlet文件)

@RemoteServiceRelativePath("fileupload")
public class FileUpload extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("FileUpload doPost");
        resp.sendError(500);
    }
}

Form.ui.xml

<g:FormPanel ui:field="formPanel">
    <g:VerticalPanel>
        <g:FileUpload ui:field="fileUpload"></g:FileUpload>
    </g:VerticalPanel>
</g:FormPanel>

謝謝你的幫助 !

孝燦

刪除@RemoteServiceRelativePath("fileupload") 您已經在web.xml中設置了映射。

哦,我實際上在我的代碼中發現了問題……我有一個使用通用網址格式定義的過濾器

web.xml

<filter-mapping>
    <filter-name>myFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

在我的servlet之前被調用,但我忘了使用:

MyFilter.java

chain.doFilter(request, response);

調用其余的過濾器和servlet ...

謝謝您對Andrei的幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM