public void download(HttpServletResponse response, String filename) throws IOException { StringTokenizer tokenTO = new StringTokenizer(filename, "\\"); int j = 0; String[] filepath1 = new String[10]; while (tokenTO.hasMoreTokens()) { filepath1[j] = tokenTO.nextToken(); j++; } String filepath = ""; for (int m = 0; m < j - 1; m++) { filepath = filepath + filepath1[m] + "\\"; } filepath = filepath + filepath1[j - 1]; File down_file = new java.io.File(filepath); long l = down_file.length(); // 文件长度 InputStream in = new FileInputStream(down_file); if (in != null) { try { String fs = down_file.getName(); response.reset(); response.setContentType(null); // String s = "attachment; filename=" + fs; // response.setHeader("Content-Disposition", s); // 以上输出文件元信息 OutputStream output = null; FileInputStream fis = null; output = response.getOutputStream(); fis = new FileInputStream(filepath); response.setContentLength((int) l); byte[] b = new byte[2048]; int i = 0; while ((i = fis.read(b)) > 0) { output.write(b, 0, i); } output.flush(); in.close(); } catch (Exception e) { e.printStackTrace(); } } }
static void returnOembed(HttpServletRequest request, HttpServletResponse response) throws Exception { String url = request.getParameter("url"); if (url == null) throw new Exception("No subject URL found."); String retUrl = request.getParameter(S3Servlet.URL_PARAM); if (retUrl == null && !S3Servlet.testing) throw new Exception("Recieved no launch presentation return url"); Enumeration<String> en = request.getParameterNames(); ArrayList<String> keys = new ArrayList<String>(), vals = new ArrayList<String>(); String key, value; while (en.hasMoreElements()) { key = en.nextElement(); if ("action".equals(key)) continue; if ("launch_presentation_return_url".equals(key)) continue; if ("url".equals(key)) continue; if ((value = request.getParameter(key)) != null) { keys.add(key); vals.add(value); } // if// } // while// String endpoint = S3Servlet.makeUrl( S3Servlet.server + S3Servlet.prefix + "/" + S3Action.oembed, keys.toArray(new String[keys.size()]), vals.toArray(new String[vals.size()])); String oembedUrl = S3Servlet.makeUrl( retUrl, new String[] {"embed_type", "endpoint", "url"}, new String[] {"oembed", endpoint, url}); response.reset(); response.sendRedirect(oembedUrl); } // returnOembed//
static void returnLink(HttpServletRequest request, HttpServletResponse response) throws Exception { String url = request.getParameter("url"); if (url == null) throw new Exception("No subject URL found."); String text = request.getParameter("text"); if (text == null) throw new Exception("No link text found."); String retUrl = request.getParameter(S3Servlet.URL_PARAM); if (retUrl == null && !S3Servlet.testing) throw new Exception("Recieved no launch presentation return url"); String title = request.getParameter("title"); String target = request.getParameter("target") == null ? "null" : "_blank"; String oembedUrl = S3Servlet.makeUrl( retUrl, new String[] {"embed_type", "url", "title", "text", "target"}, new String[] {"link", url, title, text, target}); response.reset(); response.sendRedirect(oembedUrl); } // returnLink//
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { response.setHeader("Cache-Control", "no-cache"); response.setCharacterEncoding("UTF-8"); String task = request.getParameter("task"); Element data = null; // process help request if (request.getParameter("help") != null) data = getDescription(task); // redirect to home page if there is no task if (data == null && task == null) { response.setContentType("text/html"); response .getWriter() .append( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"><html><head><meta http-equiv=\"REFRESH\" content=\"0;url=" + context.getInitParameter("server_path") + "></head><body></body></html>"); return; } // process definition request if (data == null && task.equals("define")) { int id = resolveIntegerArg(request.getParameter("id"), -1); int length = resolveIntegerArg(request.getParameter("length"), definer.getDefaultLength()); int format = resolveIntegerArg(request.getParameter("format"), definer.getDefaultFormat()); int maxImageWidth = resolveIntegerArg( request.getParameter("maxImageWidth"), definer.getDefaultMaxImageWidth()); int maxImageHeight = resolveIntegerArg( request.getParameter("maxImageHeight"), definer.getDefaultMaxImageHeight()); int linkDestination = resolveIntegerArg( request.getParameter("linkDestination"), definer.getDefaultLinkDestination()); boolean getImages = resolveBooleanArg(request.getParameter("getImages"), false); data = definer.getDefinition( id, length, format, linkDestination, getImages, maxImageWidth, maxImageHeight); } // all of the remaining tasks require data to be cached, so lets make sure that is finished // before continuing. if (!cachingThread.isOk()) throw new ServletException("Could not cache wikipedia data"); double progress = cachingThread.getProgress(); if (data == null && (progress < 1 || task.equals("progress"))) { // still caching up data, not ready to return a response yet. data = doc.createElement("loading"); data.setAttribute("progress", df.format(progress)); task = "loading"; } // process search request if (data == null && task.equals("search")) { String term = request.getParameter("term"); String id = request.getParameter("id"); int linkLimit = resolveIntegerArg(request.getParameter("linkLimit"), searcher.getDefaultMaxLinkCount()); int senseLimit = resolveIntegerArg( request.getParameter("senseLimit"), searcher.getDefaultMaxSenseCount()); if (id == null) data = searcher.doSearch(term, linkLimit, senseLimit); else data = searcher.doSearch(Integer.parseInt(id), linkLimit); } // process compare request if (data == null && task.equals("compare")) { String term1 = request.getParameter("term1"); String term2 = request.getParameter("term2"); int linkLimit = resolveIntegerArg(request.getParameter("linkLimit"), comparer.getDefaultMaxLinkCount()); boolean details = resolveBooleanArg(request.getParameter("details"), comparer.getDefaultShowDetails()); data = comparer.getRelatedness(term1, term2, details, linkLimit); } // process wikify request if (data == null && task.equals("wikify")) { if (this.wikifier == null) throw new ServletException( "Wikifier is not available. You must configure the servlet so that it has access to link detection and disambiguation models."); String source = request.getParameter("source"); int sourceMode = resolveIntegerArg(request.getParameter("sourceMode"), Wikifier.SOURCE_AUTODETECT); String linkColor = request.getParameter("linkColor"); String baseColor = request.getParameter("baseColor"); double minProb = resolveDoubleArg( request.getParameter("minProbability"), wikifier.getDefaultMinProbability()); int repeatMode = resolveIntegerArg(request.getParameter("repeatMode"), wikifier.getDefaultRepeatMode()); boolean showTooltips = resolveBooleanArg( request.getParameter("showTooltips"), wikifier.getDefaultShowTooltips()); String bannedTopics = request.getParameter("bannedTopics"); boolean wrapInXml = resolveBooleanArg(request.getParameter("wrapInXml"), true); if (wrapInXml) { data = wikifier.wikifyAndWrapInXML( source, sourceMode, minProb, repeatMode, bannedTopics, baseColor, linkColor, showTooltips); } else { response.setContentType("text/html"); response .getWriter() .append( wikifier.wikify( source, sourceMode, minProb, repeatMode, bannedTopics, baseColor, linkColor, showTooltips)); return; } } if (data == null) throw new Exception("Unknown Task"); // wrap data Element wrapper = doc.createElement("WikipediaMinerResponse"); wrapper.setAttribute("server_path", context.getInitParameter("server_path")); wrapper.setAttribute("service_name", context.getInitParameter("service_name")); wrapper.appendChild(data); data = wrapper; // Transform or serialize xml data as appropriate Transformer tf = null; if (request.getParameter("xml") == null) { // we need to transform the data into html tf = transformersByName.get(task); if (request.getParameter("help") != null) tf = transformersByName.get("help"); } if (tf == null) { // we need to serialize the data as xml tf = transformersByName.get("serializer"); response.setContentType("application/xml"); } else { // output will be transformed to html response.setContentType("text/html"); response .getWriter() .append( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n"); } tf.transform(new DOMSource(data), new StreamResult(response.getWriter())); } catch (Exception error) { response.reset(); response.setContentType("application/xml"); response.setHeader("Cache-Control", "no-cache"); response.setCharacterEncoding("UTF8"); Element xmlError = doc.createElement("Error"); if (error.getMessage() != null) xmlError.setAttribute("message", error.getMessage()); Element xmlStackTrace = doc.createElement("StackTrace"); xmlError.appendChild(xmlStackTrace); for (StackTraceElement ste : error.getStackTrace()) { Element xmlSte = doc.createElement("StackTraceElement"); xmlSte.setAttribute("message", ste.toString()); xmlStackTrace.appendChild(xmlSte); } try { transformersByName .get("serializer") .transform(new DOMSource(xmlError), new StreamResult(response.getWriter())); } catch (Exception e) { // TODO: something for when an error is thrown processing an error???? } ; } }
public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { JspFactory _jspxFactory = null; PageContext pageContext = null; HttpSession session = null; ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; JspWriter _jspx_out = null; PageContext _jspx_page_context = null; try { _jspxFactory = JspFactory.getDefaultFactory(); response.setContentType("text/html;charset=gb2312"); pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true); _jspx_page_context = pageContext; application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); _jspx_out = out; out.write("\r\n"); out.write("\r\n"); String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; out.write("\r\n"); out.write("\r\n"); response.reset(); response.setContentType("application/msexcel"); response.setHeader("Content-disposition", "inline;filename=tqgbstudent.xls"); // 定义文件名 DecimalFormat f = new DecimalFormat("#,##0.00"); HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("sheet1"); String[] id = request.getParameterValues("id"); String[] name = request.getParameterValues("name"); String[] xuehao = request.getParameterValues("xuehao"); String[] sex = request.getParameterValues("sex"); String[] sszy = request.getParameterValues("sszy"); String[] nbzy = request.getParameterValues("nbzy"); String[] sd = request.getParameterValues("sd"); String[] nbbd = request.getParameterValues("nbbd"); String[] cjpm = request.getParameterValues("cjpm"); String[] beizhu = request.getParameterValues("beizhu"); String[] tel = request.getParameterValues("tel"); // 以下以写表头 // 表头为第一行 HSSFRow row = sheet.createRow((short) 0); // 定义10列 HSSFCell cell1 = row.createCell((short) 0); HSSFCell cell2 = row.createCell((short) 1); HSSFCell cell3 = row.createCell((short) 2); HSSFCell cell4 = row.createCell((short) 3); HSSFCell cell5 = row.createCell((short) 4); HSSFCell cell6 = row.createCell((short) 5); HSSFCell cell7 = row.createCell((short) 6); HSSFCell cell8 = row.createCell((short) 7); HSSFCell cell9 = row.createCell((short) 8); HSSFCell cell10 = row.createCell((short) 9); HSSFCell cell11 = row.createCell((short) 10); cell1.setEncoding((short) 1); cell1.setCellType(1); cell2.setEncoding((short) 1); cell2.setCellType(1); cell3.setEncoding((short) 1); cell3.setCellType(1); cell4.setEncoding((short) 1); cell4.setCellType(1); cell5.setEncoding((short) 1); cell5.setCellType(0); cell6.setEncoding((short) 1); cell6.setCellType(1); cell7.setEncoding((short) 1); cell7.setCellType(1); cell8.setEncoding((short) 1); cell8.setCellType(1); cell9.setEncoding((short) 1); cell9.setCellType(1); cell10.setEncoding((short) 1); cell10.setCellType(1); cell11.setEncoding((short) 1); cell11.setCellType(1); // 定义表头的内容 cell1.setCellValue("序号"); cell2.setCellValue("姓名"); cell3.setCellValue("学号"); cell4.setCellValue("性别"); cell5.setCellValue("硕士专业"); cell6.setCellValue("拟报博士专业"); cell7.setCellValue("原硕导"); cell8.setCellValue("拟报博导"); cell9.setCellValue("学位课加权成绩排名"); cell10.setCellValue("备注"); cell11.setCellValue("联系方式"); for (int i = 0; i < name.length; i++) { // 定义数据从第二行开始 row = sheet.createRow((short) i + 1); cell1 = row.createCell((short) 0); cell2 = row.createCell((short) 1); cell3 = row.createCell((short) 2); cell4 = row.createCell((short) 3); cell5 = row.createCell((short) 4); cell6 = row.createCell((short) 5); cell7 = row.createCell((short) 6); cell8 = row.createCell((short) 7); cell9 = row.createCell((short) 8); cell10 = row.createCell((short) 9); cell11 = row.createCell((short) 10); cell1.setEncoding((short) 1); cell1.setCellType(1); cell2.setEncoding((short) 1); cell2.setCellType(1); cell3.setEncoding((short) 1); cell3.setCellType(1); cell4.setEncoding((short) 1); cell4.setCellType(1); cell5.setEncoding((short) 1); cell5.setCellType(0); cell6.setEncoding((short) 1); cell6.setCellType(1); cell7.setEncoding((short) 1); cell7.setCellType(1); cell8.setEncoding((short) 1); cell8.setCellType(1); cell9.setEncoding((short) 1); cell9.setCellType(1); cell10.setEncoding((short) 1); cell10.setCellType(1); cell11.setEncoding((short) 1); cell11.setCellType(1); // 填充内容 cell1.setCellValue(id[i]); cell2.setCellValue(name[i]); cell3.setCellValue(xuehao[i]); cell4.setCellValue(sex[i]); cell5.setCellValue(sszy[i]); cell6.setCellValue(nbzy[i]); cell7.setCellValue(sd[i]); cell8.setCellValue(nbbd[i]); cell9.setCellValue(cjpm[i]); cell10.setCellValue(beizhu[i]); cell11.setCellValue(tel[i]); } wb.write(response.getOutputStream()); response.getOutputStream().flush(); response.getOutputStream().close(); } catch (Throwable t) { if (!(t instanceof SkipPageException)) { out = _jspx_out; if (out != null && out.getBufferSize() != 0) out.clearBuffer(); if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); } } finally { if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context); } }