package com.util;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
public class SmartUpload
{
protected byte m_binArray[];
protected HttpServletRequest m_request;
protected HttpServletResponse m_response;
protected ServletContext m_application;
private int m_totalBytes;
private int m_currentIndex;
private int m_startData;
private int m_endData;
private String m_boundary;
private long m_totalMaxFileSize;
private long m_maxFileSize;
private Vector m_deniedFilesList;
private Vector m_allowedFilesList;
private boolean m_denyPhysicalPath;
//private boolean m_forcePhysicalPath;
private String m_contentDisposition;
public static final int SAVE_AUTO = 0;
public static final int SAVE_VIRTUAL = 1;
public static final int SAVE_PHYSICAL = 2;
private SmartFiles m_files;
private SmartRequest m_formRequest;
public SmartUpload()
{
m_totalBytes = 0;
m_currentIndex = 0;
m_startData = 0;
m_endData = 0;
m_boundary = ""; //new String();
m_totalMaxFileSize = 0L;
m_maxFileSize = 0L;
m_deniedFilesList = new Vector();
m_allowedFilesList = new Vector();
m_denyPhysicalPath = false;
//m_forcePhysicalPath = false;
m_contentDisposition = ""; //new String();
m_files = new SmartFiles();
m_formRequest = new SmartRequest();
}
/**
* @deprecated Method init is deprecated
*/
public final void init(ServletConfig servletconfig) throws ServletException
{
m_application = servletconfig.getServletContext();
}
/**
* @deprecated Method service is deprecated
*/
public void service(HttpServletRequest httpservletrequest,HttpServletResponse httpservletresponse) throws ServletException,IOException
{
m_request = httpservletrequest;
m_response = httpservletresponse;
}
public final void initialize(ServletConfig servletconfig,HttpServletRequest httpservletrequest,HttpServletResponse httpservletresponse) throws ServletException
{
m_application = servletconfig.getServletContext();
m_request = httpservletrequest;
m_response = httpservletresponse;
}
public final void initialize(PageContext pagecontext) throws ServletException
{
m_application = pagecontext.getServletContext();
m_request = (HttpServletRequest)pagecontext.getRequest();
m_response = (HttpServletResponse)pagecontext.getResponse();
}
/**
* @deprecated Method initialize is deprecated
*/
public final void initialize(ServletContext servletcontext,HttpSession httpsession,HttpServletRequest httpservletrequest,HttpServletResponse httpservletresponse,JspWriter jspwriter) throws ServletException
{
m_application = servletcontext;
m_request = httpservletrequest;
m_response = httpservletresponse;
}
public void upload() throws ServletException,IOException,SmartUploadException
{
int i = 0;
//boolean flag = false;
boolean flag1 = false;
//boolean flag2 = false;
long l = 0L;
//String s = "";//new String();
//String s2 = "";//new String();
String s4 = ""; //new String();
String s5 = ""; //new String();
String s6 = ""; //new String();
String s7 = ""; //new String();
String s8 = ""; //new String();
String s9 = ""; //new String();
String s10 = ""; //new String();
m_totalBytes = m_request.getContentLength();
m_binArray = new byte[m_totalBytes];
int j;
for(;i < m_totalBytes;i += j)
{
try
{
m_request.getInputStream();
j = m_request.getInputStream().read(m_binArray,i,m_totalBytes - i);
}
catch(Exception exception)
{
throw new SmartUploadException("Unable to upload.");
}
}
for(;!flag1 && m_currentIndex < m_totalBytes;m_currentIndex++)
{
if(m_binArray[m_currentIndex] == 13)
{
flag1 = true;
}
else
{
m_boundary = m_boundary + (char)m_binArray[m_currentIndex];
}
}
if(m_currentIndex == 1)
{
return;
}
for(m_currentIndex++;m_currentIndex < m_totalBytes;m_currentIndex = m_currentIndex + 2)
{
long now=new java.util.Date().getTime();
String s1 = getDataHeader();
m_currentIndex = m_currentIndex + 2;
boolean flag3 = s1.indexOf("filename") > 0;
String s3 = getDataFieldValue(s1,"name");
if(flag3)
{
s6 = getDataFieldValue(s1,"filename");
s4 = now+getFileName(s6);
s5 = getFileExt(s4);
s7 = getContentType(s1);
s8 = getContentDisp(s1);
s9 = getTypeMIME(s7);
s10 = getSubTypeMIME(s7);
}
getDataSection();
if(flag3 && s4.length() > 0)
{
if(m_deniedFilesList.contains(s5))
{
throw new SecurityException("The extension of the file is denied to be uploaded (1015).");
}
if(!m_allowedFilesList.isEmpty() && !m_allowedFilesList.contains(s5))
{
throw new SecurityException("The extension of the file is not allowed to be uploaded (1010).");
}
if(m_maxFileSize > 0L && (long)((m_endData - m_startData) + 1) > m_maxFileSize)
{
throw new SecurityException("Size exceeded for this file : " + s4 + " (1105).");
}
l += (m_endData - m_startData) + 1;
if(m_totalMaxFileSize > 0L && l > m_totalMaxFileSize)
{
throw new SecurityException("Total File Size exceeded (1110).");
}
}
if(flag3)
{
SmartFile file = new SmartFile();
file.setParent(this);
file.setFieldName(s3);
file.setFileName(s4);
file.setFileExt(s5);
file.setFilePathName(s6);
file.setIsMissing(s6.length() == 0);
file.setContentType(s7);
file.setContentDisp(s8);
file.setTypeMIME(s9);
file.setSubTypeMIME(s10);
if(s7.indexOf("application/x-macbinary") > 0)
{
m_startData = m_startData + 128;
}
file.setSize((m_endData - m_startData) + 1);
file.setStartData(m_startData);
file.setEndData(m_endData);
m_files.addFile(file);
}
else
{
String s11 = new String(m_binArray,m_startData,(m_endData - m_startData) + 1);
m_formRequest.putParameter(s3,s11);
}
if((char)m_binArray[m_currentIndex + 1] == '-')
{
break;
}
}
}
p
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
《计算机毕业设计:Java实现的校园订餐系统》是一套全面而实用的计算机毕业设计资源,专为本科课程设计、毕业设计以及Java学习者量身打造。该资源不仅包含了完整的源码和数据库文件,还附赠了专业的计算机答辩PPT模板,为用户提供了从项目设计到答辩展示的全方位支持。 在源码方面,校园订餐系统采用Java编程语言进行开发,确保了系统的稳定性和高效性。源码设计合理,逻辑清晰,实现了用户注册登录、菜品浏览、购物车管理、订单结算等功能,为校园内的学生和教职工提供了一个方便快捷的在线订餐平台。通过研读源码,用户可以深入了解Java Web开发的核心技术,包括数据库操作、前后端交互、用户认证等关键方面。 数据库文件则是系统稳定运行的关键所在。该数据库设计合理,包含了用户信息、菜品信息、订单数据等关键内容,确保了数据的准确性和完整性。同时,数据库操作也经过优化,保证了系统的响应速度和数据处理能力。 附赠的计算机答辩PPT模板则为用户提供了一个展示毕业设计成果的专业平台。模板设计精美,内容丰富,包含了系统介绍、功能展示、技术实现等多个方面,能够帮助用户在答辩中更好地展示自己的学习成果和实践能力。
资源推荐
资源详情
资源评论
收起资源包目录
计算机毕业设计:Java实现的校园订餐系统(源码+数据库),保证可靠运行,附赠计算机答辩PPT模板 (725个子文件)
class_upload.asp 6KB
class_upload.asp 6KB
commands.asp 5KB
upload.asp 3KB
connector.asp 3KB
io.asp 2KB
basexml.asp 2KB
config.asp 2KB
config.asp 2KB
util.asp 1KB
io.asp 836B
connector.aspx 1KB
upload.aspx 1KB
DBO.java.bak 3KB
DBO.java.bak 3KB
connector.cfm 11KB
spellchecker.cfm 6KB
upload.cfm 6KB
config.cfm 3KB
config.cfm 3KB
connector.cgi 4KB
SmartUpload.class 16KB
MemberBean.class 13KB
AfficheBean.class 12KB
MemberManageBean.class 12KB
NewsBean.class 11KB
HzpBean.class 10KB
GuestBookBean.class 9KB
NewsServlet.class 8KB
NewsAction.class 7KB
AdminBean.class 7KB
MemberAction.class 7KB
AdminAction.class 6KB
SmartFile.class 6KB
GuestBookAction.class 5KB
MemberManageAction.class 4KB
AfficheAction.class 4KB
LoginAction.class 4KB
CommonAction.class 4KB
FriendLinkBean.class 3KB
HzpAction.class 3KB
DBO.class 3KB
HzpsAction.class 3KB
DBO.class 2KB
SystemBean.class 2KB
Common.class 2KB
SmartRequest.class 2KB
SmartFiles.class 2KB
Log.class 1KB
MD5.class 1KB
Filter.class 936B
CheckCode.class 887B
Constant.class 674B
SmartUploadException.class 364B
.classpath 1KB
org.eclipse.wst.jsdt.ui.superType.container 49B
css.css 10KB
fck_editor.css 8KB
fck_editor.css 8KB
fck_editor.css 8KB
Admin_Style.css 6KB
Admin_Style.css 6KB
style.css 4KB
style.css 4KB
fck_internal.css 2KB
fck_dialog.css 2KB
fck_dialog.css 2KB
fck_dialog.css 2KB
fck_editorarea.css 2KB
browser.css 2KB
fck_dialog_common.css 2KB
fck_showtableborders_gecko.css 1KB
spellerStyle.css 888B
default.css 463B
abcd.gif 39KB
abc.gif 30KB
MainBg.gif 25KB
MainBg.gif 25KB
fck_strip.gif 9KB
girl.gif 7KB
boy.gif 6KB
fck_strip.gif 4KB
fck_strip.gif 4KB
5.gif 4KB
4.gif 3KB
8.gif 3KB
11.gif 2KB
Key.gif 2KB
logo_fckeditor.gif 2KB
6.gif 2KB
10.gif 2KB
7.gif 2KB
zhuce.gif 2KB
Title.gif 2KB
1.gif 2KB
qq_22.gif 2KB
qq_22.gif 2KB
Title.gif 2KB
htm.gif 1KB
html.gif 1KB
共 725 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
- 2301_790765432024-03-28资源很实用,对我启发很大,有很好的参考价值,内容详细。
小新要变强
- 粉丝: 2w+
- 资源: 539
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功