Servlets @web.xml中的MultipartConfig重写

Servlets @web.xml中的MultipartConfig重写,servlets,web.xml,multipartconfig,Servlets,Web.xml,Multipartconfig,我有一个servlet: @WebServlet(name = "StudentRegistrationUsn", urlPatterns = {"/university/student/registration"}) @MultipartConfig(maxFileSize = 10*1024*1024,maxRequestSize = 20*1024*1024,fileSizeThreshold = 5*1024*1024) public class ActionRegistrati

我有一个servlet:

    @WebServlet(name = "StudentRegistrationUsn", urlPatterns = {"/university/student/registration"})
@MultipartConfig(maxFileSize = 10*1024*1024,maxRequestSize = 20*1024*1024,fileSizeThreshold = 5*1024*1024)
public class ActionRegistrationServlet extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //handle file upload
    }
一切正常,文件正在上传。 然后我尝试覆盖web.xml中的文件大小和阈值:

    <servlet>
        <servlet-name>StudentRegistrationUsn</servlet-name>
        <multipart-config>
            <max-file-size>10485760</max-file-size>
            <max-request-size>20971520</max-request-size>
            <file-size-threshold>5242880</file-size-threshold>
        </multipart-config>
    </servlet>
web.xml
中缺少
。导致此异常的主要原因是要加载的类的名称为
null

事实上,您需要重新定义所有内容,包括URL模式

<servlet>
    <servlet-name>StudentRegistrationUsn</servlet-name>
    <servlet-class>com.example.StudentRegistrationUsn</servlet-class>
    <multipart-config>
        <max-file-size>10485760</max-file-size>
        <max-request-size>20971520</max-request-size>
        <file-size-threshold>5242880</file-size-threshold>
    </multipart-config>
</servlet>
<servlet-mapping>
    <servlet-name>StudentRegistrationUsn</servlet-name>
    <url-pattern>/university/student/registration</url-pattern>
</servlet-mapping>

学生注册
com.example.studentregistrationsn
10485760
20971520
5242880
学生注册
/大学/学生/注册

即使使用servlet 3.0,我也必须重新定义web.xml中的所有内容?是的。通过在
web.xml
中重新定义完全相同的servlet名称,您已经完全覆盖了
@WebServlet
。然后,您还应该考虑其余部分。另一种方法是直接编辑类上的
@MultipartConfig
。您可以选择:注释或XML。
<servlet>
    <servlet-name>StudentRegistrationUsn</servlet-name>
    <servlet-class>com.example.StudentRegistrationUsn</servlet-class>
    <multipart-config>
        <max-file-size>10485760</max-file-size>
        <max-request-size>20971520</max-request-size>
        <file-size-threshold>5242880</file-size-threshold>
    </multipart-config>
</servlet>
<servlet-mapping>
    <servlet-name>StudentRegistrationUsn</servlet-name>
    <url-pattern>/university/student/registration</url-pattern>
</servlet-mapping>