GWT - HTTPServlet POST 未调用请求
GWT - HTTPServlet POST Request not called
我希望还有一些 GWT 开发人员...我是 GWT 开发的新手,我正在尝试做一个基于表单的文件上传系统。
为此,我实现了一个 HTTPServlet 并覆盖了方法 doPost。
但是,当我提交表单时,我确实收到了没有任何内容的 200 响应。但是如果你看看我下面的文件,我发送了一个 500 响应......而你 System.out.println 没有被调用......
我在网上浏览了很多已经提出的问题,但找不到解决方案...
POST method not called on servlet - GWT project
servlet not working in GWT
How exactly servlet Work in 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.
中设置了映射
哦,我实际上在我的代码中发现了问题......
我有一个用一般 url 模式
定义的过滤器
web.xml
<filter-mapping>
<filter-name>myFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这是在我的 servlet 之前调用的,我忘了使用 :
MyFilter.java
chain.doFilter(request, response);
调用其余的过滤器和 servlet...
感谢安德烈的帮助!
我希望还有一些 GWT 开发人员...我是 GWT 开发的新手,我正在尝试做一个基于表单的文件上传系统。 为此,我实现了一个 HTTPServlet 并覆盖了方法 doPost。 但是,当我提交表单时,我确实收到了没有任何内容的 200 响应。但是如果你看看我下面的文件,我发送了一个 500 响应......而你 System.out.println 没有被调用......
我在网上浏览了很多已经提出的问题,但找不到解决方案...
POST method not called on servlet - GWT project
servlet not working in GWT
How exactly servlet Work in 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.
哦,我实际上在我的代码中发现了问题...... 我有一个用一般 url 模式
定义的过滤器web.xml
<filter-mapping>
<filter-name>myFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这是在我的 servlet 之前调用的,我忘了使用 :
MyFilter.java
chain.doFilter(request, response);
调用其余的过滤器和 servlet...
感谢安德烈的帮助!