第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Jetty,“servlet 沒(méi)有多部分配置”問(wèn)題

Jetty,“servlet 沒(méi)有多部分配置”問(wèn)題

胡子哥哥 2021-10-13 10:11:05
我正在編寫(xiě)文件傳輸處理程序。請(qǐng)求是多部分 HTTP 消息。該消息是正確的 - 在其他服務(wù)器上測(cè)試。問(wèn)題是 getParts() 調(diào)用上的“java.lang.IllegalStateException: No multipart config for servlet”。測(cè)試代碼:@SuppressWarnings("serial")@MultipartConfig@WebServlet(urlPatterns={"/upload"}, name="upload")public class FilesServlet extends HttpServlet{    @Override    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException    {        resp.setContentType("text/plain");        PrintWriter out = resp.getWriter();        int i=0;        for(Part part: req.getParts())        {            out.printf("Got part: name=%s, size=%d%n",part.getName(), part.getSize());            part.write(String.format("part-%02d.dat",i++));        }    }}例外:java.lang.IllegalStateException: No multipart config for servlet    at org.eclipse.jetty.server.Request.getParts(Request.java:2327)    at org.eclipse.jetty.server.Request.getParts(Request.java:2314)    at com.rad.server.servlet.FilesServlet.doPost(FilesServlet.java:31)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:860)    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)jars 是:jetty-server-9.4.8 和 javax-servlet-api-3.10。這里有什么問(wèn)題?
查看完整描述

2 回答

?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊

實(shí)際上,我沒(méi)有找到為什么 @MultipartConfig 注釋對(duì)我不起作用,但我在 i-net 上發(fā)現(xiàn)了一種工作正常的解決方法:


     private static final MultipartConfigElement MULTI_PART_CONFIG = new MultipartConfigElement("c:/temp");

        ...

     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        String contentType = request.getContentType();


        if(contentType != null && contentType.startsWith("multipart/")){

           request.setAttribute(Request.__MULTIPART_CONFIG_ELEMENT, MULTI_PART_CONFIG);

           for(Part part: request.getParts()) { ... } ;

        } else {  

            ...

        }          

      }

我認(rèn)為此解決方案可能對(duì)遇到此類問(wèn)題的開(kāi)發(fā)人員有用


查看完整回答
反對(duì) 回復(fù) 2021-10-13
?
精慕HU

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊

當(dāng)您將 servlet 映射到路徑時(shí),為什么不配置它?


handler.addServlet(UploadServlet.class, "/upload/*")

  .getRegistration().setMultipartConfig(

    new MultipartConfigElement("./tmp")

  );

到達(dá)此 servlet 的每個(gè)請(qǐng)求都將使用該屬性進(jìn)行豐富


查看完整回答
反對(duì) 回復(fù) 2021-10-13
  • 2 回答
  • 0 關(guān)注
  • 659 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)