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

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

源代码1 项目: JDeSurvey   文件: DataSetController.java
String encodeUrlPathSegment(String pathSegment, HttpServletRequest httpServletRequest) {
	log.info("encodeUrlPathSegment()");
	try{
		String enc = httpServletRequest.getCharacterEncoding();
		if (enc == null) {
			enc = WebUtils.DEFAULT_CHARACTER_ENCODING;
		}
		try {
			pathSegment = UriUtils.encodePathSegment(pathSegment, enc);
		} catch (UnsupportedEncodingException uee) {log.error(uee);}
		return pathSegment;
	} catch (Exception e) {
		log.error(e.getMessage(),e);
		throw (new RuntimeException(e));
	}
}
 
源代码2 项目: JDeSurvey   文件: RegularExpressionController.java
String encodeUrlPathSegment(String pathSegment, HttpServletRequest httpServletRequest) {
	log.info("encodeUrlPathSegment()");
	try{
		String enc = httpServletRequest.getCharacterEncoding();
		if (enc == null) {
			enc = WebUtils.DEFAULT_CHARACTER_ENCODING;
		}
		try {
			pathSegment = UriUtils.encodePathSegment(pathSegment, enc);
		} catch (UnsupportedEncodingException uee) {log.error(uee);}
		return pathSegment;
	} catch (Exception e) {
		log.error(e.getMessage(),e);
		throw (new RuntimeException(e));
	}
}
 
源代码3 项目: JDeSurvey   文件: AuthorityController.java
String encodeUrlPathSegment(String pathSegment, HttpServletRequest httpServletRequest) {
	log.info("encodeUrlPathSegment()");
	try{
		String enc = httpServletRequest.getCharacterEncoding();
		if (enc == null) {
			enc = WebUtils.DEFAULT_CHARACTER_ENCODING;
		}
		try {
			pathSegment = UriUtils.encodePathSegment(pathSegment, enc);
		} catch (UnsupportedEncodingException uee) {log.error(uee);}
		return pathSegment;
	} catch (Exception e) {
		log.error(e.getMessage(),e);
		throw (new RuntimeException(e));
	}
}
 
源代码4 项目: odo   文件: HttpRequestInfo.java
public HttpRequestInfo(HttpServletRequest request) {
    this.authType = request.getAuthType();
    this.contextPath = request.getContextPath();
    populateHeaders(request);
    this.method = request.getMethod();
    this.pathInfo = request.getPathInfo();
    this.queryString = request.getQueryString();
    this.requestURI = request.getRequestURI();
    this.servletPath = request.getServletPath();
    this.contentType = request.getContentType();
    this.characterEncoding = request.getCharacterEncoding();
    this.contentLength = request.getContentLength();
    this.localName = request.getLocalName();
    this.localPort = request.getLocalPort();
    populateParameters(request);
    this.protocol = request.getProtocol();
    this.remoteAddr = request.getRemoteAddr();
    this.remoteHost = request.getRemoteHost();
    this.remotePort = request.getRemotePort();
    this.serverName = request.getServerName();
    this.secure = request.isSecure();
    populateAttributes(request);
}
 
源代码5 项目: JDeSurvey   文件: SectorsController.java
String encodeUrlPathSegment(String pathSegment, HttpServletRequest httpServletRequest) {
	log.info("encodeUrlPathSegment()");
	try{
		String enc = httpServletRequest.getCharacterEncoding();
		if (enc == null) {
			enc = WebUtils.DEFAULT_CHARACTER_ENCODING;
		}
		try {
			pathSegment = UriUtils.encodePathSegment(pathSegment, enc);
		} catch (UnsupportedEncodingException uee) {log.error(uee);}
		return pathSegment;
	} catch (Exception e) {
		log.error(e.getMessage(),e);
		throw (new RuntimeException(e));
	}
}
 
源代码6 项目: JDeSurvey   文件: QuestionRowLabelController.java
String encodeUrlPathSegment(String pathSegment, HttpServletRequest httpServletRequest) {
	log.info("encodeUrlPathSegment()");
	try{
		String enc = httpServletRequest.getCharacterEncoding();
		if (enc == null) {
			enc = WebUtils.DEFAULT_CHARACTER_ENCODING;
		}
		try {
			pathSegment = UriUtils.encodePathSegment(pathSegment, enc);
		} catch (UnsupportedEncodingException uee) {log.error(uee);}
		return pathSegment;
	} catch (Exception e) {
		log.error(e.getMessage(),e);
		throw (new RuntimeException(e));
	}
}
 
源代码7 项目: flower   文件: Web.java
/**
 * Get the JSON data submitted by the post method
 * 
 * @return String / null
 * @throws IOException When an error occurs while reading the InputStream,
 *         IOException is thrown
 * @throws UnsupportedEncodingException Thrown when encountering an unresolved
 *         character encoding
 * @since JDK 1.7+
 */
public String getPostJson() throws IOException {
  HttpServletRequest httpSr = (HttpServletRequest) servletRequest;
  if (!httpSr.getMethod().equalsIgnoreCase("POST") || null == httpSr.getContentType()) {
    return null;
  }
  if (!httpSr.getContentType().toLowerCase().contains("application/json")) {
    return null;
  }
  if (httpSr.getContentLength() <= 0) {
    return null;
  }
  String charsetName = httpSr.getCharacterEncoding();
  if (null == charsetName) {
    charsetName = Constant.ENCODING_UTF_8;
  }
  byte[] bytes = new byte[httpSr.getContentLength()];
  try (InputStream is = httpSr.getInputStream()) {
    int len = is.read(bytes, 0, httpSr.getContentLength());
    return len <= 0 ? null : new String(bytes, charsetName);
  } catch (UnsupportedEncodingException uee) {
    throw new UnsupportedEncodingException("UnsupportedEncoding");
  }
}
 
源代码8 项目: blade-tool   文件: WebUtil.java
/**
 * 获取 request 请求内容
 *
 * @param request request
 * @param buffer buffer
 * @return String
 * @throws IOException IOException
 */
public static String getRequestStr(HttpServletRequest request, byte[] buffer) throws IOException {
	String charEncoding = request.getCharacterEncoding();
	if (charEncoding == null) {
		charEncoding = StringPool.UTF_8;
	}
	String str = new String(buffer, charEncoding).trim();
	if (StringUtil.isBlank(str)) {
		StringBuilder sb = new StringBuilder();
		Enumeration<String> parameterNames = request.getParameterNames();
		while (parameterNames.hasMoreElements()) {
			String key = parameterNames.nextElement();
			String value = request.getParameter(key);
			StringUtil.appendBuilder(sb, key, "=", value, "&");
		}
		str = StringUtil.removeSuffix(sb.toString(), "&");
	}
	return str.replaceAll("&amp;", "&");
}
 
@Override
protected void doFilterInternal(
		HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
		throws ServletException, IOException {

	if (this.encoding != null && (this.forceEncoding || request.getCharacterEncoding() == null)) {
		request.setCharacterEncoding(this.encoding);
		if (this.forceEncoding) {
			response.setCharacterEncoding(this.encoding);
		}
	}
	filterChain.doFilter(request, response);
}
 
/**
 * If the character encoding is not initialized, it will be set to UTF-8
 */
public IgnoreCharacterEncodingHttpRequestWrapper(HttpServletRequest request)
        throws UnsupportedEncodingException {

    super(request);
    if (request.getCharacterEncoding() == null) {
        request.setCharacterEncoding(Constants.CHARACTER_ENCODING_UTF8);
    }
}
 
源代码11 项目: gitlab-branch-source-plugin   文件: HookHandler.java
@SuppressWarnings("deprecation")
private String getRequestBody(HttpServletRequest request) throws IOException {
    String charset = request.getCharacterEncoding() == null ? CHARSET_UTF_8 : request.getCharacterEncoding();
    String requestBody = IOUtils.toString(request.getInputStream(), charset);
    if (StringUtils.isBlank(requestBody)) {
        throw new IllegalArgumentException("request-body is empty");
    }

    return requestBody;
}
 
源代码12 项目: jvm-sandbox-repeater   文件: WrapperRequest.java
/**
 * Constructs a request object wrapping the given request.
 *
 * @param request 请求
 * @throws IOException if the request is null
 */
public WrapperRequest(HttpServletRequest request, HttpServletResponse response, HttpStandaloneListener listener)
        throws IOException {
    super(request);
    this.response = response;
    this.listener = listener;
    // application/json的方式提交,需要拦截body
    this.usingBody = StringUtils.contains(request.getContentType(), "application/json");
    StringBuilder stringBuilder = new StringBuilder();
    BufferedReader bufferedReader = null;
    if (usingBody) {
        try {
            InputStream inputStream = request.getInputStream();
            if (inputStream != null) {
                String ce = request.getCharacterEncoding();
                if (StringUtils.isNotEmpty(ce)) {
                    bufferedReader = new BufferedReader(new InputStreamReader(inputStream, ce));
                } else {
                    bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
                }
                char[] charBuffer = new char[128];
                int bytesRead;
                while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
                    stringBuilder.append(charBuffer, 0, bytesRead);
                }
            }
        } finally {
            IOUtils.closeQuietly(bufferedReader);
        }
    }
    body = stringBuilder.toString();
}
 
源代码13 项目: mt-flume   文件: JSONHandler.java
/**
 * {@inheritDoc}
 */
@Override
public List<Event> getEvents(HttpServletRequest request) throws Exception {
  BufferedReader reader = request.getReader();
  String charset = request.getCharacterEncoding();
  //UTF-8 is default for JSON. If no charset is specified, UTF-8 is to
  //be assumed.
  if (charset == null) {
    LOG.debug("Charset is null, default charset of UTF-8 will be used.");
    charset = "UTF-8";
  } else if (!(charset.equalsIgnoreCase("utf-8")
          || charset.equalsIgnoreCase("utf-16")
          || charset.equalsIgnoreCase("utf-32"))) {
    LOG.error("Unsupported character set in request {}. "
            + "JSON handler supports UTF-8, "
            + "UTF-16 and UTF-32 only.", charset);
    throw new UnsupportedCharsetException("JSON handler supports UTF-8, "
            + "UTF-16 and UTF-32 only.");
  }

  /*
   * Gson throws Exception if the data is not parseable to JSON.
   * Need not catch it since the source will catch it and return error.
   */
  List<Event> eventList = new ArrayList<Event>(0);
  try {
    eventList = gson.fromJson(reader, listType);
  } catch (JsonSyntaxException ex) {
    throw new HTTPBadRequestException("Request has invalid JSON Syntax.", ex);
  }

  for (Event e : eventList) {
    ((JSONEvent) e).setCharset(charset);
  }
  return getSimpleEvents(eventList);
}
 
源代码14 项目: cerberus-source   文件: UpdateCampaign.java
private List<ScheduleEntry> getScheduleEntryListFromParameter(HttpServletRequest request, ApplicationContext appContext, String campaign, JSONArray json) throws JSONException {
    List<ScheduleEntry> scheList = new ArrayList<>();
    IScheduleEntryService scheService = appContext.getBean(IScheduleEntryService.class);
    IFactoryScheduleEntry scheFactory = appContext.getBean(IFactoryScheduleEntry.class);
    PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS);
    String charset = request.getCharacterEncoding() == null ? "UTF-8" : request.getCharacterEncoding();
    for (int i = 0; i < json.length(); i++) {
        JSONObject tcsaJson = json.getJSONObject(i);
        // Parameter that are already controled by GUI (no need to decode) --> We SECURE them
        boolean delete = tcsaJson.getBoolean("toDelete");
        String cronExpression = policy.sanitize(tcsaJson.getString("cronDefinition"));
        String active = policy.sanitize(tcsaJson.getString("active"));
        String strId = tcsaJson.getString("ID");
        String desc = tcsaJson.getString("description");
        String type = "CAMPAIGN";
        String name = campaign;

        int id;
        if (strId.isEmpty()) {
            id = 0;
        } else {
            try {
                id = Integer.parseInt(strId);
            } catch (NumberFormatException e) {
                LOG.warn("Unable to parse pool size: " + strId + ". Applying default value");
                id = 0;
            }
        }

        Timestamp timestampfactice = new Timestamp(System.currentTimeMillis());

        if (!delete) {
            ScheduleEntry sch = scheFactory.create(id, type, name, cronExpression, timestampfactice, active, desc, request.getRemoteUser(), timestampfactice, request.getRemoteUser(), timestampfactice);
            scheList.add(sch);
        }
    }
    return scheList;
}
 
源代码15 项目: cerberus-source   文件: CreateInvariant.java
/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, CerberusException, JSONException {
    JSONObject jsonResponse = new JSONObject();
    Answer ans = new Answer();
    MessageEvent msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);
    msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", ""));
    ans.setResultMessage(msg);
    PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS);
    String charset = request.getCharacterEncoding() == null ? "UTF-8" : request.getCharacterEncoding();

    String id = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("idName"), "", charset);
    String value = request.getParameter("value");
    String description = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("description"), "", charset);
    String veryShortDescField = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("veryShortDesc"), "", charset);
    String gp1 = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("gp1"), "", charset);
    String gp2 = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("gp2"), "", charset);
    String gp3 = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("gp3"), "", charset);
    String gp4 = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("gp4"), "", charset);
    String gp5 = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("gp5"), "", charset);
    String gp6 = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("gp6"), "", charset);
    String gp7 = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("gp7"), "", charset);
    String gp8 = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("gp8"), "", charset);
    String gp9 = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("gp9"), "", charset);

    Integer sort = 10;
    boolean sort_error = false;
    try {
        if (request.getParameter("sort") != null && !request.getParameter("sort").equals("")) {
            sort = Integer.valueOf(policy.sanitize(request.getParameter("sort")));
        }
    } catch (Exception ex) {
        sort_error = true;
    }

    /**
     * Checking all constrains before calling the services.
     */
    if (StringUtil.isNullOrEmpty(id)) {
        msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_EXPECTED);
        msg.setDescription(msg.getDescription().replace("%ITEM%", "Invariant")
                .replace("%OPERATION%", "Create")
                .replace("%REASON%", "Invariant name is missing!"));
        ans.setResultMessage(msg);
    } else if (sort_error) {
        msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_EXPECTED);
        msg.setDescription(msg.getDescription().replace("%ITEM%", "Invariant")
                .replace("%OPERATION%", "Create")
                .replace("%REASON%", "Could not manage to convert sort to an integer value!"));
        ans.setResultMessage(msg);
    } else {
        /**
         * All data seems cleans so we can call the services.
         */

        ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
        IInvariantService invariantService = appContext.getBean(IInvariantService.class);
        IFactoryInvariant factoryInvariant = appContext.getBean(IFactoryInvariant.class);
        Invariant invariantData = factoryInvariant.create(id, value, sort, description, veryShortDescField, gp1, gp2, gp3, gp4, gp5, gp6, gp7, gp8, gp9);

        if (invariantService.hasPermissionsCreate(invariantData, request)) {
            ans = invariantService.create(invariantData);

            if (ans.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode())) {
                /**
                 * Object updated. Adding Log entry.
                 */
                ILogEventService logEventService = appContext.getBean(LogEventService.class);
                logEventService.createForPrivateCalls("/CreateInvariant", "CREATE", "Create Invariant : ['" + id + "']", request);
            }
        } else {
            msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_EXPECTED);
            msg.setDescription(msg.getDescription().replace("%ITEM%", "Invariant")
                    .replace("%OPERATION%", "Create")
                    .replace("%REASON%", "You are not allowed to do that or invariant is not public."));
            ans.setResultMessage(msg);
        }
    }

    /**
     * Formating and returning the json result.
     */
    jsonResponse.put("messageType", ans.getResultMessage().getMessage().getCodeString());
    jsonResponse.put("message", ans.getResultMessage().getDescription());

    response.getWriter().print(jsonResponse);
    response.getWriter().flush();
}
 
源代码16 项目: cerberus-source   文件: DeleteInvariant.java
/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, CerberusException, JSONException {
    JSONObject jsonResponse = new JSONObject();
    Answer ans = new Answer();
    MessageEvent msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);
    msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", ""));
    ans.setResultMessage(msg);
    PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS);
    String charset = request.getCharacterEncoding() == null ? "UTF-8" : request.getCharacterEncoding();

    response.setContentType("application/json");

    String id = ParameterParserUtil.parseStringParamAndDecodeAndSanitize(request.getParameter("idName"), "", charset);
    String value = request.getParameter("value");

    boolean userHasPermissions = request.isUserInRole("Administrator");

    /**
     * Checking all constrains before calling the services.
     */
    if (StringUtil.isNullOrEmpty(id)) {
        msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_EXPECTED);
        msg.setDescription(msg.getDescription().replace("%ITEM%", "Invariant")
                .replace("%OPERATION%", "Delete")
                .replace("%REASON%", "Invariant name is missing!"));
        ans.setResultMessage(msg);
    } else if (!userHasPermissions) {
        msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_EXPECTED);
        msg.setDescription(msg.getDescription().replace("%ITEM%", "Invariant")
                .replace("%OPERATION%", "Delete")
                .replace("%REASON%", "You don't have the right to do that"));
        ans.setResultMessage(msg);
    } else {
        /**
         * All data seems cleans so we can call the services.
         */

        ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
        IInvariantService invariantService = appContext.getBean(IInvariantService.class);

        Invariant invariantData = invariantService.convert(invariantService.readByKey(id, value));

        if (invariantService.hasPermissionsDelete(invariantData, request)) {
            ans = invariantService.delete(invariantData);

            if (ans.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode())) {
                /**
                 * Object updated. Adding Log entry.
                 */
                ILogEventService logEventService = appContext.getBean(LogEventService.class);
                logEventService.createForPrivateCalls("/DeleteInvariant", "DELETE", "Delete Invariant : ['" + id + "']", request);
            }
        } else {
            msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_EXPECTED);
            msg.setDescription(msg.getDescription().replace("%ITEM%", "Invariant")
                    .replace("%OPERATION%", "Delete")
                    .replace("%REASON%", "You don't have the right to do that."));
            ans.setResultMessage(msg);
        }
    }

    /**
     * Formating and returning the json result.
     */
    jsonResponse.put("messageType", ans.getResultMessage().getMessage().getCodeString());
    jsonResponse.put("message", ans.getResultMessage().getDescription());

    response.getWriter().print(jsonResponse.toString());
    response.getWriter().flush();

}
 
源代码17 项目: datax-web   文件: ServletUtils.java
/**
 * 描述:获取 post 请求内容
 * <pre>
 * 举例:
 * </pre>
 *
 * @param request
 * @return
 * @throws IOException
 */
public static String getRequestPostStr(HttpServletRequest request) throws IOException {
    byte buffer[] = getRequestPostBytes(request);
    String charEncoding = request.getCharacterEncoding();
    if (charEncoding == null) {
        charEncoding = "UTF-8";
    }
    return new String(buffer, charEncoding);
}
 
源代码18 项目: lams   文件: UrlPathHelper.java
/**
 * Determine the encoding for the given request.
 * Can be overridden in subclasses.
 * <p>The default implementation checks the request encoding,
 * falling back to the default encoding specified for this resolver.
 * @param request current HTTP request
 * @return the encoding for the request (never {@code null})
 * @see javax.servlet.ServletRequest#getCharacterEncoding()
 * @see #setDefaultEncoding
 */
protected String determineEncoding(HttpServletRequest request) {
	String enc = request.getCharacterEncoding();
	if (enc == null) {
		enc = getDefaultEncoding();
	}
	return enc;
}
 
源代码19 项目: Lottery   文件: CosMultipartResolver.java
/**
 * Determine the encoding for the given request. Can be overridden in
 * subclasses.
 * <p>
 * The default implementation checks the request encoding, falling back to
 * the default encoding specified for this resolver.
 * 
 * @param request
 *            current HTTP request
 * @return the encoding for the request (never <code>null</code>)
 * @see javax.servlet.ServletRequest#getCharacterEncoding
 * @see #setDefaultEncoding
 */
protected String determineEncoding(HttpServletRequest request) {
	String enc = request.getCharacterEncoding();
	if (enc == null) {
		enc = this.defaultEncoding;
	}
	return enc;
}
 
源代码20 项目: j360-dubbo-app-all   文件: WebUtils.java
/**
 * Determine the encoding for the given request.
 * Can be overridden in subclasses.
 * <p>The default implementation checks the request's
 * {@link ServletRequest#getCharacterEncoding() character encoding}, and if that
 * <code>null</code>, falls back to the {@link #DEFAULT_CHARACTER_ENCODING}.
 *
 * @param request current HTTP request
 * @return the encoding for the request (never <code>null</code>)
 * @see javax.servlet.ServletRequest#getCharacterEncoding()
 */
protected static String determineEncoding(HttpServletRequest request) {
    String enc = request.getCharacterEncoding();
    if (enc == null) {
        enc = DEFAULT_CHARACTER_ENCODING;
    }
    return enc;
}