javax.servlet.http.HttpServletResponse#flushBuffer()源码实例Demo

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

源代码1 项目: flex-blazeds   文件: BaseStreamingHTTPEndpoint.java
/**
 * Helper method to write a chunk of bytes to the output stream in an HTTP
 * "Transfer-Encoding: chunked" format.
 * If the bytes array is null or empty, a terminal chunk will be written to
 * signal the end of the response.
 * Once the chunk is written to the output stream, the stream will be flushed immediately (no buffering).
 *
 * @param bytes The array of bytes to write as a chunk in the response; or if null, the signal to write the final chunk to complete the response.
 * @param os The output stream the chunk will be written to.
 * @param response The HttpServletResponse, used to flush the chunk to the client.
 *
 * @throws IOException if writing the chunk to the output stream fails.
 */
protected void streamChunk(byte[] bytes, ServletOutputStream os, HttpServletResponse response) throws IOException
{
    if ((bytes != null) && (bytes.length > 0))
    {
        byte[] chunkLength = Integer.toHexString(bytes.length).getBytes("ASCII");
        os.write(chunkLength);
        os.write(CRLF_BYTES);
        os.write(bytes);
        os.write(CRLF_BYTES);
        response.flushBuffer();
    }
    else // Send final 'EOF' chunk for the response.
    {
        os.write(ZERO_BYTE);
        os.write(CRLF_BYTES);
        response.flushBuffer();
    }
}
 
源代码2 项目: Tomcat8-Source-Read   文件: TestHttp11Processor.java
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {

    resp.setContentType("text/plain");
    resp.setCharacterEncoding("UTF-8");
    if (!useChunks) {
        // Longer than it needs to be because response will fail before
        // it is complete
        resp.setContentLength(100);
    }
    PrintWriter pw = resp.getWriter();
    pw.print("line01");
    pw.flush();
    resp.flushBuffer();
    pw.print("line02");
    pw.flush();
    resp.flushBuffer();
    pw.print("line03");

    // Now throw a RuntimeException to end this request
    throw new ServletException("Deliberate failure");
}
 
public ActionForward retrieveLearningAgreement(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    MobilityIndividualApplicationProcess process = (MobilityIndividualApplicationProcess) getProcess(request);

    final LearningAgreementDocument document = new LearningAgreementDocument(process);
    byte[] data = ReportsUtils.generateReport(document).getData();

    response.setContentLength(data.length);
    response.setContentType("application/pdf");
    response.addHeader("Content-Disposition", "attachment; filename=" + document.getReportFileName() + ".pdf");

    final ServletOutputStream writer = response.getOutputStream();
    writer.write(data);
    writer.flush();
    writer.close();

    response.flushBuffer();
    return mapping.findForward("");
}
 
@RequestMapping(value = {"org.apache.olingo.v1.xml", "org.teiid.v1.xml"})
public void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
    String pathInfo = request.getRequestURI();

    try {
        int idx = pathInfo.indexOf("/static");
        pathInfo = pathInfo.substring(idx+7);
        InputStream contents = getClass().getResourceAsStream(pathInfo);
        if (contents != null) {
            writeContent(response, contents);
            response.flushBuffer();
            return;
        }
        throw new TeiidProcessingException(ODataPlugin.Util.gs(ODataPlugin.Event.TEIID16055, pathInfo));
    } catch (TeiidProcessingException e) {
        writeError(request, e.getCode(), e.getMessage(), response, 404);
    }
}
 
源代码5 项目: molicode   文件: CookieUtils.java
/**
 * 添加一条新的Cookie,可以指定过期时间(单位:秒)
 *
 * @param response
 * @param name
 * @param value
 * @param maxValue
 */
public static void setCookie(HttpServletResponse response, String name,
                             String value, int maxValue) {
    if (StringUtils.isBlank(name)) {
        return;
    }
    if (null == value) {
        value = "";
    }
    Cookie cookie = new Cookie(name, value);
    cookie.setPath("/");
    if (maxValue != 0) {
        cookie.setMaxAge(maxValue);
    } else {
        cookie.setMaxAge(COOKIE_HALF_HOUR);
    }
    response.addCookie(cookie);
    try {
        response.flushBuffer();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
 
public ActionForward exportXLS(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws IOException {
    SpecialSeasonStatusTrackerBean bean = getRenderedObject();
    final Spreadsheet spreadsheet = generateSpreadsheet(bean);

    response.setContentType("application/vnd.ms-excel");
    response.setHeader("Content-disposition", "attachment; filename=" + getFilename(bean) + ".xls");
    spreadsheet.exportToXLSSheet(response.getOutputStream());
    response.getOutputStream().flush();
    response.flushBuffer();
    return null;
}
 
@Override
public void handle(HttpServletRequest request,
				   HttpServletResponse response,
				   AccessDeniedException accessDeniedException) throws IOException, ServletException {
	logger.error("The ajax request access is denied.", accessDeniedException);
	response.setStatus(HttpServletResponse.SC_FORBIDDEN);
	response.getWriter()
			.append(String.format("{\"succeed\":false,\"message\":\"%s\"}", accessDeniedException.getMessage()));
	response.flushBuffer();
}
 
源代码8 项目: putnami-web-toolkit   文件: SiteMapController.java
@RequestMapping(value = "/sitemap.txt", method = RequestMethod.GET)
public void welcomePage(HttpServletResponse response) {
	try {
		InputStream is = new FileInputStream(sitemap);
		response.setContentType("text/plain");
		response.setContentLength((int) sitemap.length());
		IOUtils.copy(is, response.getOutputStream());
		response.flushBuffer();
	} catch (IOException ex) {
		throw new RuntimeException("IOError writing file to output stream", ex);
	}
}
 
源代码9 项目: Tomcat8-Source-Read   文件: Http2TestBase.java
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    // Generate an empty response
    resp.setContentType("application/octet-stream");
    resp.setContentLength(0);
    resp.flushBuffer();
}
 
源代码10 项目: tomcatsrc   文件: TestCookiesDisallowEquals.java
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
    Cookie cookies[] = req.getCookies();
    for (Cookie cookie : cookies) {
        resp.getWriter().write(cookie.getName() + "=" +
                cookie.getValue() + "\n");
    }
    resp.flushBuffer();
}
 
public ActionForward prepareExecutePrintCandidaciesFromExternalDegrees(ActionMapping mapping, ActionForm actionForm,
        HttpServletRequest request, HttpServletResponse response) throws IOException {

    response.setContentType("application/vnd.ms-excel");
    response.setHeader(
            "Content-disposition",
            "attachment; filename="
                    + BundleUtil.getString(Bundle.APPLICATION, "label.candidacy.degreeChange.external.report.filename")
                    + ".xls");
    writeReportForExternalDegrees(getProcess(request), response.getOutputStream());
    response.getOutputStream().flush();
    response.flushBuffer();
    return null;
}
 
源代码12 项目: Tomcat8-Source-Read   文件: TestHttp11Processor.java
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    resp.setStatus(HttpServletResponse.SC_OK);
    resp.setContentType("text/event-stream");
    resp.addHeader("Connection", "close");
    resp.flushBuffer();
    resp.getWriter().write("OK");
    resp.flushBuffer();
}
 
源代码13 项目: java2word   文件: AllInOneAction.java
public ActionForward execute(ActionMapping mapping, ActionForm form,
		HttpServletRequest request, HttpServletResponse response)
		throws Exception {
	log.info("@@@ Generating report...");

	buildReport(response);

	response.flushBuffer();

	log.info("@@@ Document has been written to the servlet response...");
	return null; //or maybe: return mapping.findForward("ok");
}
 
源代码14 项目: XRTB   文件: WebMQSubscriber.java
public WebMQSubscriber(HttpServletResponse response, String port, String topics) {
	  // Prepare our context and subscriber
	
	
       Context context = ZMQ.context(1);
       Socket subscriber = context.socket(ZMQ.SUB);

       subscriber.connect("tcp://localhost:" + port);
       
       String [] parts = topics.split(",");
       for (String topic : parts) {
       	subscriber.subscribe(topic.getBytes());
       }

       while (!Thread.currentThread ().isInterrupted ()) {
           // Read envelope with address
           String address = subscriber.recvStr ();
           // Read message contents
           String contents = subscriber.recvStr ();
           Map m = new HashMap();
           m.put("topic", address);
           m.put("message", contents);
          
           try {
           	contents = mapper.writeValueAsString(m);
			response.getWriter().println(contents);
			response.flushBuffer();       	
		} catch (IOException e) {
			//e.printStackTrace();
			break;
		}               
       }
       subscriber.close ();
       context.term ();
}
 
public ActionForward prepareExecutePrintCandidacies(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request,
        HttpServletResponse response) throws IOException {

    response.setContentType("application/vnd.ms-excel");
    response.setHeader("Content-disposition", "attachment; filename=" + getReportFilename());

    final ServletOutputStream writer = response.getOutputStream();
    writeReport(getProcess(request), writer);
    writer.flush();
    response.flushBuffer();
    return null;
}
 
源代码16 项目: qconfig   文件: ClientUploadController.java
private void write(HttpServletResponse response, int code, String message) throws IOException {
    String codeValue = String.valueOf(code);
    if (code != ApiResponseCode.OK_CODE) {
        Monitor.clientUpdateFileCountInc(code);
        logger.info("client upload file failOf, code=[{}], message=[{}]", code, message);
    }

    response.setHeader(Constants.CODE, codeValue);
    response.getWriter().write(message);
    response.flushBuffer();
}
 
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
	log.debug("doGet({}, {})", request, response);
	request.setCharacterEncoding("UTF-8");
	String repoPath = WebUtils.getString(request, "repoPath", "/" + Repository.ROOT);
	boolean fast = WebUtils.getBoolean(request, "fast");
	boolean versions = WebUtils.getBoolean(request, "versions");
	boolean checksum = WebUtils.getBoolean(request, "checksum");
	updateSessionManager(request);
	PrintWriter out = response.getWriter();
	response.setContentType(MimeTypeConfig.MIME_HTML);
	header(out, "Repository checker", breadcrumb);
	out.flush();

	try {
		if (!repoPath.equals("")) {
			out.println("<ul>");

			// Calculate number of nodes
			out.println("<li>Calculate number of nodes</li>");
			out.flush();
			response.flushBuffer();
			log.debug("Calculate number of nodes");

			ContentInfo cInfo = OKMFolder.getInstance().getContentInfo(null, repoPath);

			out.println("<li>Documents: " + cInfo.getDocuments() + "</li>");
			out.println("<li>Folders: " + cInfo.getFolders() + "</li>");
			out.println("<li>Checking repository integrity</li>");
			out.flush();
			response.flushBuffer();
			log.debug("Checking repository integrity");

			long begin = System.currentTimeMillis();
			ImpExpStats stats = null;

			if (Config.REPOSITORY_NATIVE) {
				InfoDecorator id = new HTMLInfoDecorator((int) cInfo.getDocuments());
				stats = DbRepositoryChecker.checkDocuments(null, repoPath, fast, versions, checksum, out, id);
			} else {
				// Other implementation
			}

			long end = System.currentTimeMillis();

			// Finalized
			out.println("<li>Repository check completed!</li>");
			out.println("</ul>");
			out.flush();
			log.debug("Repository check completed!");

			out.println("<hr/>");
			out.println("<div class=\"ok\">Path: " + repoPath + "</div>");
			out.println("<div class=\"ok\">Fast: " + fast + "</div>");
			out.println("<div class=\"ok\">Versions: " + versions + "</div>");

			if (Config.REPOSITORY_NATIVE && Config.REPOSITORY_CONTENT_CHECKSUM) {
				out.println("<div class=\"ok\">Checkum: " + checksum + "</div>");
			} else {
				out.println("<div class=\"warn\">Checkum: disabled</div>");
			}

			out.println("<br/>");
			out.println("<b>Documents:</b> " + stats.getDocuments() + "<br/>");
			out.println("<b>Folders:</b> " + stats.getFolders() + "<br/>");
			out.println("<b>Size:</b> " + FormatUtil.formatSize(stats.getSize()) + "<br/>");
			out.println("<b>Time:</b> " + FormatUtil.formatSeconds(end - begin) + "<br/>");

			// Activity log
			UserActivity.log(request.getRemoteUser(), "ADMIN_REPOSITORY_CHECKER", null, null, "Documents: " + stats.getDocuments()
					+ ", Folders: " + stats.getFolders() + ", Size: " + FormatUtil.formatSize(stats.getSize()) + ", Time: "
					+ FormatUtil.formatSeconds(end - begin));
		}
	} catch (Exception e) {
		log.error(e.getMessage(), e);
	} finally {
		footer(out);
		out.flush();
		out.close();
	}
}
 
源代码18 项目: qconfig   文件: EntryPointV2Servlet.java
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String result = getResult(req);
    resp.getWriter().write(result);
    resp.flushBuffer();
}
 
源代码19 项目: jeecg   文件: SystemController.java
/**
 * 获取图片流/获取文件用于下载
 * @param response
 * @param request
 * @throws Exception
 */
@RequestMapping(value="downloadFile",method = RequestMethod.GET)
public void downloadFile(HttpServletResponse response,HttpServletRequest request) throws Exception{
	String ctxPath = request.getSession().getServletContext().getRealPath("/");
	String dbpath = request.getParameter("filePath");
	String downLoadPath = ctxPath + dbpath;

	if(UrlCheckUtil.checkUrl(downLoadPath)){
		return;
	}

	response.setContentType("application/x-msdownload;charset=utf-8");
	String fileName=dbpath.substring(dbpath.lastIndexOf("/")+1);
	String userAgent = request.getHeader("user-agent").toLowerCase();
	if (userAgent.contains("msie") || userAgent.contains("like gecko") ) {
		fileName = URLEncoder.encode(fileName, "UTF-8");
	}else {  
		fileName = new String(fileName.getBytes("UTF-8"), "iso-8859-1");  
	} 
	response.setHeader("Content-disposition", "attachment; filename="+ fileName);
	InputStream inputStream = null;
	OutputStream outputStream=null;
	try {
		inputStream = new BufferedInputStream(new FileInputStream(downLoadPath));
		outputStream = response.getOutputStream();
		byte[] buf = new byte[1024];
        int len;
        while ((len = inputStream.read(buf)) > 0) {
            outputStream.write(buf, 0, len);
        }
        response.flushBuffer();
	} catch (Exception e) {
		logger.info("--通过流的方式获取文件异常--"+e.getMessage());
	}finally{
		if(inputStream!=null){
			inputStream.close();
		}
		if(outputStream!=null){
			outputStream.close();
		}
	}
}
 
源代码20 项目: yes-cart   文件: ImageFilter.java
public void handleRequestInternal(final HttpServletRequest httpServletRequest,
                                  final HttpServletResponse httpServletResponse) throws ServletException, IOException {

    final String previousToken = httpServletRequest.getHeader(IF_NONE_MATCH);
    final String currentToken = getETagValue(httpServletRequest);

    httpServletResponse.setHeader(ETAG, currentToken);

    if (currentToken.equals(previousToken) &&
            ZonedDateTime.now(
                    DateUtils.zone()
            ).isBefore(
                    DateUtils.zdtFrom(httpServletRequest.getDateHeader(IF_MODIFIED_SINCE)).plusMinutes(getEtagExpiration())
            )) {
        httpServletResponse.sendError(HttpServletResponse.SC_NOT_MODIFIED);
        // use the same date we sent when we created the ETag the first time through
        httpServletResponse.setHeader(LAST_MODIFIED, httpServletRequest.getHeader(IF_MODIFIED_SINCE));
        if (LOG.isDebugEnabled()) {
            LOG.debug("ETag the same, will return 304");
        }
    } else {

        /*
            RequestURI  -> /yes-shop/imgvault/product/image.png
            ContextPath -> /yes-shop
            ServletPath ->          /imgvault/product/image.png

            RequestURI  -> /imgvault/product/image.png
            ContextPath ->
            ServletPath -> /imgvault/product/image.png
         */

        final String requestPath = HttpUtil.decodeUtf8UriParam(httpServletRequest.getRequestURI());
        final String contextPath = httpServletRequest.getContextPath();
        final String servletPath = requestPath.substring(contextPath.length());

        httpServletResponse.setDateHeader(LAST_MODIFIED, System.currentTimeMillis());

        final String width = httpServletRequest.getParameter(Constants.WIDTH);
        final String height = httpServletRequest.getParameter(Constants.HEIGHT);


        final MediaFileNameStrategy mediaFileNameStrategy = imageService.getImageNameStrategy(servletPath);

        String code = mediaFileNameStrategy.resolveObjectCode(servletPath);  //optional product or sku code
        String locale = mediaFileNameStrategy.resolveLocale(servletPath);  //optional locale
        String originalFileName = mediaFileNameStrategy.resolveFileName(servletPath);  //here file name with prefix

        final String imageRealPathPrefix = getImageRepositoryRoot(mediaFileNameStrategy.getUrlPath());

        String absolutePathToOriginal =
                        imageRealPathPrefix +
                        mediaFileNameStrategy.resolveRelativeInternalFileNamePath(originalFileName, code, locale); //path to not resized image


        final boolean origFileExists = imageService.isImageInRepository(originalFileName, code, mediaFileNameStrategy.getUrlPath(), imageRealPathPrefix);

        if (!origFileExists) {
            code = Constants.NO_IMAGE;
            originalFileName = mediaFileNameStrategy.resolveFileName(code);  //here file name with prefix
            absolutePathToOriginal =
                    imageRealPathPrefix +
                            mediaFileNameStrategy.resolveRelativeInternalFileNamePath(originalFileName, code, locale); //path to not resized image
        }


        String absolutePathToResized = null;
        if (width != null && height != null && imageService.isSizeAllowed(width, height)) {
            absolutePathToResized =
                    imageRealPathPrefix +
                            mediaFileNameStrategy.resolveRelativeInternalFileNamePath(originalFileName, code, locale, width, height);
        }

        final byte[] imageFile = getImageFile(absolutePathToOriginal, absolutePathToResized, width, height);
        if (imageFile != null && imageFile.length > 0) {
            httpServletResponse.getOutputStream().write(imageFile);
            httpServletResponse.flushBuffer();
        } else {
            httpServletResponse.sendError(HttpServletResponse.SC_NOT_FOUND);
        }
    }
}