- 浏览: 409017 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
wcjagta:
...
dedecms插件开发教程 -
xc2013:
看起来不错 先下载来试试
ECSHOP完全静态化解决方法 -
greemranqq:
你好,我在xp 上做实验,也是JS css带不过来,关于 ro ...
nginx资源定向 css js路径问题 -
hotsmile:
表结构给出来吧,测试的提示说要注册,
中国移动CMPP短信开发平台通讯包 2.8 -
mengdejun:
gang80306176 写道这个插件怎么用和安装普通插件一样 ...
phpcms2008 sp4单网页编辑器插件
package org.whvcse.upload.impl; import java.io.Serializable; import javax.servlet.http.HttpServletRequest; /** * 文 件 名 : jsp文件上传下载<br> * * @author 孟德军 CopyRright (c) 2009: <a href='mak0000@msn.com'>mak0000</a> <br> * 文件编号: 20090526<br> * @version 1.0 <br> * 日 期: 2009.05.26 <br> * */ public interface Upload extends Serializable { /** * 上传 * @param request HttpServletRequest * @return 状态信息. * @throws Exception 运行异常 */ public boolean upLoad(HttpServletRequest request) throws Exception; /** * 释放系统资源. * @return 析构情况 * @throws Exception 运行异常. */ public boolean destory() throws Exception; public String toString(); /** * 获得最后一次错误信息 * @return 最后一次错误信息. */ public String getLastError(); /** * 上传,调用前必须先设置HttpServletRequest * @return 状态信息. * @throws Exception 运行异常 */ public boolean upload() throws Exception; /** * 启用上传日志 使用玩需调用destory()释放资源 * @param s 日志信息 * @return * @throws Exception */ public String server(String s) throws Exception; } package org.whvcse.upload; import java.io.BufferedOutputStream; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Vector; import javax.servlet.ServletInputStream; import javax.servlet.http.HttpServletRequest; import org.whvcse.upload.extend.Toolkit; import org.whvcse.upload.impl.Upload; /** * 文 件 名 : jsp文件上传下载<br> * * @author 孟德军 CopyRright (c) 2009: <a href='mak0000@msn.com'>mak0000</a> <br> * 文件编号: 20090526<br> * @version 1.0 <br> * 日 期: 2009.05.26 <br> * */ public class JspUpload implements Upload { private static final long serialVersionUID = 1L; private HttpServletRequest request = null; private BufferedWriter writer = null; /** * @see #fileSize 允许上传的文件大小 */ private long fileSize = 1024; /** * @see #fileName 文件名字 */ private String fileName = null; /** * @see #bufferSize 设置缓冲区的大小 */ private int bufferSize = 128; /** * @see #savePath 文件保存的路径 */ private String savePath = null; private int t = -1; /** * @see #check 文件约束 */ private String[] check = null; /** * @see #encoding 文件编码 */ private String encoding = "utf-8"; /** * @see #showErrorMessage 是否显示错误信息 */ private boolean showErrorMessage = true; private byte[] buffer = null; private String seperator = null; private boolean userDefineName = false; private String extendname; private Vector ErrorMessage = null; private long length = 0; private boolean isShowLog = false; public JspUpload() { } public JspUpload(String savepath) { this.savePath = savepath; } public JspUpload(HttpServletRequest request) { this.request = request; } public JspUpload(HttpServletRequest request, String path) { this.request = request; this.savePath = path; } public boolean isShowLog() { return isShowLog; } public void setShowLog(boolean isShowLog) { this.isShowLog = isShowLog; try { if (this.isShowLog) { writer = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(".//upload.log", true), System .getProperty("file.encoding"))); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } /** * @deprecated */ public boolean destory() throws Exception { if (writer != null) { writer.close(); } return true; } public boolean upLoad(HttpServletRequest request) throws Exception { boolean status = true; if (savePath == null) { errorMessage("未设置保存上传文件的路径!"); } /* * if (this.fileName == null) { this.fileName = setFileName(); } */ setRequest(request); status = execute(); return status; } private void errorMessage(String message) throws Exception { if (isShowLog) { server("Exception" + message); } if (showErrorMessage) { ErrorMessage = new Vector(); ErrorMessage.add(message); throw new Exception(message); } } public boolean upload() throws Exception { boolean status = true; /* * if (this.fileName == null) { this.fileName = setFileName(); } */ if (this.request == null) { errorMessage(this.request.toString() + "不能为空!"); return false; } else { status = execute(); } return status; } public String getFileName() { return fileName; } /** * 设置上传的文件名,若不设置此项,程序将自动分析文件获得文件名,建议设置<br> * eg: test.txt * * @param fileName * 文件名 */ public void setFileName(String fileName) { this.fileName = fileName; userDefineName = true; } public long getFileSize() { return fileSize; } /** * 设置文件允许上传文件大小,默认为1024 * * @param fileSize * 文件大小 */ public void setFileSize(long fileSize) { this.fileSize = fileSize * 1024; } public HttpServletRequest getRequest() { return request; } /** * * @param request * HttpServletRequest */ public void setRequest(HttpServletRequest request) { this.request = request; } public String getSavePath() { return savePath; } /** * 文件存储路径,必须设置此项. * * @param savePath * 文件存储路径,必须设置此项. */ public void setSavePath(String savePath) { this.savePath = savePath; } /** * * @return 返回约束数组. */ public String[] getCheck() { return check; } /** * 为上传文件添加约束,即不允许上传的文件类型<br> * eg:exe bmp * * @param s * 存放约束的字符串数组.若连续两次设置此项,将覆盖前一次设置.默认无. * @return 已有的约束的数目. */ public int addCheck(String[] s) { if (check == null) { check = s; } return check.length; } private boolean execute() throws Exception { FileOutputStream out = null; boolean status = true; try { buffer = new byte[bufferSize]; request.setCharacterEncoding(getEncoding()); // 获取流对象. ServletInputStream in = request.getInputStream(); // 获取一行标志. t = in.readLine(buffer, 0, buffer.length); if (t != -1) { seperator = new String(buffer, 0, t); seperator = seperator.substring(0, 28); t = -1; } // 扩展名.filename="f:\exercise\c++.cpp" do { t = in.readLine(buffer, 0, buffer.length); String s = new String(buffer, 0, t); int index = s.indexOf("filename=\""); if (index != -1) { s = s.substring(index + 10); // s=f:\exercise\c++.cpp" index = s.indexOf("\""); s = s.substring(0, index); String temp = s; if (!userDefineName) { this.fileName = Toolkit.parse(temp, true); // setFileName(Toolkit.parse(temp, false)); } // s=f:\exercise\c++.cpp index = s.lastIndexOf("."); extendname = s.substring(index); if (check != null) { for (int i = 0; i < check.length; i++) { if (extendname.equals("." + check[i])) { errorMessage("上传的文件不符合规范,请重新上传!"); break; } } } /* * if (!userDefineName) { this.fileName = this.fileName + * s.substring(index); // s=.cpp } */ t = -1; } } while (t != -1); int point = this.fileName.lastIndexOf("."); if (point != -1) { // 读取文件内容. out = new FileOutputStream(this.savePath + "\\" + this.fileName); } else { out = new FileOutputStream(this.savePath + "\\" + this.fileName + extendname); } t = in.readLine(buffer, 0, buffer.length); String s = new String(buffer, 0, t); int i = s.indexOf("Content-Type:"); if (i == -1) { errorMessage("上传的不是文件"); status = false; return status; } else { // 去掉一个空行. in.readLine(buffer, 0, buffer.length); t = -1; } long trancsize = 0; t = in.readLine(buffer, 0, buffer.length); while (t != -1) { s = new String(buffer, 0, t); if (s.length() > 28) { s = s.substring(0, 28); if (s.equals(seperator)) { break; } } if (fileSize != -1) { if (trancsize >= (getFileSize())) { File f = new File(this.savePath + "\\" + this.fileName + extendname); f.delete(); errorMessage("上传文件过大!"); } } out.write(buffer, 0, t); trancsize += t; t = in.readLine(buffer, 0, buffer.length); } length = trancsize; } catch (Exception e) { status = false; File f = new File(this.savePath + "\\" + this.fileName + extendname); f.delete(); errorMessage(e.getMessage()); } finally { if (status) { out.close(); } } if (isShowLog) { server(request.getRemoteAddr() + " upload " + this.savePath + "\\" + this.fileName); } return status; } public boolean isShowErrorMessage() { return showErrorMessage; } public void setShowErrorMessage(boolean showErrorMessage) { this.showErrorMessage = showErrorMessage; } public String getEncoding() { return encoding; } /** * 设置文件编码,可不设置. * * @param encoding * 文件编码. */ public void setEncoding(String encoding) { this.encoding = encoding; } /** * * @deprecated 该方法已废弃. */ private String setFileName() { Calendar dt = Calendar.getInstance(); String str = "" + dt.get(Calendar.YEAR) + dt.get(Calendar.MONTH) + dt.get(Calendar.DAY_OF_MONTH); str = str + dt.get(Calendar.HOUR) + dt.get(Calendar.MINUTE) + dt.get(Calendar.SECOND); return str; } public int getBufferSize() { return bufferSize; } /** * 设置程序缓冲区的大小. * * @param bufferSize * 缓冲区大小 */ public void setBufferSize(int bufferSize) { this.bufferSize = bufferSize; } public String getLastError() { String message = null; if (ErrorMessage == null) { message = null; } else { message = (String) ErrorMessage.get(0); ErrorMessage.remove(0); } return message; } public String toString() { return JspUpload.class.getName(); } /** * * @return 文件实际大小.KB */ public long length() { return length / 1024; } public String server(String s) throws Exception { writer.write(new Date().toString() + " "+s); writer.newLine(); return s; } }
package org.whvcse.upload.impl; import java.io.Serializable; import javax.servlet.http.HttpServletResponse; /** * 文 件 名 : jsp文件上传下载<br> * * @author 孟德军 CopyRright (c) 2009: <a href='mak0000@msn.com'>mak0000</a> <br> * 文件编号: 20090526<br> * @version 1.0 <br> * 日 期: 2009.05.26 <br> * */ public interface Download extends Serializable { /** * 释放系统资源. * @return 析构情况 * @throws Exception 运行异常. */ public boolean destory() throws Exception; /** * 执行下载方法. * @param response HttpServletResponse * @return 执行情况 * @throws Exception 运行异常 */ public boolean download(HttpServletResponse response) throws Exception; /** * 获得最后一次错误信息 * @return 最后一次错误信息. */ public String getLastError(); /** * * @return 程序名. */ public String toString(); /** * 启用下载日志,若启用日志选项,使用玩需调用destory()释放资源 * @param s 日志信息 * @return * @throws Exception */ public String server(String s) throws Exception; } package org.whvcse.download; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.util.Date; import java.util.Vector; import javax.servlet.http.HttpServletResponse; import org.whvcse.upload.extend.Toolkit; import org.whvcse.upload.extend.Toolkit2; import org.whvcse.upload.impl.Download; /** * 文 件 名 : jsp文件上传下载<br> * * @author 孟德军 CopyRright (c) 2009: <a href='mak0000@msn.com'>mak0000</a> <br> * 文件编号: 20090526<br> * @version 1.0 <br> * 日 期: 2009.05.26 <br> * */ public class JspDownload implements Download { private static final long serialVersionUID = 1L; /** * HttpServletResponse */ private HttpServletResponse response = null; /** * 文件路径 */ private String filepath = null; private FileInputStream in = null; /** * 文件名 */ private String fileName = null; /** * 文件类型 */ private String contentType = null; /** * 文件大小 */ private int sendSize = 128; /** * 配置文件路径.默认.//config//web.xml 设置Mime类型. */ private String configpath = ".//config//web.xml"; private BufferedWriter writer = null; private boolean showErrorMessage = true; /** * 错误信息. */ private Vector ErrorMessage = null; private boolean isShowLog = false; private boolean isSetConfig = false; private boolean isShowChinese = false; public JspDownload() { } /** * * @param s * 配置文件路径,该方法能解析配置文件,根据配置文件初始化各变量. * @return 配置文件信息。 */ public String load(String s) { return s; } public String getConfigpath() { return configpath; } public void setConfigpath(String configpath) { isSetConfig = true; this.configpath = configpath; } public JspDownload(String filepath, String mime) { this.filepath = filepath; this.contentType = mime; } public boolean isShowChinese() { return isShowChinese; } public void setShowChinese(boolean isShowChinese) { this.isShowChinese = isShowChinese; } public JspDownload(HttpServletResponse response) { this.response = response; } public JspDownload(HttpServletResponse response, String filepath, String mime) { this.response = response; this.filepath = filepath; this.contentType = mime; } /** * @deprecated */ public boolean destory() throws Exception { if (in != null) { in.close(); } if (writer != null) { writer.close(); } return true; } /** * 下载文件. */ public boolean download(HttpServletResponse response) throws Exception { if (this.response == null) { this.response = response; } if (this.filepath == null) { ErrorMessage("未设置文件的路径"); } /* * if (this.contentType == null) { String ct = * Toolkit.getContextType(this.filepath); if (ct != null) { * setContentType(ct); } else { ErrorMessage("未设置文件Mime类型"); } } */ String mime = null; try { mime = Toolkit2.getContextType(this.filepath, this.configpath); if (mime != null) { setContentType(mime); } else { ErrorMessage("未设置Content-Type"); } } catch (RuntimeException e) { ErrorMessage(e.getMessage()); } if (this.response == null) { ErrorMessage("HttpServletResponse初始化失败"); } return execute(); } /** * 下载文件.调用前必须设置HttpServletResponse */ public boolean download() throws Exception { if (this.filepath == null) { ErrorMessage("未设置文件保存路径"); } String mime = null; try { mime = Toolkit2.getContextType(this.filepath, this.configpath); if (mime != null) { setContentType(mime); } else { ErrorMessage("未设置Content-Type"); } } catch (RuntimeException e) { ErrorMessage(e.getMessage()); } if (this.response == null) { ErrorMessage("HttpServletResponse初始化失败"); } return execute(); } private boolean execute() throws Exception { boolean status = true; OutputStream out = response.getOutputStream(); byte[] buffer = new byte[this.sendSize]; File fileload = new File(this.filepath); // 客户端使用保存文件的对话框. if (this.fileName == null) { this.fileName = Toolkit.parse(this.filepath, true); } if (isShowChinese) { response.setHeader("Content-disposition", "attachment;filename=" + Toolkit2.toChinese(this.fileName)); } else { response.setHeader("Content-disposition", "attachment;filename=" + this.fileName); } // 设置Mime类型. response.setContentType(this.contentType); // 通知文件的长度. long fileLength = fileload.length(); String length = String.valueOf(fileLength); response.setHeader("Content_Length", length); // 读取文件. try { in = new FileInputStream(fileload); int n = 0; while ((n = in.read(buffer)) != -1) { out.write(buffer, 0, n); } out.flush(); } catch (RuntimeException e) { ErrorMessage(e.getMessage()); status = false; } finally { if (in != null) { in.close(); } if (out != null) { out.close(); } } if (isShowLog) { server(" down " + this.filepath); } return status; } /** * 返回最后一次发生错误的描述.<br> * * @see #getLastError() 返回最后一次错误的描述. */ public String getLastError() { String message = null; if (ErrorMessage == null) { return message = null; } else { message = (String) ErrorMessage.get(0); ErrorMessage.remove(0); } return message; } private void ErrorMessage(String message) throws Exception { if (isShowLog) { server("Exception" + message); } if (showErrorMessage) { ErrorMessage = new Vector(); ErrorMessage.add(message); throw new Exception(message); } } public String getFilepath() { return filepath; } /** * 设置文件路径.<br> * * @param filepath * 文件路径. */ public void setFilepath(String filepath) { this.filepath = filepath; } /** * @deprecated 返回文件Mime类型.<br> * @return 文件Mime类型. */ public String getMime() { return contentType; } /** * @deprecated 设置文件Mime类型.<br> * @param mime * 文件Mime类型. */ public void setMime(String mime) { this.contentType = mime; } public HttpServletResponse getResponse() { return response; } public void setResponse(HttpServletResponse response) { this.response = response; } /** * 异常是否已经显示. * * @return 异常是否已经显示. */ public boolean isShowErrorMessage() { return showErrorMessage; } /** * 是否显示异常信息.<br> * * @param showErrorMessage * 是否显示异常. */ public void setShowErrorMessage(boolean showErrorMessage) { this.showErrorMessage = showErrorMessage; } @Override public String toString() { return JspDownload.class.getName(); } public boolean isShowLog() { return isShowLog; } public void setShowLog(boolean isShowLog) { try { this.isShowLog = isShowLog; if (this.isShowLog) { writer = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(".//down.log", true), System .getProperty("file.encoding"))); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } public int getSendSize() { return sendSize; } public void setSendSize(int sendSize) { this.sendSize = sendSize; } public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } public String getContentType() { return contentType; } public void setContentType(String contentType) { this.contentType = contentType; } public String server(String s) throws Exception { writer.write(new Date().toString() + s); writer.newLine(); return s; } }package org.whvcse.upload.extend; /** * 文 件 名 : jsp文件上传下载<br> * * @author 孟德军 CopyRright (c) 2009: <a href='mak0000@msn.com'>mak0000</a> <br> * 文件编号: 20090526<br> * @version 1.0 <br> * 日 期: 2009.05.26 <br> * */ public class Toolkit { /** * * @param filename * 文件路径. * @param isshowextendname * 是否解析扩展名. * @return 文件名 */ public static String parse(String filename, boolean isshowextendname) { String name = null; int index = filename.lastIndexOf("."); int extendindex = filename.lastIndexOf("\\"); if (index != -1 && extendindex != -1) { if (isshowextendname) { name = filename.substring(extendindex + 1); } else { name = filename.substring(extendindex + 1, index); } } return name; } /** * * @param filename * 文件名 * @return Mime类型 */ public static String getContextType(String filename) { String file = parse(filename, true); String Mime = null; if (file != null) { if (file.lastIndexOf(".html") != -1 || file.lastIndexOf(".htm") != -1) { Mime = "text/html"; } if (file.lastIndexOf(".txt") != -1) { Mime = "text/plain"; } if (file.lastIndexOf(".gif") != -1) { Mime = "image/gif"; } if (file.lastIndexOf(".jpg") != -1 || file.lastIndexOf(".jpeg") != -1) { Mime = "image/jpeg"; } if (file.lastIndexOf(".tar") != -1) { Mime = "application/x-tar"; } if (file.lastIndexOf(".gz") != -1) { Mime = "application/x-gzip"; } if (file.lastIndexOf(".avi") != -1) { Mime = "video/x-msvideo"; } if (file.lastIndexOf(".mpg") != -1 || file.lastIndexOf(".mpeg") != -1) { Mime = "video/mpeg"; } if (file.lastIndexOf(".xml") != -1) { Mime = "text/xml"; } if (file.lastIndexOf(".css") != -1) { Mime = "text/css"; } if (file.lastIndexOf(".ttf") != -1) { Mime = "application/octet-stream"; } if (file.lastIndexOf(".pdf") != -1) { Mime = "application/pdf"; } if (file.lastIndexOf("zip") != -1) { Mime = "application/zip"; } } return Mime; } /** * * @param s * 需要转换的编码. * @return base64编码后的字符串. */ public static String Encode(String s) { String old = null; if (s == "" || s.equals("")) { old = ""; } try { old = new sun.misc.BASE64Encoder().encode(s.getBytes()); // old=new sun.misc.BASE64Decoder().decodeBuffer(arg0) } catch (Exception e) { e.printStackTrace(); } return old; } /** * * @param s * 需要转换的编码. * @return 解码后的字符串. */ public static String DeEncode(String s) { String old = null; if (s == "" || s.equals("")) { old = ""; } try { old = new String(new sun.misc.BASE64Decoder().decodeBuffer(s)); } catch (Exception e) { e.printStackTrace(); } return old; } } package org.whvcse.upload.extend; import java.io.UnsupportedEncodingException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; public class Toolkit2 extends Toolkit { /** * 自动从配置文件中解析文件所属的Mime类型. * * @param filename文件名 * @param path * 配置文件路径 * @return 解析后的Mime类型 * @throws Exception * 配置文件错误. */ public static String getContextType(String filename, String path) throws Exception { String Mime = null; String extension = null; if (filename.equals(null) || path.equals(null) || filename == "" || path == "") { throw new Exception("加载文件错误,文件名或配置文件路径不能为空,请检查配置文件!"); } int index = filename.lastIndexOf("."); extension = filename.substring(index + 1); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(path); NodeList list = document.getElementsByTagName("mime-mapping"); Element element = null; for (int i = 0; i < list.getLength(); i++) { element = (Element) list.item(i); // System.out.println(extension); // System.out.println(extension.equals("ai")); if (extension.equals(element.getElementsByTagName("extension") .item(0).getFirstChild().getNodeValue())) { Mime = element.getElementsByTagName("mime-type").item(0) .getFirstChild().getNodeValue(); break; } } return Mime; } /** * * @param source * 需要转换的字符串. * @return 中文编码. */ public static String toChinese(String source) { String newString = null; if (source == null) { newString = ""; } else { try { newString = new String(source.getBytes("UTF-8"), "GB2312"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } return newString; } /** * * @param source * 需要转换的字符串. * @param charset1 * 元编码 * @param charset2 * 新编码 * @return */ public static String charset(String source, String charset1, String charset2) { String newString = null; if (source == null) { newString = ""; } else { try { newString = new String(source.getBytes(charset1), charset2); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } return newString; } }
发表评论
-
java实现msn机器人 jml
2011-05-05 19:27 1581import net.sf.jml.MsnContact; ... -
使用LumaQQ来开发QQ机器人
2011-05-04 09:25 1804自从博客园闪存发布了Q ... -
Java 本地接口规范
2011-04-16 23:04 1199JNI是Java Native Interface的缩写,中 ... -
java 和 C++ Socket通信(java作为服务端server,C++作为客户端client,解决中文乱码问题GBK和UTF8)
2011-04-16 22:47 3619代码: http://files.cnblogs.com/ ... -
中国移动CMPP短信开发平台通讯包 2.8
2011-04-16 21:53 2710[size=x-small;]1 软件完全用JAVA开发,便于 ... -
HTML解析器 jsoup
2011-04-11 16:20 1031jsoup 是一款 Java 的HTML 解析器,可直接解析某 ... -
一个简单的文字加密解密类
2011-04-11 14:09 1216我们玩游戏神马的,在安装文件夹里或许会有一些TXT文件,但打开 ... -
谷歌遭甲骨文死磕 高斯林或成救世主?
2011-04-06 09:59 899被誉为Java之父的James Gosling,在从甲骨文高调 ... -
Jigloo
2011-03-25 19:13 1061Jigloo Jigloo 是一个 Eclipse ... -
基于java的网络抓包技术研究与实现
2011-03-25 18:57 1642一、实验内容描述本 ... -
Eclipse全屏插件
2011-03-21 21:55 1016下载地址 -
jsp java分页标签
2010-11-19 14:48 1546package org.whvcse.common; ... -
java之数据库缓存
2010-10-27 18:57 1728import java.io.File; import ja ... -
java 字体对话框
2010-10-21 20:30 1271package org.whsvc.font; 武汉软件 ... -
java servlet生成html
2010-10-17 12:31 8271package com.html; import jav ... -
java下载程序
2010-09-12 18:00 2147import java.io.BufferedInputStr ... -
jsp 上传下载配置文件
2009-10-11 21:51 1790<?xml version="1.0" ... -
java数据库连接池 V1.0
2009-10-11 21:37 2026package com.mdj.dmdatabase.test ... -
java 纯Socket发送邮件
2009-10-11 21:32 1528import java.io.*; import java. ... -
jdbc读写Excel源代码
2009-10-11 21:29 4262package com.mysql.odbc; import ...
相关推荐
jspsmartupload jsp smartupload 上传下载源代码及实例jspsmartupload jsp smartupload 上传下载源代码及实例
这个项目标题“关于JSP文件上传下载源代码”表明我们将讨论如何在JSP环境中实现文件上传和下载的功能。 首先,我们需要理解JSP文件上传的基本流程。通常,文件上传是通过HTML表单完成的,表单中包含一个`...
"jsp文件上传源代码"这个标题表明我们正在讨论如何在JSP中实现文件上传的功能,这在很多web应用中是必不可少的,例如用户提交个人资料时上传头像,或者在企业系统中上传文档等。 文件上传功能通常涉及到HTTP协议中...
简单 JSP 文件上传 源代码 smartupload 简单 JSP 文件上传 源代码 smartupload 简单 JSP 文件上传 源代码 smartupload 简单 JSP 文件上传 源代码 smartupload
jsp上传的实现其实很简单,把这里的代码粘到用到的地方就OK啦。
在这个源代码中,Controller是处理文件上传和下载的核心组件。 2. **MultipartFile接口**:这是Spring MVC提供的一个接口,用于处理文件上传。在表单提交时,可以将文件字段声明为MultipartFile类型,Spring MVC会...
**JSpsmart下载上传源代码详解** JSpsmart是一款针对Java Web开发的文件上传和下载组件,它提供了简单易用的API,可以帮助开发者快速实现文件的上传和下载功能。这个组件特别适合那些需要处理大量文件交互的Web应用...
【JSP上传文件实例源代码详解】 在Java服务器页面(JSP)中实现文件上传功能是一项常见的需求,尤其是在开发Web应用程序时。这个“jsp上传实例源代码”提供了一个实际操作的例子,展示了如何允许用户从他们的计算机...
通过以上分析可以看出,该示例代码提供了一个简单的文件下载功能实现方案,使用JSP结合SmartUpload插件来完成。这种方法不仅易于实现,而且具有较高的灵活性和可扩展性。对于需要快速添加文件下载功能的项目来说,这...
【标题】"jsp上传下载文件源代码,通过struts.xml控制在100M以内"涉及的核心技术主要包括JSP(JavaServer Pages)、Struts框架以及文件上传与下载的处理。Struts是Apache软件基金会的一个开源项目,它为Java Web应用...
【JSP文件管理源代码】是一个基于Java Web技术的项目,主要使用了JSP(JavaServer Pages)作为前端展示和Servlet进行服务器端处理。这个项目的核心功能是提供一个文件管理系统,用户可以进行文件的上传、下载、查看...
本资源"15个JSP项目实例技术源代码"提供了一系列实际应用场景的JSP项目示例,对于学习和掌握JSP技术具有很高的参考价值。 ### JSP基础知识 1. **JSP语法结构**:JSP页面由静态内容(HTML、CSS、JavaScript)和动态...
本教程将深入讲解如何在JSP中实现视频文件的上传功能,并提供相关的源代码供学习和参考。 一、JSP文件上传基础 在JSP中进行文件上传,通常我们会用到Servlet和Apache的Commons FileUpload库。Servlet是Java Web应用...
总结来说,简单的文件上传JSP源代码包括前端HTML表单、后端JSP处理逻辑以及必要的服务器配置。通过理解这一过程,开发者可以创建一个基础的文件上传系统,满足用户上传文件的需求。在实际项目中,还需要考虑安全性、...
这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`<input type="file">`...
在这个"struts1.2 图片上传下载 源代码"中,我们可以学习到如何利用Struts1.2框架来实现这一功能。 首先,我们需要了解Struts1.2中的ActionForm类。ActionForm是模型层与控制器层之间的桥梁,用于接收和封装用户的...
### JSP文件下载实现原理与源代码解析 #### 背景介绍 在Web开发过程中,经常需要处理文件上传和下载的功能。对于Java Web开发者来说,利用JSP(JavaServer Pages)来实现文件的下载是一种常见的方式。本文将详细...
【标题】"jsp留言板源代码.rar"所涉及的知识点主要集中在Java Server Pages(JSP)技术上,这是一个基于Java的动态网页开发技术。通过这个压缩包,我们可以学习到如何使用JSP来创建一个简单的在线留言板系统。以下是...
【标题】"7个JSP小项目源代码和笔记资料汇总源码整理"涉及的是Java Web开发中的一个重要技术——JSP(JavaServer Pages),它是一种动态网页开发技术,结合了HTML、JavaScript和Java代码,用于构建服务器端的交互式...
- Chapter11和Chapter12可能涉及到了MVC(Model-View-Controller)设计模式,JSP自定义标签,或者更高级的话题,如使用Servlet和JSP进行会话管理、异常处理和文件上传下载。 每个章节的HTML文件可能包含了详细的...