javax.servlet.http.HttpServletRequest#getContentType()源码实例Demo

下面列出了javax.servlet.http.HttpServletRequest#getContentType() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: AthenaServing   文件: HttpUtil.java
/**
 * 获取请求参数
 *
 * @param request
 * @return
 */
public static String findParameters(HttpServletRequest request) {
    String contentType = request.getContentType();
    String result = "";
    if (null == contentType) {
        return result;
    }
    if (contentType.toLowerCase().contains("application/x-www-form-urlencoded")) {
        //当为application/x-www-form-urlencoded协议
        result = getBodyString(request);
    } else if (contentType.toLowerCase().contains("application/json")) {
        //当为application/json协议
    } else if (contentType.toLowerCase().contains("multipart/form-data")) {
        //当为multipart/form-data协议
        result = getBodyString(request);
    }
    return result;
}
 
源代码2 项目: datacollector   文件: TestSdcIpcTarget.java
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  String appId = req.getHeader(Constants.X_SDC_APPLICATION_ID_HEADER);
  String contentType = req.getContentType();
  if (contentType == null || !contentType.equals(Constants.APPLICATION_BINARY)) {
    resp.setStatus(HttpServletResponse.SC_BAD_REQUEST);
  } else if (appId == null || !appId.equals("appId")) {
    resp.setStatus(HttpServletResponse.SC_FORBIDDEN);
  } else {
    compressedData = req.getHeader(Constants.X_SDC_COMPRESSION_HEADER) != null &&
                     req.getHeader(Constants.X_SDC_COMPRESSION_HEADER).equals(Constants.SNAPPY_COMPRESSION);
    InputStream is = req.getInputStream();
    while (is.read() > 1);
    resp.setStatus(HttpServletResponse.SC_OK);
  }
}
 
源代码3 项目: jeesuite-libs   文件: RequestUtils.java
/**
 *   是否multipart/form-data or application/octet-stream表单提交方式
 * @param request
 * @return
 */
public static final boolean isMultipartContent(HttpServletRequest request) {
	if (!RestConst.POST_METHOD.equalsIgnoreCase(request.getMethod())) {
		return false;
	}
	String contentType = request.getContentType();
	if (contentType == null) {
		return false;
	}
	contentType = contentType.toLowerCase(Locale.ENGLISH);
	if (contentType.startsWith(RestConst.MULTIPART) 
			|| MediaType.APPLICATION_OCTET_STREAM.equals(contentType)) {
		return true;
	}
	return false;
}
 
源代码4 项目: haven-platform   文件: HttpProxy.java
private HttpEntity createEntity(HttpServletRequest servletRequest) throws IOException {
    final String contentType = servletRequest.getContentType();
    // body with 'application/x-www-form-urlencoded' is handled by tomcat therefore we cannot
    // obtain it through input stream and need some workaround
    if (ContentType.APPLICATION_FORM_URLENCODED.getMimeType().equals(contentType)) {
        List<NameValuePair> entries = new ArrayList<>();
        // obviously that we also copy params from url, but we cannot differentiate its
        Enumeration<String> names = servletRequest.getParameterNames();
        while (names.hasMoreElements()) {
            String name = names.nextElement();
            entries.add(new BasicNameValuePair(name, servletRequest.getParameter(name)));
        }
        return new UrlEncodedFormEntity(entries, servletRequest.getCharacterEncoding());
    }

    // Add the input entity (streamed)
    //  note: we don't bother ensuring we close the servletInputStream since the container handles it
    return new InputStreamEntity(servletRequest.getInputStream(),
            servletRequest.getContentLength(),
            ContentType.create(contentType));
}
 
源代码5 项目: sakai   文件: AccessServlet.java
/** construct from the req */
public AccessServletInfo(HttpServletRequest req)
{
	m_options = new Properties();
	String type = req.getContentType();

	Enumeration e = req.getParameterNames();
	while (e.hasMoreElements())
	{
		String key = (String) e.nextElement();
		String[] values = req.getParameterValues(key);
		if (values.length == 1)
		{
			m_options.put(key, values[0]);
		}
		else
		{
			StringBuilder buf = new StringBuilder();
			for (int i = 0; i < values.length; i++)
			{
				buf.append(values[i] + FORM_VALUE_DELIMETER);
			}
			m_options.put(key, buf.toString());
		}
	}
}
 
源代码6 项目: sample.ferret   文件: RequestData.java
public RequestData(final HttpServletRequest request) {
    method = request.getMethod();
    uri = request.getRequestURI();
    protocol = request.getProtocol();
    servletPath = request.getServletPath();
    pathInfo = request.getPathInfo();
    pathTranslated = request.getPathTranslated();
    characterEncoding = request.getCharacterEncoding();
    queryString = request.getQueryString();
    contentLength = request.getContentLength();
    contentType = request.getContentType();
    serverName = request.getServerName();
    serverPort = request.getServerPort();
    remoteUser = request.getRemoteUser();
    remoteAddress = request.getRemoteAddr();
    remoteHost = request.getRemoteHost();
    remotePort = request.getRemotePort();
    localAddress = request.getLocalAddr();
    localHost = request.getLocalName();
    localPort = request.getLocalPort();
    authorizationScheme = request.getAuthType();
    preferredClientLocale = request.getLocale();
    allClientLocales = Collections.list(request.getLocales());
    contextPath = request.getContextPath();
    userPrincipal = request.getUserPrincipal();
    requestHeaders = getRequestHeaders(request);
    cookies = getCookies(request.getCookies());
    requestAttributes = getRequestAttributes(request);
}
 
/**
 * Utility method that determines whether the request contains multipart content.
 *
 * @param request
 *     The servlet request to be evaluated. Must be non-null.
 * @return <code>true</code> if the request is multipart; {@code false} otherwise.
 * @see org.apache.commons.fileupload.servlet.ServletFileUpload#isMultipartContent(HttpServletRequest)
 */
public static final boolean isMultipartContent(HttpServletRequest request) {
    final String method = request.getMethod().toLowerCase();
    if (!method.equalsIgnoreCase("post") && !method.equalsIgnoreCase("put")) {
        return false;
    }

    String contentType = request.getContentType();
    return StringUtils.startsWithIgnoreCase(contentType, "multipart/");
}
 
源代码8 项目: dhis2-core   文件: ReportTableFacadeController.java
/**
 * Deserializes a payload from the request, handles JSON/XML payloads
 *
 * @param request HttpServletRequest from current session
 * @return Parsed entity or null if invalid type
 */
protected ReportTable deserialize( HttpServletRequest request ) throws IOException
{
    String type = request.getContentType();
    type = !StringUtils.isEmpty( type ) ? type : MediaType.APPLICATION_JSON_VALUE;

    // allow type to be overridden by path extension
    if ( request.getPathInfo().endsWith( ".json" ) )
    {
        type = MediaType.APPLICATION_JSON_VALUE;
    }
    else if ( request.getPathInfo().endsWith( ".xml" ) )
    {
        type = MediaType.APPLICATION_XML_VALUE;
    }

    if ( isCompatibleWith( type, MediaType.APPLICATION_JSON ) )
    {
        return renderService.fromJson( request.getInputStream(), ReportTable.class );
    }
    else if ( isCompatibleWith( type, MediaType.APPLICATION_XML ) )
    {
        return renderService.fromXml( request.getInputStream(), ReportTable.class );
    }

    return null;
}
 
源代码9 项目: java-unified-sdk   文件: RequestAuth.java
private RequestAuth(HttpServletRequest req) {
  if (req.getContentType() != null && req.getContentType().startsWith("text/plain")) {
    // TODO
  } else {
    appId = getHeaders(req, "x-lc-id", "x-avoscloud-application-id", "x-uluru-application-id");
    appKey =
        getHeaders(req, "x-lc-key", "x-avoscloud-application-key", "x-uluru-application-key");
    masterKey = getHeaders(req, "x-avoscloud-master-key", "x-uluru-master-key");
    if (appKey != null && appKey.indexOf(",master") > 0) {
      masterKey = appKey.substring(0, appKey.indexOf(",master"));
      appKey = null;
    }
    prod = getHeaders(req, "x-lc-prod", "x-avoscloud-application-production",
        "x-uluru-application-production");
    if ("false".equals(prod)) {
      prod = "0";
    }
    sessionToken =
        getHeaders(req, "x-lc-session", "x-uluru-session-token", "x-avoscloud-session-token");
    sign = getHeaders(req, "x-lc-sign", "x-avoscloud-request-sign");

    // 放在这里只能算是一个side effect
    String remoteAddress = getHeaders(req, "x-real-ip", "x-forwarded-for");
    if (StringUtil.isEmpty(remoteAddress)) {
      remoteAddress = req.getRemoteAddr();
    }
    EngineRequestContext.setSessionToken(sessionToken);
    EngineRequestContext.setRemoteAddress(remoteAddress);
  }
}
 
源代码10 项目: HongsCORE   文件: XsymFilter.java
@Override
public void doFilter(Core core, ActionHelper hlpr, FilterChain chain)
    throws IOException, ServletException
{
    HttpServletResponse rsp = hlpr.getResponse();
    HttpServletRequest  req = hlpr.getRequest( );
    String act = ActionDriver.getRecentPath(req);
    String ctt = req.getContentType();

    do {
        if (ctt == null) {
            break;
        }

        /**
         * 非 JSON 已在 Dict 中兼容
         */
        ctt = ctt.split( ";", 2 )[0];
        if (! ctt.endsWith("/json")) {
            break;
        }

        /**
         * 检查当前动作是否可以忽略
         */
        if (ignore != null && ignore.ignore(act)) {
            break;
        }

        doChange(hlpr.getRequestData());
    }
    while (false);

    chain.doFilter(req , rsp);
}
 
源代码11 项目: bird-java   文件: RequestHelper.java
/**
 * 是否是Multipart请求
 *
 * @param request 请求
 * @return is multipart
 */
public static boolean isMultipartContent(HttpServletRequest request) {
    String contentType = request.getContentType();
    if (contentType == null) {
        return false;
    }
    return contentType.toLowerCase(Locale.ENGLISH).startsWith(WebConstant.MULTIPART);
}
 
源代码12 项目: dhis2-core   文件: AbstractCrudController.java
/**
 * Deserializes a payload from the request, handles JSON/XML payloads
 *
 * @param request HttpServletRequest from current session
 * @return Parsed entity or null if invalid type
 */
protected T deserialize( HttpServletRequest request ) throws IOException
{
    String type = request.getContentType();
    type = !StringUtils.isEmpty( type ) ? type : MediaType.APPLICATION_JSON_VALUE;

    // allow type to be overridden by path extension
    if ( request.getPathInfo().endsWith( ".json" ) )
    {
        type = MediaType.APPLICATION_JSON_VALUE;
    }
    else if ( request.getPathInfo().endsWith( ".xml" ) )
    {
        type = MediaType.APPLICATION_XML_VALUE;
    }

    if ( isCompatibleWith( type, MediaType.APPLICATION_JSON ) )
    {
        return renderService.fromJson( request.getInputStream(), getEntityClass() );
    }
    else if ( isCompatibleWith( type, MediaType.APPLICATION_XML ) )
    {
        return renderService.fromXml( request.getInputStream(), getEntityClass() );
    }

    return null;
}
 
源代码13 项目: lucene-solr   文件: SolrRequestParsers.java
public HttpRequestContentStream( HttpServletRequest req ) {
  this.req = req;
  
  contentType = req.getContentType();
  // name = ???
  // sourceInfo = ???
  
  String v = req.getHeader( "Content-Length" );
  if( v != null ) {
    size = Long.valueOf( v );
  }
}
 
源代码14 项目: Brutusin-RPC   文件: RpcServlet.java
/**
 *
 * @param request
 * @return
 */
private static boolean isMultipartContent(HttpServletRequest request) {
    String method = request.getMethod().toUpperCase();
    if (!method.equals("POST") && !method.equals("PUT")) {
        return false;
    }
    String contentType = request.getContentType();
    if (contentType == null) {
        return false;
    }
    return contentType.toLowerCase(Locale.ENGLISH).startsWith("multipart");
}
 
源代码15 项目: Scribengin   文件: CommandProxyServlet.java
@Override
protected void onResponseFailure(HttpServletRequest request, HttpServletResponse response, 
                                  Response proxyResponse, Throwable failure){
  //System.err.println("Response Failure!");
  this.setForwardingUrl();
  
  HttpClient c = null;
  try {
    c = this.createHttpClient();
  } catch (ServletException e1) {
    e1.printStackTrace();
  }
  
  final Request proxyRequest =  c.newRequest(this.forwardingUrl)
      .method(request.getMethod())
      .version(HttpVersion.fromString(request.getProtocol()));
  
  boolean hasContent = request.getContentLength() > 0 || request.getContentType() != null;
  for (Enumeration<String> headerNames = request.getHeaderNames(); headerNames.hasMoreElements();){
      String headerName = headerNames.nextElement();
      if (HttpHeader.TRANSFER_ENCODING.is(headerName))
          hasContent = true;
      for (Enumeration<String> headerValues = request.getHeaders(headerName); headerValues.hasMoreElements();){
          String headerValue = headerValues.nextElement();
          if (headerValue != null)
              proxyRequest.header(headerName, headerValue);
      }
  }

  // Add proxy headers
  addViaHeader(proxyRequest);
  addXForwardedHeaders(proxyRequest, request);

  final AsyncContext asyncContext = request.getAsyncContext();
  // We do not timeout the continuation, but the proxy request
  asyncContext.setTimeout(0);
  proxyRequest.timeout(getTimeout(), TimeUnit.MILLISECONDS);

  if (hasContent)
    try {
      proxyRequest.content(proxyRequestContent(proxyRequest, request));
    } catch (IOException e) {
      e.printStackTrace();
    }

  customizeProxyRequest(proxyRequest, request);

  proxyRequest.send(new ProxyResponseListener(request, response));
}
 
源代码16 项目: jeecg   文件: UploadUtils.java
/**
 * 上传验证,并初始化文件目录
 * 
 * @param request
 */
private String validateFields(HttpServletRequest request) {
	String errorInfo = "true";
	// boolean errorFlag = true;
	// 获取内容类型
	String contentType = request.getContentType();
	int contentLength = request.getContentLength();
	// 文件保存目录路径
	savePath = request.getSession().getServletContext().getRealPath("/") + basePath + "/";
	// 文件保存目录URL
	saveUrl = request.getContextPath() + "/" + basePath + "/";
	File uploadDir = new File(savePath);
	if (contentType == null || !contentType.startsWith("multipart")) {
		// TODO
		org.jeecgframework.core.util.LogUtil.info("请求不包含multipart/form-data流");
		errorInfo = "请求不包含multipart/form-data流";
	} else if (maxSize < contentLength) {
		// TODO
		org.jeecgframework.core.util.LogUtil.info("上传文件大小超出文件最大大小");
		errorInfo = "上传文件大小超出文件最大大小[" + maxSize + "]";
	} else if (!ServletFileUpload.isMultipartContent(request)) {
		// TODO
		errorInfo = "请选择文件";
	} else if (!uploadDir.isDirectory()) {// 检查目录
		// TODO
		errorInfo = "上传目录[" + savePath + "]不存在";
	} else if (!uploadDir.canWrite()) {
		// TODO
		errorInfo = "上传目录[" + savePath + "]没有写权限";
	} else if (!extMap.containsKey(dirName)) {
		// TODO
		errorInfo = "目录名不正确";
	} else {
		// .../basePath/dirName/
		// 创建文件夹
		savePath += dirName + "/";
		saveUrl += dirName + "/";
		File saveDirFile = new File(savePath);
		if (!saveDirFile.exists()) {
			saveDirFile.mkdirs();
		}
		// .../basePath/dirName/yyyyMMdd/
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
		String ymd = sdf.format(new Date());
		savePath += ymd + "/";
		saveUrl += ymd + "/";
		File dirFile = new File(savePath);
		if (!dirFile.exists()) {
			dirFile.mkdirs();
		}

		// 获取上传临时路径
		tempPath = request.getSession().getServletContext().getRealPath("/") + tempPath + "/";
		File file = new File(tempPath);
		if (!file.exists()) {
			file.mkdirs();
		}
	}

	return errorInfo;
}
 
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    if (FrameworkUtils.getMaxInactiveInterval() == 0) {
        FrameworkUtils.setMaxInactiveInterval(request.getSession().getMaxInactiveInterval());
    }
    String id = request.getParameter(PROP_WAITING_ID);
    if (id == null) {
        if (request.getContentType() != null && request.getContentType().startsWith
                (FrameworkConstants.ContentTypes.TYPE_APPLICATION_JSON)) {
            Gson gson = new Gson();
            LongWaitStatusRequest longWaitStatusRequest = gson.fromJson(request.getReader(),
                                                                        LongWaitStatusRequest.class);
            id = longWaitStatusRequest.getWaitId();
        }
    }

    LongWaitStatusResponse longWaitResponse = new LongWaitStatusResponse();
    longWaitResponse.setWaitId(id);
    if (id == null) {
        longWaitResponse.setStatus(LongWaitStatus.Status.UNKNOWN.name());
        response.setStatus(HttpServletResponse.SC_NOT_FOUND);
    } else {
        LongWaitStatusStoreService longWaitStatusStoreService =
                FrameworkServiceDataHolder.getInstance().getLongWaitStatusStoreService();
        if (longWaitStatusStoreService == null) {
            response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        } else {
            LongWaitStatus longWaitStatus = null;
            try {
                longWaitStatus = longWaitStatusStoreService.getWait(id);
            } catch (FrameworkException e) {
                response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            }
            if (longWaitStatus == null) {
                longWaitResponse.setStatus(LongWaitStatus.Status.COMPLETED.name());
            } else {
                if (longWaitStatus.getStatus() != null) {
                    if (longWaitStatus.getStatus() == LongWaitStatus.Status.UNKNOWN) {
                        longWaitResponse.setStatus(LongWaitStatus.Status.COMPLETED.name());
                    } else {
                        longWaitResponse.setStatus(longWaitStatus.getStatus().name());
                    }
                } else {
                    longWaitResponse.setStatus(LongWaitStatus.Status.COMPLETED.name());
                }
            }
        }
    }

    response.setContentType(FrameworkConstants.ContentTypes.TYPE_APPLICATION_JSON);
    String json = new Gson().toJson(longWaitResponse);
    try (PrintWriter out = response.getWriter()) {
        out.print(json);
        out.flush();
    }
}
 
源代码18 项目: para   文件: CORSFilter.java
/**
 * Determines the request type.
 * @param request req
 * @return CORS request type
 */
public CORSRequestType checkRequestType(final HttpServletRequest request) {
	CORSRequestType requestType = CORSRequestType.INVALID_CORS;
	if (request == null) {
		throw new IllegalArgumentException(
				"HttpServletRequest object is null");
	}
	String originHeader = request.getHeader(REQUEST_HEADER_ORIGIN);
	// Section 6.1.1 and Section 6.2.1
	if (originHeader != null) {
		if (originHeader.isEmpty()) {
			requestType = CORSRequestType.INVALID_CORS;
		} else if (!isValidOrigin(originHeader)) {
			requestType = CORSRequestType.INVALID_CORS;
		} else {
			String method = StringUtils.trimToEmpty(request.getMethod());
			if (HTTP_METHODS.contains(method)) {
				if ("OPTIONS".equals(method)) {
					String accessControlRequestMethodHeader
							= request.getHeader(REQUEST_HEADER_ACCESS_CONTROL_REQUEST_METHOD);
					if (StringUtils.isNotBlank(accessControlRequestMethodHeader)) {
						requestType = CORSRequestType.PRE_FLIGHT;
					} else if (StringUtils.isWhitespace(accessControlRequestMethodHeader)) {
						requestType = CORSRequestType.INVALID_CORS;
					} else {
						requestType = CORSRequestType.ACTUAL;
					}
				} else if ("GET".equals(method) || "HEAD".equals(method)) {
					requestType = CORSRequestType.SIMPLE;
				} else if ("POST".equals(method)) {
					String contentType = request.getContentType();
					if (contentType != null) {
						contentType = contentType.toLowerCase().trim();
						if (SIMPLE_HTTP_REQUEST_CONTENT_TYPE_VALUES
								.contains(contentType)) {
							requestType = CORSRequestType.SIMPLE;
						} else {
							requestType = CORSRequestType.ACTUAL;
						}
					}
				} else if (COMPLEX_HTTP_METHODS.contains(method)) {
					requestType = CORSRequestType.ACTUAL;
				}
			}
		}
	} else {
		requestType = CORSRequestType.NOT_CORS;
	}

	return requestType;
}
 
源代码19 项目: database   文件: RESTServlet.java
static boolean hasMimeType(final HttpServletRequest req,
           final String mimeType) {

       final String contentType = req.getContentType();
       
       return contentType != null
               && mimeType.equals(new MiniMime(contentType).getMimeType());
       
}
 
源代码20 项目: database   文件: UpdateServlet.java
@Override
protected void doPut(final HttpServletRequest req,
        final HttpServletResponse resp) throws IOException {

    if (!isWritable(getServletContext(), req, resp)) {
        // Service must be writable.
        return;
    }

    final String queryStr = req.getParameter(QueryServlet.ATTR_QUERY);

    final String contentType = req.getContentType();

    if (contentType == null) {

        resp.setStatus(HttpServletResponse.SC_BAD_REQUEST);

    }

    if (queryStr == null) {

        resp.setStatus(HttpServletResponse.SC_BAD_REQUEST);

    }

    doUpdateWithQuery(req, resp);

}