0

質問:次のサーブレットが「他のことが起こった」と出力するのはなぜですか。LoginServlet と index.jsp の構造は次のとおりです。私は Netbeans 8.1 と ApacheTomcat 8.0.9.0 を使用しており、ブラウザーはクロムです。

LoginServlet の構造

import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
public class LoginServlet extends HttpServlet {  
    protected void doPost(HttpServletRequest request, HttpServletResponse response)  throws ServletException, IOException {  
        String contentType=request.getContentType();
        PrintWriter out=response.getWriter();

        //Why the following condition is failed. 
        if((contentType!=null)&&(contentType.indexOf("multipart/form-data")>=0)){//<==see this

            DataInputStream in =new DataInputStream(request.getInputStream());
            int formDataLength=request.getContentLength();
            out.print("contentType is not null");
            byte [] dataBytes=new byte[formDataLength];
        }        
        if(contentType==null)
            out.print("contentType is null");
        else
            out.print("other thing happended");//<== Why this is printing
    }

index.jsp の構造

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form action="${pageContext.request.contextPath}/LoginServlet" method="post">
            Name: <input type="text" name="name"> <br>
            Password: <input type="password" name="password"> <br>
            <input type="submit" value="login">
        </form>
    </body>

ブラウザの出力は「他に起こったこと」です。

4

1 に答える 1