Automatically updated JSP download page

zhaozj2021-02-16  95

Automatically updated JSP download page

The method is to pass one JavaBean. JavaBean is excited in the JSBEAN, and when the folder is updated, JavaBean searches for updated files and the existing files. Visitors download. Each of the downloaded files (such as file.zip) has a corresponding description file (such as file.txt), this JavaBean will display the description of the file .txt as a description of the download file as an additional information as a download link. If there is no corresponding .txt description file, "no descrition" will be displayed.

Below is the content of JavaBean

/ * * Created on 2004-7-22 * @Author lingch * * functions: * 1. Search the Directory for Files. * 2. Return The Coresponding .txt description content. * / Package p; import java.io. *; Import java.util. *;

public class files_lookup {File files; Vector result; public files_lookup () {} public Vector lookup_files (String path) // --------- path should be the downloads dir {Vector result = new Vector (); files = new file (path); string sub_files []; if (files.Indirectory ()) {sub_files = files.list (); // --------- List all files under downloads dir} else {Result .add ("path" path "is not a dir"); returnrate;} for (int i = 0; i = 0) {Continue; // ------------- .txt Are Description Files.not for Downloading.} Result.add (Sub_Files [i]);} Return Result;} Public String get_file_description (String file_name) // ---- path should be a file name that collecting info {File file = new File (file_name); String description = "no description"; String f_name = file_name.substring (0, file_name.lastIndexOf (".")); f_name = f_name ". TXT"; // ------ Change the extension file name to .txt filareader rd; bufferedreader brd; try {// r EAD.txt content rd = new fileReader; brd = new bufferedreader (rd); description = brd.readline (); string temp; while ((temp = brd.readline ())! = null) {description = Temp Brd.close ();} catch (filenotfoundexcection ee) {} catch (ooException ee) {} return description;}}}}

The JSP page can organize <% @ Page ContentType = "text / html; charset = GB2312" Language = "" "@ Page Language =" Java "import =" p. * "%> lingch's download page </ title> <meta http-equiv = "content-type" content = "text / html; charset = GB2312"> </ head> <body> <% string path = getServletconfig (). getServletContext (). getRealPath ("//") "// Downloads"; Vector v = lb.lookup_files (path); if (v! = null) {for (int i = 0; i <v.size (); i ) {%> <p> FILE: <a href="downloads/<%out.print(V.Get (I) ); "> <% out.print (v.get (i));%> </a> </ p> < P> DECRIPTION: <% out.print (lb.get_file_description (Path "//" v.get (I)):" i / />> <hr width = "300"> <%} // for} // IF%> <strong> </ strong> </ body> </ html> The file structure of the entire application is as follows Downloads / Web-INF / Web.xml Downloads / Web-INF / CLASSES / P / FILES_LOOKUP.CLASS DownloadS / Downloads.jsp Downloads / Downloads You only need to put files to be downloaded into Downloads / Downloads when you use. Start Tomcat, click http://127.0.0.1/downloads/downloads.jsp You can access it.</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-13770.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="13770" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.032</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'qLfnnLHJxhrMRAOVrGGoV1r08HYYlAbys03Dejn2HverIFTBrMqnSWu36xqbLdNUhsCoyswZI0RUpIFVGJb2gA_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>